Here is my experience using this laptop. I hope this can help someone else. If you have any tips/tricks for similar laptops, feel free to share here.
Specification
- HP Notebook 15-bs158cl
- 12 GB memory
- i5-8250U (8th gen, 4 cores)
- Samsung SSD 860 EVO M.2 250 GB (upgraded by the last owner?)
- Qubes OS 4.1 (ext4 + thin lvm, legacy instead of uefi)
- Manufacturing date is in 2018?
I brought it second-hand. The case is a bit flimsy and has several cracks. But I think it is a good machine for running VMs at its price.
Taking the Laptop Apart
The base panel has lots of plastic cylinders that goes through the keyboard. HP melted the end of the cylinders to keep the keyboard in place without using any screw. While this design might save them a few bucks, it really makes cleaning the laptop much more difficult. I had to use a snap blade knife to cut the cylinders and scrap the keyboard off the panel.
Afterwards, I took everything out of the case, and washed the case with soap and water. I got rid of the dust and lots and lots of white cat fur with vacuum cleaner and tweezers. The fur is all over the place. Even the soft transparent plastic near the CPU has fur. Cats suck.
Finally, I replaced the thermal paste of the cpu and put everything back in place except for the CD drive. I hoping getting rid the CD drive would help the ventilation a bit.
Installation
I think I can’t install Qubes OS with a usb drive unless I set the booting mode to legacy in the bios. I used ext4 + thin lvm.
Quirks
Mouse can freeze for 1 - 3 minutes. The strange thing is that when the mouse freezes the keyboard is still functional. I can alt-tab and switch between several dom0 terminals. Most of the time the mouse freezes when I boot the laptop or update the qubes. I think the mouse never freezes again after I get rid of swap in the fedora template and VMs.
The screen occasionally flicker. I mean it alternate between black screen and normal screen quickly as if some kind of chain lightning hits it. I started to see this kind of flicker after I upgraded from Qubes OS 3.0 to Qubes 4.0. The flickering always coincides with i915 ... [drm] CPU pipe A FIFO underrun
in dmesg
of dom0. I think setting i915.enable_psr=0 i915.enable_fbc=1
kernel parameters reduce the flickering significantly. Maybe setting intel_idel.max_cstate=4
would eliminate the flickering completely? But I have never tried that. The command for updating grub configuration is grub2-mkconfig -o /boot/efi/EFI/qubes/grub.cfg
. See Where to add kernel parameter? - #2 by tzwcfq
I use a bash script to control the brightness of the screen: echo $1 > /sys/class/backlight/intel_backlight/brightness
.
The laptop has a Windows 10 key at cat /sys/firmware/acpi/tables/MSDM
.
Beating the Heat
I think the ventilation of the lower end laptops from HP are quite bad.
I removed the CD drive, set the fan to be always on in the bios, and put a few pencils beneath the laptop.
Before the kernel update, I can check the temperatures of each of the 4 cpu cores with sensors. I only see one temperature for all cores now.
I also wrote a python program for setting the fan speed. I look at the code of note book fan control
(https://github.com/hirschmann/nbfc) and find the configuration of a similar model. By trial and error, I find the offsets for the mode, temperature, and speed of the fan in the embedded controller (EC).
Maximal fan speed is a bit loud but that really cools down the laptop. When the bios controls the laptop automatically, the fan is nearly never at max speed.
However, the newest kernel of Qubes OS gets rid of the ec_sys module and my program doesn’t work now.
Memory
Usually I don’t run the sys-usb or sys-whonix qubes unless I need to use them. I also replace the fedora template by the minimal fedora template. I haven’t tried zram or liteqube (https://github.com/a-barinov/liteqube) yet.
Upgrading the BIOS
I think the bios is insydeh2o. I don’t know how to upgrade the BIOS with Linux. I plan to replace Qubes OS by Windows 10 and then run hp’s tool. Directly using dd to write the Windows 10 iso to a usb drive doesn’t work. I am trying genisoimage instead (dd - How to Create Bootable Windows 10 image in Debian? - Unix & Linux Stack Exchange).