Brief technical overview
See link to dmesg output below for full details.
- Lenovo Thinkpad X250
- 8GB RAM
- 480Gb SSD
- 2x USB-3 ports
- SD Card reader
- Intel Dual Band Wireless-AC 7265
The good:
Overall, I have a very favorable impression of NetBSD. The system feels very stable and fast. It's highly configurable, bloat-free, and has that "do-it-yourself" attitude, with helpful man pages and pretty good documentation to get you started. I also managed to set up an encrypted home and swap partition using cgd. I did opt for full disk encryption at first but then my wifi driver wouldn't load at boot so I just reinstalled and went for an encrypted home/swap setup instead.
I experienced no issues connecting over WiFi (wpa_supplicant
+ dhcpcd
) or ethernet. Wireless worked thanks to the iwm driver. Connecting to a Linux machine over ssh
, sftp
or setting up nfs
? No problem at all. Thanks to hplip
and cups
I was able to set up printing as well. Virtually all of the applications I use on a daily basis (including some that are dispensable, like Strawberry music player) are available with pkgin
. Much to like there.
Suspend-to-RAM + resume (which I lazily tend to refer to as "hibernation") worked out of the box. The only caveat here is that the mouse seemed to be disabled after resuming a session although the touchpad kept working just fine.
Speaking of the touchpad, that also worked out of the box, including mouse tapping so no need for any additional configuration there.
Audio mostly just works but, as you'll see below, it does have issues of its own. I only tested audio output and did not attempt to record anything.
Bluetooth seems to work although I didn't venture beyond activating the controller and scanning for pairable devices using the official documentation (see here). I generally dislike bluetooth and avoid it but for those who need it, it seems to me it worked on this machine.
The bad:
On the other hand, I'm afraid it's not going to cut it as a daily driver for me, at least not on this laptop. I'm not sure if the fact that I set up an encrypted swap & home partition with cgd
(aes-xts 512) has had any impact on performance. I imagine it has, though I'm not sure to what degree. At any rate, memory and CPU usage is problematic. Audio is also clunky, whether listening to music on the console or during an X11 session.
I do have to note one thing: I started out with LXQT since many applications I use are QT-based. I switched back to good, "old" XFCE4 and discovered that memory handling was much better when running XFCE compared to LXQT. By far. Yet even with LXQT entirely removed and running XFCE exclusively, memory usage was still pretty high and it would just keep accumulating RAM.
For instance, even after closing an X11 session or on a cold boot, memory would sit at around 700Mb easily. On a cold boot, around 100Mb at least, and that would easily go up to 200Mb when installing packages or connecting to a remote machine over ssh
. I also noticed I'd get memory usage up to like three to four GB of RAM when installing packages with pkgin
(even with no X11 session running), and it would just stay there and never be freed up.
An overview:
Good at first but eventually it ends up distorted. Whether listening to music on the console or during an X11 session, listening to a stream in a browser or watching a video, output would lag and get distorted and the CPU fan would kick in. Sometimes it would "settle" after a while, only to reappear when opening a new tab, firing up another program, or simply opening the XFCE menu. At times I'd get a nice little "reverb" effect. I can appreciate that but I'd prefer it didn't try to act as a deejay and let me remain in control of the mix, thank you very much. 😉
Overall, CPU usage seemed rather high and core temperatures would be around 10 °C higher than on Linux, easily sitting at 50 °C and rarely going below 40 °C.
As mentioned, RAM usage is problematic. Firefox, Libreoffice and the likes are resource-heavy, but even after closing them, memory would not be deallocated. Closing the X11 session doesn't free up memory, either. It easily keeps hanging at 700Mb.
It was much worse after using LXQT, though, which seemed to eat RAM for breakfast. And, as mentioned, even installing software with pkgin would lead to excessively high memory usage, and once the job was done, it would remain just as high. I had to power off the machine and reboot to get it back to normal levels.
Something is up with Libreoffice. It refuses to respect any theming. Kvantum, QT5Ct, GTK themes? No use. Under Devuan/Debian you'd install libreoffice-gtk3 in that case but no such option seems to be available from pkgin.
As some have stated here before, xfce4-battery-plugin
does not detect the battery. LXQT actually does, but it displayed two batteries in my case: the internal Thinkpad battery (which is simply not present) and the removable one. I haven't tested LXQT on bare metal under Linux so far so I'm not sure if this is a general problem or specific to the NetBSD implementation.
Another problem was LXQT's terminal: qterminal
. I set my locale manually (/etc/profile
& .xinitrc
)and switched to bash
for convenience but qterminal
doesn't display certain accent characters even though xterm does. xfce4-terminal
has no issues with that and it actually allows you to use UTF-8 encoding just fine. Clear win for XFCE there.
Conclusion
That being said, I will definitely keep following NetBSD. I've taken lots of notes and learned much in the process. Much of the knowledge I gained is "transferable" and can be applied to other Unix or certain unnamed "Unix-like" systems. 😉
On this machine, though, I can't commit myself to it at this stage. I'm thinking perhaps the safest option will be FreeBSD on this particular device. OpenBSD is not much of an option in this case (audio won't work, it's just too slow and not my preferred BSD). DflyBSD may also be an option though I've only tested the latest release in a VM so far.
Overall, a very worthwhile experience but not convincing enough to really make a permanent switch just yet. Too bad I don't have any other spare machines at the moment. Nevertheless, the experiment will go on!
Here are some pastebins:
dmesg output
rc.conf settings
RAM after cold boot
RAM under lxqt with firefox-esr going berserk
RAM under xfce4 after closing firefox-esr, libreoffice, vlc, etc
EDIT (2021-05-15): added a few notes on suspend/resume, audio, touchpad, bluetooth