Linux on the HP Stream 11 (N3060)

I recently had to retire my EeePC as the 32 bit CPU was starting to piss me off. I found myself three drinks down trying to fix someone’s really shithouse C++ to get it to compile on 32 bit Linux and then had to go have a lie down and think seriously about how my life got to this point. $200 USD later I have a bonzer new 64 bit netbook and get to repress those memories.

Specifications:

  • Intel Celeron N3060, 1.6GHz dual-core
  • 4 GB DDR3L SDRAM
  • 32 GB eMMC
  • 11.6" diagonal 1366x768 anti-glare TN LCD
  • Intel Corporation Wireless 7265 802.11 A/C
  • 1 USB 2.0 & 1 USB 3.0 port, Headphone jack, MicroSD, HDMI
  • Kensington lock slot
  • Weight 2.74 lbs
  • Battery Life: Fucking. Forever.

I wanted something small and really light with long battery life so I can sit down at the coffee shop sipping lattes with all the Apple yuppies on their expensive slabs of aluminum. I’m not fucking jealous. I went the HP Stream 11 as I like the wireless chipset and a cursory google suggested that as cheap shitty laptops go it’s fairly Linux compatible. Also I kind of like the baby blue. Shut up.

The keyboard is pretty nice to type on although the build quality is fucking appalling. Even though it has little rubber feet it doesn’t sit flat and wobbles slightly when I type. It is at least cool and quiet which surprises me since I’m pretty sure there’s a reactor in here supplying the up to 12 hours battery life I’m getting. The display is bad. Really fucking bad. I try not to think about it or look at other people’s MacBooks with their fancy ‘greater than 1% colour gamut’ displays. Still not jealous mate. Stop asking.

In honor of the CPU quality I have named it ‘potato’.

I eradicated the Windows install without giving it a chance to draw breath. You may want to instead create an install USB in case you want to put Windows back on to sell it or something. Or because you’re a wuss. If you do create an install USB test booting it to make sure it actually works then label it and put it somewhere safe.

I went with Linux Mint Mate edition because fuck Unity. I’m too old for that shit. It’s also one of the few *buntu derived distributions that include kpartx and lvm2 in the installer meaning it actually fucking works. I found I needed to hammer esc on startup to get in to the boot menu. F9 to select boot devices and there was my Linut Mint EFI USB. I left secure boot on and you should too.

In the installer it will ask if you want to install third party drivers. There are none required for flawless operation. Don’t tick that box so secure boot does not need to be disabled. I chose encrypted LVM because no-one wants their laptop stolen and all their ‘home videos’ ending up on YouTube. No-one needs to see that shit. Seriously, I don’t want to see that. I thought I still had safe search on.

Once it was all set up I was partying like it was 2009 and Gnome was still Gnome except I had power management and suspend and resume and shit. According to reviews the touchpad works really nicely under Windows. This isn’t fucking Windows. It’s borderline impossible to type without your palm moving the cursor and selecting and inserting text everywhere. We can change the sensitivity settings using xinput — specifically by tuning the settings FingerLow and FingerHigh. I swear the fucking devices change identification number every time you reboot. Either that or I should drink less.

These instructions will work on any modern Ubuntu derived distribution.

Check which one correlates to the touchcrap.

unit-0xbcd@potato ~ $ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=10 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Logitech USB Receiver id=9 [slave keyboard (3)]
↳ HP Webcam id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ HP WMI hotkeys id=14 [slave keyboard (3)]
↳ HP Wireless hotkeys id=15 [slave keyboard (3)]

This time it’s decided to be 13. Let’s check the id for the setting we want to change.

unit-0xbcd@potato ~ $ xinput list-props 13 | grep Finger
Synaptics Finger (295): 32, 35, 0
Synaptics Two-Finger Pressure (301): 40
Synaptics Two-Finger Width (302): 8
Synaptics Two-Finger Scrolling (305): 1, 0

We can see the setting we are looking to change has the id 295. Our command line then looks like the following:

unit-0xbcd@potato ~ $ xinput set-prop 13 295 40 45 0

Slowly increment the values for FingerLow and FingerHigh until you can type without your palm fucking everything up and making you go crook and throw the fucking laptop over the balcony. The last value in that line is for FingerPress which we don’t need to fuck with. I ended up with these values but your milage may vary. When you get a setting you like make it permanent as this shit gets expensive in new netbooks.

Create a new file at /usr/share/X11/xorg.conf.d/70-synaptics.conf and populate it with the following contents.


unit-0xbcd@potato ~ $ sudo vi /usr/share/X11/xorg.conf.d/70-synaptics.conf
Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
Option "TapButton1" "1"
Option "TapButton2" "3"
Option "TapButton3" "2"
Option "VertEdgeScroll" "off"
Option "VertTwoFingerScroll" "on"
Option "HorizEdgeScroll" "off"
Option "HorizTwoFingerScroll" "off"
Option "CircularScrolling" "off"
Option "CircScrollTrigger" "2"
Option "EmulateTwoFingerMinZ" "40"
Option "EmulateTwoFingerMinW" "8"
Option "CoastingSpeed" "0"
Option "FingerLow" "40"
Option "FingerHigh" "45"
Option "MaxTapTime" "125"
EndSection

This will apply your settings every time the graphical interface starts. You can check up on that shit by using the commands above to see what the current settings are for Synaptics Finger.

Now I can type without going spare the next problem is the laptop backlight. If I go and echo random shit into /sys the backlight changes instantly so the support is there but using the hotkeys is fucked. We can append some other random shit to our boot options to fix this situation and stop the balcony looking like a good option again.

Edit /etc/default/grub and add acpi_backlight=vendor to the boot options as shown. The other option disables IPv6 globally if that’s something you want to do as well. Really try not to fuck this shit up. If you do go find a tutorial about booting to single user mode and editing your file back again. Don’t ask me because I will fucking laugh at you.

unit-0xbcd@potato ~ $ sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX="acpi_backlight=vendor ipv6.disable=1"
unit-0xbcd@potato ~ $ sudo update-grub
Generating grub configuration file …
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.4.0–59-generic
Found initrd image: /boot/initrd.img-4.4.0–59-generic
Found linux image: /boot/vmlinuz-4.4.0–53-generic
Found initrd image: /boot/initrd.img-4.4.0–53-generic
Adding boot menu entry for EFI firmware configuration
done

Discover your distro is using a deprecated option in their default configuration. Bloody oath.

So far, that’s everything that has needed fixing. Fucking ace. I now have a beaut little Linux laptop to use in various projects I intend to write up here.

Like what you read? Give UNIT-0xBCD a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.