New Personal Linux Laptop: HP 15-db1002au
It has been one year since I’ve switched to a low-power Laptop with Chromium OS. Recently, I have a personally programming project I would like to embark on and running IntelliJ on Chromium OS with Intel Pentium is so laggy that it isn’t going to work. I decided to get a second Laptop for programming. (But so far, I’ve probably spent more time configuring it than actually writing code.)
Looking through the available Laptop options, I stumbled upon HP 15-db1002au which looks like a gem. At only 14,000 Baht (~450 USD), I get an AMD Ryzen 5 processor, 8 GB of RAM and a Full HD IPS screen. The only downside is that it comes with a 1 TB HDD instead of an SSD, but that’s easily fixed since an M.2 slot is available. Amazingly, there’s also an optical drive built-in.
The Hardware
The hardware itself is pretty decent. The keyboard has numpad and the top row is configurable whether you want to use it as a F1–12 or as media keys. The screen is matte and is reasonably good. The touchpad is a little bit small, but that’s fine since I plan to use this mostly at my desk with a mouse.
Build Quality
The build quality, however, has things left to be desired. The LCD panel is mounted slightly slanted — not so slanted that you’d instantly see it, but you can see it if you look carefully and once you see it, it’s quite hard to “un-see”. The laptop lid also doesn’t “snap” when closing and will always open up a little bit.
Battery Life
The battery life is more decent than I thought it would be. Normal web browsing at lowest brightness gives me around 5 hours battery life. At higher brightness, that number drops to 4 hours. Using IntelliJ, that number drops to around 3 hours.
Benchmark
These are the user benchmark results if you’re interested:
- https://www.userbenchmark.com/userrun/17664490
- https://www.userbenchmark.com/userrun/17664659
- https://www.userbenchmark.com/userrun/17664773
Software
Now it’s time to see the current state of the Linux Desktop, something I haven’t touched for a long time thanks to being in Apple-land. While Windows actually work decently well, I want to run Linux since I’m doing software development and I’m more familiar with the command line here.
At first, I thought I was going to go with Ubuntu, but it didn’t boot successfully. It turns out that the CPU/GPU on this machine has just been released 3 months ago and it’s so new that support is only available in very new Linux kernels. Thus, I am forced to run Arch Linux where I can run the latest kernel.
Desktop Environment
Before, you simply had KDE, GNOME or XFCE if you want a full Desktop Environment. Now, there’s a lot of derivatives such as Cinnamon or MATE. However, many do not support Wayland. After trying them all out, that GNOME 3 on Wayland provides the smoothest experience. I’m not a fan of GNOME 3’s default layout though. Luckily, GNOME supports extensions and you can get a more traditional desktop by installing Arc Menu and Dash to Panel.
Application Launcher
I use Alfred a lot on macOS and there’s a Linux replacement: Albert. It doesn’t feel as polished, but it’s good enough. The only missing feature I often use is ejecting external drives. However, Albert is extensible and I wrote an extension for it.
Keyboard Shortcuts
With a less-than-stellar touchpad, I definitely want some keyboard shortcuts to speed up my navigation. These are the ones I’ve configured:
- “Alt + Space” launches Albert for fast application launches (without having to wait for GNOME to animate the overview windows, which I’m not a fan of)
- Dash to Panel gives you nice “Win+<Num>” shortcuts for switching applications. Pressing “Win+1” will always bring Chrome up or start if it not opened. Same goes for “Win+2” and Terminal. (I also just found out that Windows 10 has this shortcut too.)
- I mapped “Win+Left” to home, “Win+Right” to end, “Win+Up” to page up and “Win+Down” to page down for easy text navigation. Read more.
Quirks
Unfortunately, it’s not all roses. There are quite a few important things that are quite broken. Some could be fixed and some couldn’t.
- Wi-Fi: The laptop comes with an RTL8821CE chip that isn’t supported out of the box. Fortunately, there’s a DKMS package that can be installed and Realtek plans to eventually contribute a driver upstream.
- Strange triggering of Airplane mode: Opening the lid generates a strange event which causes Linux to toggle airplane mode. There’s a fix on StackOverflow.
- ACPI events randomly stop working: Randomly, the OS no longer respond to ACPI events. This means brightness keys no longer work, lid-close event does not trigger and the system no longer realize if it’s charging or not. I could not find any fix for this.
- IO errors after suspend: Sometimes after resume from suspend, the SSD throws IO errors or become read-only. The only way to fix is to reboot. This is really annoying.
- Bluetooth: Bluetooth only works on a cold boot, but will stop working if you do a reboot or even a suspend-resume.
Comparison to Chromium OS
After using a real Linux Desktop, I came to realize how Chromium OS is so polished in some aspects. The Chromium executable implements its own compositor giving the smoothest experience. Multi-touch support on Chromium OS is nearly macOS-level — way better than Windows or Linux.
Kinetic scrolling on Chromium OS actually feels correct. It feels a little weird on Windows and outright doesn’t work on Linux Wayland because the author of libinput believe it should be the applications that implement it and applications like Chrome did not implement it yet.
Google also isn’t paying much attention to Linux outside of Chromium OS. They simply refuse to enable hardware-accelerated video playback on Linux, despite supporting it under Chromium OS! There’s a outstanding bug with input processing which causes touchpad input to have lower precision which isn’t getting fixed.
Conclusion
Despite the shortcomings mentioned, I actually quite enjoy this setup. Linux Desktop is a lot better than before and it’s still improving. I definitely would not mind using this as my daily driver.