Debian GNU/Linux on Lenovo B51-30
About Debian GNU/Linux on Lenovo B51-30
Introduction
I bought new laptop recently and I would like to share my experience with using Debian GNU/Linux on this hardware.
I'm using Debian jessie, i.e. the stable distribution of Debian at the time of this writing, but I had to upgrade some packages to more recent versions from the testing distribution with codename stretch. First of all the kernel and its firmware packages and the XOrg X server so that all important drivers became present.
Why I've chosen this laptop
I tried to narrow the list of candidate laptops by searching all brands for my criteria and Lenovo B51-30 offered everything I needed for a reasonable price. Moreover, I didn't have to pay for the operating system and that made this option even cheaper.
I wasn't sure with Linux compatibility of this hardware and I therefore decided to try it by myself. Firstly, I know that Lenovo laptops are well supported by Linux distributions. Secondly, I paid a small amount of money to be able to return the purchased goods within two months without any reason. But that wasn't necessary.
Hardware specification and compatibility with Debian jessie
Quick specification
type | Lenovo B51-30 | |
---|---|---|
processor | Intel Pentium Quad Core N3700 | works fine |
memory | 4GB DDR3L SDRAM | works fine |
hard disk | Seagate ST500LM000-SSHD-8GB | works fine |
DVD-RW drive | HL-DT-ST DVDRAM GUC0N | works fine |
video adapter | Intel HD graphics | works fine |
sound card | Intel HD audio | works fine |
Ethernet card | Realtek RTL8111/8168/8411 | works fine |
Wireless card + Bluetooth | Intel Dual Band Wireless AC 3160 | wifi works fine, bluetooth not tested |
webcam | Lenovo EasyCamera | works fine |
touchpad | Elan/Synaptics touchpad | works fine |
fingerprint reader | Validity Sensors VFS5011 | not tested |
ports | 2xUSB 3.0, 1xUSB 2.0 | work fine |
VGA | works fine | |
HDMI | works fine | |
Combo Audio Jack | works fine | |
RJ-45 | works fine | |
AC power | works fine | |
slots | Media card reader | works fine |
Processor
Intel Pentium Quad Core N3700 Braswell
Base/Burst frequency: 1.60/2.40 GHz
2MB L2 cache
4 cores, 4 threads (HT alias hyper-threading disabled)
64-bit support (EM64T extension also called as Intel 64)
Enhanced Intel Speedstep
Hardware virtualization VT-x
The processor is a 64-bit processor for the amd64 Debian port and it is thus compatible with the older 32-bit i386 port as well. It contains 4 cores and doesn't support hyper-threading which means that the operating system displays 4 CPU units as well. The Enhanced Intel Speedstep technology that allows CPU frequency scaling based on CPU load can be customized by configuring the cpufreq subsystem. You need to ensure that the acpi-cpufreq and chosen governor kernel modules are used. I'm using the conservative governor that gradually changes the CPU frequency depending on the CPU load. This governor is fully implemented in the kernel by the cpufreq-conservative module. If you install the cpufrequtils package, the cpufreq kernel modules are loaded automatically and the default governor is set to ondemand. If you want to change it to conservative, add the following line into the file /etc/default/cpufrequtils
:
GOVERNOR=conservative
If you plan to use KVM, VirtualBox or other virtualization, you need to enable it in the BIOS. Simply enable Intel Virtual Technology in the Configuration section.
Memory
4GB DDR3L SDRAM
1600 MHz
2 memory channels (1 occupied)
8GB max memory size
No additional configuration needs to be done on the 64-bit Debian amd64 architecture. However, the older 32-bit i386 Debian port allows to see maximally 3GB of RAM. If you want to use more memory, you need to install new kernel that has PAE enabled, e.g. the Debian jessie stock kernel linux-image-3.16.0-4-686-pae.
Hard disk
Seagate ST500LM000-SSHD-8GB
500GB (8GB SSD)
SATA 3.1
5400 rpm
512 bytes per logical sector, 4096 bytes per physical sector
kernel driver module: ahci
The disk operates in the AHCI SATA mode and no special configuration changes are needed. The ahci kernel module is loaded by default and it is part of the initrd image as well, so that the root filesystem can be mounted during the boot process.
DVD-RW drive
HL-DT-ST DVDRAM GUC0N
kernel driver module: ahci
The DVD-RW drive operates in the AHCI SATA mode as the SATA hard disk.
Video adapter
Intel HD Graphics
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller
8GB max memory
kernel driver module: i915
Xorg driver module: intel
The default drivers in Debian jessie are able to operate just in the text mode, no graphics is displayed because the X server doesn't start. Luckily, it's sufficient to upgrade the kernel (including kernel firmware) and X server packages plus their dependencies to newer versions from Debian stretch, which is the testing distribution at the time of this writing.
This can be accomplished by editing /etc/apt/sources.list
to:
deb http://ftp.cz.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.cz.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://security.debian.org/ stretch/updates main contrib non-free
deb http://ftp.cz.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://ftp.cz.debian.org/debian/ stretch-updates main contrib non-free
And by running the following commands:
apt-get update
apt-get install linux-image-4.5.0-2-amd64
apt-get install firmware-linux-free firmware-linux-nonfree firmware-realtek firmware-iwlwifi
apt-cache search xserver-xorg | awk '{print($1);}' | xargs apt-get -y install
Don't forget to reconfigure /etc/apt/sources.list
to the original state and then invoke apt-get update
again.
Even if the XOrg X server is able to start after upgrading both the kernel and X server drivers, one more configuration change is recommended because the default XOrg driver used is the generic VESA driver instead of the Intel driver that is more specific and therefore more suited to the video adapter. Let's just create simple XOrg configuration file /etc/X11/xorg.conf
:
Section "Device"
Identifier "Intel"
Driver "intel"
EndSection
And restart the X server. Other XOrg settings are auto-detected. If you want to be sure which drivers are used by XOrg, take a look into the XOrg log.
Sound card
Intel HD audio
kernel driver module: snd-hda-intel
The on-board Intel sound card works fine with ALSA.
Ethernet card
Realtek RTL8111/8168/8411
10/100/1000 Mbps
kernel driver module: r8169
This network adapter for wired Ethernet connection works reliably. It requires one non-free firmware package firmware-realtek from the non-free section of the Debian archive to be installed - ideally from the same distribution from which the stock kernel comes from, i.e. from stretch if you installed the video adapter according the instructions above.
Wireless card + Bluetooth
Intel Dual Band Wireless AC 3160
IEEE 802.11ac, a/b/g, n
2.4/5 GHz
Integrated Bluetooth
kernel driver module (wifi): iwlwifi
kernel driver module (bluetooth): btusb
I'm using the wireless Intel network adapter as the main network adapter most often and it works perfectly. Its non-free firmware is missing in the free kernel package and it should therefore be installed from the non-free section of the Debian archive in the same way as the kernel itself - ideally from the same distribution. The package is called firmware-iwlwifi.
I haven't tested Bluetooth, but the kernel loads the driver btusb automatically for this wireless adapter.
Webcam
Lenovo EasyCamera
kernel driver module: uvcvideo
The integrated camera works. I'm not using it very often, but I'm not aware of any issues.
Touchpad
Elan/Synaptics touchpad
kernel driver module: psmouse
The touchpad works by default, but you need to specify additional options to emulate the middle button click by pressing the left and right mouse/touchpad buttons simultaneously. Simply edit /etc/X11/xorg.conf
and add the following section:
Section "InputClass"
Identifier "middle button"
MatchIsPointer "on"
MatchDriver "libinput"
Option "MiddleEmulation" "on"
EndSection
The emulation should start working after XOrg restart.
There's another option how to emulate the middle and/or right button click by pressing chosen keys. This can be accomplished by using the mouseemu package. Install it and edit its configuration file /etc/default/mouseemu
, e.g.:
MID_CLICK="-middle 0 87" # F11 without modifier
RIGHT_CLICK="-right 0 88" # F12 without modifier
Don't forget to restart mouseemu, e.g.:
service mouseemu restart
Fingerprint reader
Validity Sensors VFS5011 Fingerprint Reader
kernel driver module: uinput
Not tested. I rely on the strength of my password.
However, if you want to try this authentication method, you can start with the fprintd and libpam-fprintd packages.
Ports
2xUSB 3.0, 1xUSB 2.0
VGA
HDMI
Combo Audio Jack
RJ-45
AC power
All the listed ports work without problems.
Slots
Media card reader
The media card reader operates correctly.
Summary of the compatibility with Debian jessie
All the devices I use work without problems under Debian and most of them under jessie. However, the video adapter drivers had to be installed from Debian stretch, which is the testing distribution now.
Some subsystems need additional non-free packages from the non-free section of the Debian archive, namely the Ethernet and WiFi cards. And some need additional configuration.
The video adapter works with the generic XOrg VESA driver with the automatically detected configuration after both the kernel and XOrg drivers are installed. If you want to use the Intel driver specific for this adapter, you need to add some XOrg configuration.
If you want to emulate the middle touchpad button click, you either need to install and configure the mouseemu package or adjust XOrg configuation file again.
I haven't tested Bluetooth and the fingerprint reader. All other equipment is working fine.
Inserted: | 2016-10-04 22:58:00 |
Last updated: | 2016-10-04 22:58:00 |