I’ve decided to give a new laptop a test drive, mainly because I had the opportunity at work, and also out of morbid curiosity.

image

It’s the HP Elitebook 845 G9, and it has pretty good specifications:

  • CPU: AMD Ryzen 7 6800U
  • RAM: 2x16GB DDR5
  • Storage: 512GB KIOXIA NVMe SSD (KBG50ZNV512G)
  • OS: Fedora 37, kernel version 6.0.8

This laptop was also shown in a recent LinusTechTips video and praised for its ease of repair and maintenance.

However, I can’t seem to enjoy nice things. This attempt at using a newer laptop has had some frustrating challenges. Perhaps the common denominator is Linux. Or me. Can’t rule anything out.

This is simply my experience with this laptop, including my attempts to overcome certain issues with workarounds. If you find something that’s factually wrong about any part of this post, then please reach out!

Wi-Fi

It all began with the Wi-Fi card not working. The card can be replaced, but the results can be mixed.

An Intel Wi-Fi card that I had lying around would not be recognized by the system at all. The situation was fixed by the reseller who replaced the Realtek RTL8852BE chip with another Realtek one, this time with the Realtek RTL8822CE.

Yes, there exist drivers that you can install, but it’s far from an ideal solution. You will have to reinstall the Wi-Fi driver after every kernel update, and the kernel updates frequently on Fedora Linux.

The HP website allows you to pick between a Realtek and Qualcomm Wi-Fi chip. My recommendation is to go with the Qualcomm option because the Realtek RTL8852BE does not work out of the box.

Airplane mode

This is an issue I didn’t think I would ever have to worry about.

The laptop would switch itself to airplane mode at random on boot. Not on every boot, but about 50% of the time. When you try to disable Airplane mode from GNOME settings, it would flip back on again, no matter how often you tried.

To turn Airplane mode off properly, you have to use the Airplane mode keyboard shortcut, and even then it might take an attempt or two.

Some HP users suspect that the issue might be related to a botched firmware update. There’s a kernel patch in the pipeline, and some users say that blacklisting the hp_wmi kernel module could also fix the issue.

Others say that this behaviour might be related to certain events being triggered on the laptop, such as lid closing or the screen rotating. The proposed fix did not work to resolve this issue on my laptop.

Blacklisting the hp_wmi kernel module was what improved the situation for me.

USB4 and Thunderbolt

This laptop is noteworthy due to its support for USB4, which brings with it support for Thunderbolt, making it one of the first AMD-based laptops to properly support that feature.

At my current employer the general trend has been towards standardization: every meeting room and desk has a single USB-C port that you plug into, and you should be good to go.

I can confirm that USB-C docks seem to work quite well under Linux, especially the one integrated into my Dell monitor at work.

I can also confirm that the Dell WD19TB Thunderbolt 3 dock does work.

On Windows 10.

Not on Linux though.

At some point the errors I saw in kernel logs got quite ridiculous.

The device name reads like a counterfeit merchandise listing at Amazon.
The device name reads like a counterfeit merchandise listing at Amazon.

When reconnecting the port, the results were slightly different almost every time.

I think the dock has suffered a stroke.
I think the dock has suffered a stroke.

The UEFI settings allow some control over the behaviour of the USB-C ports. You can even disable Thunderbolt support and use them as plain USB-C ports with DisplayPort support.

The behaviour of the dock would also be different depending on how you connect it. If the dock is connected during boot, your USB devices and Ethernet port will all be functional, but there’s no display output. If you boot while the dock is disconnected and connect it once you have reached the GUI, your display will work, but you have no USB or Ethernet support.

Even if one of the two critical functions of the dock work, reconnecting the cable will eventually result in nothing working. You also have a 50% chance of the machine locking up completely.

The reasons for these issues can be any one of these:

  • the proper kernel support is not there yet
  • HP messed something up with the latest UEFI update for Linux users
  • I was using it wrong

Dell WD19TB Thunderbolt dock workaround

After multiple sessions of troubleshooting, I seem to have come up with a solution that seems to work for my use case, which involves connecting a couple of USB devices, an Ethernet cable, and one 1440p monitor. You’re giving up Thunderbolt capabilities and forcing the dock to fall back to USB+DP altmode setting, but in return you’ll get a setup that actually works.

To get the Dell WD19TB Thunderbolt dock working, do the following:

  • go to UEFI settings and turn off Thunderbolt mode
  • save settings and reboot
  • connect your monitor over HDMI

Yup, that was it. I could not get DisplayPort working. Only HDMI.

The UEFI settings do contain a setting that allows you to sacrifice USB and Ethernet bandwidth to allow for higher resolution DP signals to be passed through, but that’s simply not acceptable to me. Based on the description, I think that the setting forces all USB devices to run at USB 2.0 speeds. This setting may fix the issue if you want to use DisplayPort, but I haven’t tried it yet.

Suspend

Doesn’t work. The screen will go black and the power button indicator will keep blinking. Only way to break that cycle is to force the laptop to reset by holding the power button down for an extended amount of time.

On Lenovo laptops I’ve seen an option that allows you to change the S3 state behaviour for Linux compatibility. I haven’t found a way to do something similar on the HP yet.

Stability

This is the straw that broke the camel’s back. When playing back video, I noticed issues with glitching and stuttering. The video would play fine, until a frame froze for a few seconds, and then everything continued as normal.

What ruined everything for me were the random crashes that only occurred when playing back video.

When I checked system logs from a previous boot (journalctl -b -1), I found that something was up with the GPU driver.

image

This was not a one-off event and once it had happened for the fourth time, I gave up on this machine and switched back to my trusty ThinkPad T430.

Conclusion

Given enough time, I’m sure that at least some of the issues will get fixed, either with a kernel update or HP rolling out a UEFI update that fixes things for Linux users.

It’s also possible that a specific set of UEFI settings will contribute to fixing any of the issues listed here. The number of combinations you can have is too high for me to bother testing all of those, so I won’t be doing that.

In its current state, I cannot recommend this laptop to Linux users. You can get most things working, but you will still be incredibly frustrated with the issues that remain.

Something has to change, and it’s going to be how I choose hardware in the future. Linux will stay, which means that the newest and “greatest” hardware is off the table for me. Honestly, lagging behind the newest hardware 3-5 years (or 10 in my case) doesn’t sound too bad, you’ll still get the performance improvements at a fraction of the original price.

If that’s what’s necessary for a good Linux experience, then so be it.