Hi all,
You may have seen my earlier thread in which I did a quick and dirty review of NetBSD 9.1 on a Thinkpad X250. Since 9.2 came out, I went ahead and did a clean install of that version to see how it compares.
This post is basically a bit of a follow-up on the previous one. I'm keeping it separate since this is based on my experiences with 9.2.
Overall, I must say the experience was certainly better on this particular machine. Version 9.2 felt stabler than its predecessor and I no longer experienced any "RIRB timeouts" on reboot (see here).
On the other hand, "better" doesn't necessarily equal "good" in this case. Although performance was better overall, it was still lagging despite applying some of the tweaks that have been suggested elsewhere on this forum. FreeBSD 13 ran faster on this system with a virtually identical setup (XFCE, firefox-esr, etc). I've also revisited OpenBSD 6.9 on this machine, with the same software/GUI setup, and it actually performs better on it than does NetBSD, much to my surprise given that OpenBSD is often said to be slow.
I ended up deciding to try out 9.2 on a Thinkpad T550, which has almost identical specs to the X250 but twice as much RAM (16Gb). This is a productivity system on which I normally use Devuan as I need certain tools that I can't use on BSD. Since I had planned a fresh reinstall of Devuan Linux on that system anyway, I wanted to take some time to revisit NetBSD on the T550 out of sheer curiosity and to see how it performed there.
Unfortunately, it proved to be identical to my experience on the Thinkpad X250. Despite having twice as much RAM, the system was pretty slow and I'd have Firefox crashing on me. I understand that memory management on NetBSD is different from Linux or the other BSDs, but still. I can't but conclude something is off there.
By way of comparison, OpenBSD supports my Thinkpad buttons (backlight + volume control) out of the box. Touchpad two-finger scrolling + tapping works out of the box. Transferring files over the network is faster; installing packages doesn't lead to high RAM usage and having the CPU fan go crazy; firefox doesn't crash on me. It generally runs quiet.
So I wanted to provide an overview here of some things I've observed, including some problems I encountered and have been unable to solve, whether on bare metal or in a virtual machine in certain cases. Hopefully this is useful to any NetBSD developers or users out there. If you know of any workarounds or solutions, please do let me know!
Performance
This is the main problem for me.
- RAM usage is uncomfortably high for me:
-> when or after installing packages
-> when performing file operations
-> when syncing over the network
-> when using Firefox, Libreoffice, etc.
- CPU runs rather too hot
- Network file transfers (
rsync
, ssh
/sftp
, etc) are slower than I'm used to
Suspend-to-RAM
SOLUTION: unknown
Touchpad
- tapping works out of the box
- two-finger scrolling does not work no matter what
sysctl
settings I try
Note that this is a Synaptics touchpad. I believe having read here somewhere that it is not supported on such touchpads. On a X250 with a 12.5" screen this is a bummer because I typically use the touchpad a lot more with such a compact laptop.
SOLUTION: unkown
Thinkpad buttons
- do not work out of the box
As noted, these do work on FreeBSD (mostly) and OpenBSD (perfectly).
SOLUTION: unkown
WORKAROUND: sudo intel_backlight 50%
LibreOffice
- version 7 -> does not respect theme settings
I've tested this under LXQT, XFCE, Fluxbox, etc. Even when I use gtk
tools to select the appropriate theme or have an appropriately set up gtk3
config file, it just does not work. I only got it to work, briefly, with Libreoffice v6 which appears to rely on Linux emulation and use gtk2, and after a reboot I was back to square one.
Note that I have not experienced this on either FreeBSD or OpenBSD. On those systems, libreoffice
integrates the theme as it ought to.
SOLUTION: unknown
WORKAROUND: install v6 with linux emulation?
VIM issues
set termguicolors
in conjunction with colorscheme mycolorscheme
in ~/.vimrc
are not honored in terminal windows
- however, it does display correctly in
gvim
Tested with:
qterminal
xfce4-terminal
py39-terminator
Note that I initially tested this with only vim
installed. I later figured I might need to install vim-gtk3
instead so I did, but the result was the same. This works as expected under FreeBSD and OpenBSD so I don't know how to explain this.
I've dug up information online since others have had similar problems under Linux but none of it helped. Works fine in gvim
but not in any terminal I tried. Because of that, I didn't attempt to try any plugins like airline or vim bundle. I rely on vim
for my workflow a heck of a lot so this is a pain for me.
SOLUTION: unknown
WORKAROUND: use gvim
XFCE
- as pointed out before, it does not detect the battery
- additional cursor themes such as DMZ are not detected and unavailable in the XFCE settings
- after installing Papirus Icon Theme (whether through
pkgin
or manually), it's just impossible to change the icon of the application or whisker menu because, as it loads the available icons, the CPU starts going crazy, memory goes up, and xfce4-panel
basically ends up freezing or crashing. I admit this operation is rather slow and resource-intensive for me on any system I've used (including Linux) but at least the icon selector eventually opens. Worked for me on FreeBSD and OpenBSD so I don't know why it struggles under NetBSD.
As regards the battery problem, I used watch 'envstat | grep %'
in a terminal to keep an eye on it. Also, as noted in my other thread, lxqt
does detect the battery but also displays an icon for some internal battery that is not present in any of my (second-hand) Thinkpads.
SOLUTION: currently none but @rvp is working on a patch
WORKAROUND: check with 'envstat' from terminal
Sound
- mostly works fine in 9.2 for me, so that's a good thing!
- nevertheless, I've noticed something weird:
=> when using the touchpad:
- sound often hangs or has hiccups
- at times it 'reverbs'
- or has 'static' distortion for a while
!! This does not occur when I use the mouse exclusively
SOLUTION: unknown
WORKAROUND: don't touch the touchpad?
Virtualization issues
Virtualization is one of the main reasons I have a preference for NetBSD and why it would, in theory, be a viable alternative for Linux. Since I need to use software that is only available for Windows, I rely on virtualization a lot for productivity/work. On those systems, I want an OS that is reliable, stable, secure and has good virtualization capabilities so I can avoid having to run Windows natively on one or several dedicated machines solely to be able to use a few Windows-only packages.
With VirtualBox (which I avoid these days) or Qemu/KVM under Linux I can use Windows machines seamlessly. FreeBSD has seriously let me down there (but that's another story) as I discovered VirtualBox didn't function well. The other alternatives are not a good match. OpenBSD (like FreeBSD) only appears to have the "tcg" accelerator available, which won't do for me, even though these operating systems are, of course, great in other ways.
NetBSD provides Qemu with nvmm
and haxm
. Unfortunately, I haven't managed to install a Windows VM using nvmm
. It boots from the install iso then just hangs and never gets on with it. Compiling haxm
from pkgsrc
failed on every single attempt. I hope to try again in the time to come but I'm afraid I'm going to have to stick to Devuan for such purposes in the foreseeable future. It's just too critical to me.
Conclusion
In itself, none of this necessarily "disqualifies" NetBSD as an OS. I could still use it for other purposes, as a server or for strictly personal productivity that doesn't require virtualization. There is still a lot to like about it and I will keep following the project as I've done for quite some time. Yet given the above-mentioned issues, I'm afraid it's not going to do for me at this stage as a full-fledged alternative to Linux. Even for personal productivity, given those issues, it's a bit too much of a hassle. But perhaps I've overlooked something and there are solutions for these issues.
So, let me know your thoughts or possible solutions. I'm still going to reinstall NetBSD after having given OpenBSD its proper dues, though I'm sticking to Linux on my work machines for the time being.
Cheers!
EDIT: I want to add that all of the above issues I've had on bare metal were also present (if applicable) when running NetBSD in a virtual machine