Linux on the HP EliteBook 1030 G1
Linux on the HP EliteBook 1030 G1
This page is about my linux setup on the HP EliteBook 1030 G1.
I am running KDE NEON (basically Ubuntu 16.04 with a ppa for everything cute) on a 1030 with an m7, 16GB of ram and the touchscreen configuration, whatever the exact model code may be.
The setup requires a bit of customization for a smooth experience, but it’s worth it and not too hard.
The Good
Everything I care about runs great, battery life is better than at my friend’s exact same 1030 G1 running the stock Windows 10. The only things I haven’t checked, as I don’t care about it, are the fingerprint reader, NFC and the built-in trusted computing module thingy.
The Bad
One fn key does not work due to an acpi bug in the bios, at least with kernel 4.14:
- fn + f8, Microphone off/on
I solved the issue by mapping the functionality to windows + the corresponding f-key
The Ugly
Nothing, really. I’m very happy with the device itself and the whole setup.
Curstomization
As mentioned, the setup requires a bit of customization:
Touchscreen
In order for the touchscreen to work properly I explicitly set the acpi osi in the grub configuration. I am not 100% sure if that is still required.
So, this is my GRUB_CMDLINE_LINUX_DEFAULT
in /etc/default/grub
.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux"
Touchpad
The 1030 sports an ALPS GlidePoint touchpad. Per default, the hid-generic driver is bound to the device after it boots, which is very cumbersome and doesn’t support proper setup (acceleration, velocity, …) of the touchpad.
After a suspend/wackeup cycle, the correct psmouse driver is bound to the touchpad. I don’t undersand this behavior, but I accept it..
I resolved the issue by unbinding the hid-generic driver and rebinding the
psmouse driver by adding this to /etc/rc.local
:
# Rebind the touchpad with the psmouse driver
echo 0018\:044E\:120C.0002 >/sys/bus/hid/drivers/hid-generic/unbind
echo serio3 >/sys/bus/serio/drivers/psmouse/unbind
echo serio3 >/sys/bus/serio/drivers/psmouse/bind
Power management
As the 1030 is a passively cooled system, does not have the biggest of all bateries and is still supposed to be a highly mobile device, a proper power management setup is crucial.
Besides installing tlp (sudo apt-get install tlp
), I installed and set up the
Intel Dynamic Platform and Thermal Framework (dptf):
After installing the prerequisites, the source code of the dptf can be cloned from git@github.com:intel/dptf.git
sudo apt-get install git cmake build-essential cmake libreadline6 libreadline6-dev
git clone git@github.com:intel/dptf.git
Then, a few steps have to be performed, as can be read in the README.txt
of
the dptf. Not very comfortable, so I wrote a script which automizes the
process. I could have packaged dptf, but I didn’t want to struggle with
licenses and packaging and blerg. And creating a proper deb package is
harder than writing a bash script, and I don’t know if anybody would even want
to use it (is anybody even reading this?) and I was tired and meh.
The script is available as gist and can be run from the dptf root. Running the script with the -h
option shows you everything you need to know, -bi
builds and installs dptf, -r
removes dptf.
Feel free to do this in the dptf root:
wget https://gist.githubusercontent.com/gierdo/05503381f26dcd3556c4fd1661db1545/raw/b643b1f19d11550d8a184ceb5837d9d56364ab3f/manage_dptf.sh
chmod +x manage_dptf.sh
./manage_dptf.sh --build --install
WIFI with USB
I had the issue that USB 3 devices had major interferences with 2.4 GHz WIFI connections. This is not an issue of the 1030 as such, but I never had the issue before.
The result was a failing WIFI connection with messages of firmware errors and requested hardware restarts, whenever a USB 3 thumbdrive was attached.
I resolved the issue by disabling the iwlwifi module’s watchdog, which doesn’t resolve the interference issue (that’s a physical issue due to the frequencies used by the USB controller and the WIFI, as well as non-optimum EMC design), but it resolves the issue of hardware restarts and failing WIFI connections.
Edit /etc/modprobe.d/iwlwifi.conf
and add the following option to the module:
options iwlwifi wd_disable=1
Leave a comment