This is an OS which has everything. It's clean, it's simple, it has a helpful community, stable code, and even pretty good package counts to support nearly any desktop/workstation activity.
And yet, I feel like there are nagging issues which ultimately affect all non-mainstream1 OSes. Display driver complications, janky system upgrades, a lack of groupware clients. I'm not picking on OpenBSD, I love the distro and I think it should succeed in this particular area (the desktop/workstation) where other open source alternatives have failed, but why hasn't anybody managed to make it happen yet?
For a while, there was a similar hope around DragonflyBSD in the FreeBSD community, but I don't know where that ended up... I do know I see nobody really using it.
What's it going to take?
1Obviously, I mean MacOS and Windows, since Linux is at least as hampered on the desktop, perhaps moreso on account of the poor community and scattered vision.
OpenBSD is a great desktop. If you can't live without some proprietary shit, you're going to have a bad time.
I prefer doing most of my work on OpenBSD. I have a windows machine I can use for some garbage I am forced to use and the occasional game. Mostly I will VNC in from the OpenBSD machine.
I think we should normalize using a system that does 80% of computing tasks very well and delegating non-optional stuff to a secondary device. I don't think there's a 100% one-stop shopping solution to a problem as diverse as "desktop utilization patterns".
I've found sysupgrade to be pretty good at the core OS, but I have definitely had issues with drivers (particularly audio and display) and third party packages installed through pkg_add. Upgrading seems to be a mixed bag in terms of continuity of function when you're running a richer system, as a workstation often is. On a server, with minimal package surface area, things are just fine.
X just isn't great with high DPI, multiple monitor setups, hot plugging monitors, and especially combinations thereof.
A bunch of things are configured at boot-time rather than on-demand, e.g. networking (wlan), video/font settings, mounts, etc. For all its faults, the modern systemd/event bus Linux desktop better about these things.
The ship has sailed for anything other than Windows or Mac as a mainstream, popular desktop. And it's sailing away from Windows and Mac too, towards phones and tablets. Mobile devices are "computers" for a profitably large number of people, and I don't see that changing.
That said, for this (literally) graybeard old UNIX admin, OpenBSD makes a great desktop. I like that it feels very much like my old SunOS, Solaris, and historic Linux machines, and I like administering my systems by editing simple text files instead of dealing with systemd/dbus/etc.* That said, I do still have an iPhone, and use it for the things it's better at.
* systemd is fine, dbus is fine, they do what people want them to do. This isn't a rant about those things. I've learned to deal with them in my professional life. For my own stuff, though, I want something that I consider simpler and easier to understand. I do enough fighting systems at work; I don't need it at home, too.
A long time ago I really enjoyed the pf firewall in openbsd - it was so much easier than iptables and chains, which I somehow still don't fully understand. How is the obsd experience to do NAT and manage a firewall ruleset these days?
I've been digging through the most specific edge cases of pf recently, and while I don't know how it was 10 years ago, I'd say that nowadays it's fantastic.
The syntax is simple, clean, and very powerful. And with anchors you can easily add/remove rules on the fly with a single command.
I've been using OpenBSD-current as a desktop for over a decade now and only very rarely (like once in a blue moon, and fixed in the next snap) experienced the issues you mention.
OpenBSD can be used for a desktop and I've used it for that in the past... but IMO it shines as a server. Why? Today's workflows often include a binary which isn't available on OpenBSD. This could be nvidia's CUDA drivers or Adobe Photoshop for example.
OpenBSD excels in the space that doesn't depend on these things: gateway device, email server, LAMP, lemmy?