Hacker News new | past | comments | ask | show | jobs | submit login
OpenBSD on the Desktop (Part I) (paedubucher.ch)
87 points by upofadown on Sept 29, 2020 | hide | past | favorite | 54 comments



OpenBSD is somehow easy to setup, mainly due to the KISS philosophy and excellent documentation. Besides that they aim to be a very secure OS.

But my experience to make it work as a Desktop OS is very poor. Some reasons: The overall performance is way worse than Linux, the ports are not always up-to-date, other OS simulation is also outdated which means running commercial apps will be a challenge, upgrade process from version X to Y can be quiet painful, the lack of support for certain HW and Battery usage on laptops. I could never find anything that i could not do better and more efficient on Linux.

On the positive side: CWM and their Artwork are really cool.


I've largely given up on OpenBSD.

The security "track record" isn't really much of a track record when you consider that their only claim pertains to "the default install" which frankly doesn't comprise a very useful set of tools for doing anything other than a router. But if you want a router, there's pfsense.

Anyways. My experience with OpenBSD mirrors yours. It's easy to set up if your desired end state is an X desktop and ethernet networking. 802.11 in OpenBSD is an exercise in patience to say the least, and the last time I looked (admittedly back in 2016 or so) most guides were still recommending wpa_supplicant and config file editing with a straight face.

I'm Canadian, so I really want to like The Little Canadian OS That Could but honestly it's second- or third-best at everything and best-in-class at nothing.

I don't know why a person would reach for OpenBSD in 2020 when Debian exists, except perhaps if you want to enable corporations to make parasitic profits from others' hard work. And even then there's FreeBSD for your playstation and for pfsense, and NetBSD for your toaster.

I dunno, it just seems like they make so much hay out of being secure, but the "secure OS" isn't much of an OS at all in terms of functionality.


There are some reasons for chosing OpenBSD, and it does make a quite capable desktop. It still lacks the "just works" approach of Linux distributions like Mint, and the performance of lean distros like Debian.

That being said, OpenBSD has an excellent installer, amazing docs, and I did run it as a desktop for a while. Went back to Linux because I wanted to play Dwarf Fortress natively of all things. Things don't neccesarily work better with Linux, but I definitely spend less time tinkering now. Which could be a good or a bad thing depending on whom you ask.


Eh, I find the docs aren't as good as people say. If your question is "where is the config file for rc located?" then sure, the manual will tell you.

If your question is "what options are allowed in rc.conf and what is the syntax?" then your answer is not found in the manual page for rc but from a random Reddit post your Google search brought up.


>If your question is "what options are allowed in rc.conf and what is the syntax?" then your answer is not found in the manual page for rc...

... which is why you would look at the rc.conf man page for that:

* https://man.openbsd.org/rc.conf


That's nice and must have been updated. A year or two ago when playing with wireguard that wasn't in there.


Actually, that particular man page was added in FreeBSD 2.2.5, released in 1997. It's just that a lot of people don't know man pages exist with names other than the binaries.


It first appeared in OpenBSD 2.3 in 1998: https://man.openbsd.org/OpenBSD-2.3/rc.conf

Are you sure that you checked or did you assume that it wasn't there based on you Linux experience?


I switched my desktop to OpenBSD a couple of years ago after ~18 years on Debian. It takes less time to set up the way I want than recent versions of Debian. I make heavy use of traditional Unix CLI programs and don't use a heavyweight DE, so I guess I'm not a typical desktop user.

I still run a couple of dedicated audio workstations on Linux as I need preemptive scheduling (not available on OpenBSD) and Linux drivers.


>except perhaps if you want to enable corporations to make parasitic profits from others' hard work.

Why do you think that's true? The GPL just protects you work if someone else wants to re-distribute your code. Look at Google, they can have their own private Gnu/Linux (no i don't talk about android) and never ever have to opensource it.


What does the GPL have to do with OpenBSD?


OP talks about BSD vs GPL


> I've largely given up on OpenBSD.

The only reason I am not using OpenBSD for desktop is because it does not have an NVIDIA driver. This has been the case for a very long time. I am not holding my breath for its support, for sure. For servers I use Arch Linux and OpenBSD.


You already have The Little Canadian OS That not only Could, but DID!

Quantum Software Systems / QNX :-)


I Remember running it live from floppy


I agree. Installation is kind of fun in an old-school UNIX-y way. I feel Desktop Linux spent the better part of two decades endlessly tweaking the installation experience, as if people spend 50% of their time installing and reinstalling Linux (maybe they do?)

But once the install is done, the experience is...underwhelming. Bare-bones X11 and FVWM. Yikes. That with the xenodm login screen give it a distinct 1992-era experience.

I'm obviously aware I can install full-blown KDE/GNOME but the whole point (to me) of using OpenBSD is to go minimal, using secure and vetted built-ins as much as possible.

If I wanted 500 Gnome packages with potentially thousands of accompanying bugs, well, I'd just run Ubuntu, right?

But I also am too ....impatient? old?....to spend hours tweaking .Xresources and dealing with bitmap fonts and the whole (horrific) 1990's X11 experience.

I just want a default desktop that does NOT look like complete garbage. Make it super optional and put it under the "lame-n00b" option during install. Mock me during setup and tell me to go back to WinDoze. I'll happily take all that abuse just to boot into something that doesn't look like it ran Ross Perot's campaign.


Does anyone have any insight on why performance on OpenBSD is so much poorer? I'm really curious. I would have predicted the opposite: that OpenBSD is faster on account of its leaner.


I think the truth is that being fast is the result of doing things smarter and being lean means doing less. Intuitively it seems like doing less ought to lead to fewer defects not better performance.


Lots of different reasons, but common ones include:

1. No binary blobs, so hardware acceleration can be missed.

2. There have been issues with specific apps e.g. Firefox that seem optimised for things that OpenBSD doesn't do.

3. Historically SMP/Hyperthreading support hasn't been as performant as it is on other platforms. In some cases this is due to prioritising security over performance - e.g. speculative cache execution bugs.


In single-core/early dualcore times on then contemporary PC-hardware, I had the opportunity to compare OpenBSD vs. NetBSD vs. FreeBSD. Though I didn't use them 'shrink-wrapped', but rather like one would do 'Linux from Scratch', or at least a very riced Gentoo :)

Anyways, my hardware was supported perfectly on all of them, so no problems there. This way FreeBSD was only slightly faster than NetBSD, and i could have 132x60 textmode on its console, which didn't work at the time for NetBSD, and many, many ports of software. But I didn't need them all, and it felt a little more bloated. Since my goal was full desktop with KDE3 I didn't care much about textmode and went with NetBSD.

It flew, rock-solid, unkaputtbar!

While OpenBSD, at the times with the parts of KDE3 which were available for it had unexplainable periodic hiccups, not only during load, but light desktop use when no swap was in use at all!

That felt very weird, and after a few months I discarded it, since other users and developers/contributors of it which I've spoken to in person(sometimes looking at me like I'd be an alien from outer space for using it as desktop) didn't have more to offer than right tool for the job, yadda yadda...

Since then I'm following its progress from afar, only mildly interested. PF and ACKPRI were nice, but at least ACKPRI could be had by other means elsewhere, or some appliance.

So... right tool for the job, I guess?

edit: the hiccups didn't only happen while in X/KDE. Also when no Xserver at all was running, just doing things on the console, also while no swap was in use.

2nd edit: I pivoted to Arch from there, which in direct comparison to the riced NetBSD flew hypersonic, but wasn't as unkaputtbar (though only slightly less so), but saved much compile time :)


I’ve a dim memory that a version of Firefox was slow because it frequently called a system function that most OSs implement “quick and dirty” but OpenBSD did “slower, but correct”, so perhaps it’s down to an accumulation of that approach repeated throughout the system?


Not tremendously helpful without discussing examples. Do you have more information?


[flagged]


The very one! Thank you.


Search engines don't always bring up reputable sources.

Case in point, perhaps?


Are you quite serious?


Filesystem performance


Probably utilisation of hardware


He’s starting X using startx, but from https://www.openbsd.org/faq/faq11.html

“The recommended way to run X is with the xenodm(1) display manager. It offers some important security benefits over the traditional startx(1) command.“

I think startx now only works if you’re root or have given users additional permissions - xenodm doesn’t require that.


> I think startx now only works if you’re root or have given users additional permissions

That was the case for a while but in OpenBSD 6.7 startx works again out of the box, as long as you have certain graphics hardware, eg. radeon.


If anyone hasn't tried cwm, you should give it a shot. It comes by default on OpenBSD and there's a port for Linux. A really terrific and high quality window manager by the OpenBSD team.


I have really enjoyed CWM, and still use it even after switching from OpenBSD to Linux (I really liked OpenBSD, but need some programs that only run on Linux).

One of the features I find most useful is that you can have a window focused without raising it. So if you have some reference material open in a browser over top of part of your terminal, you can switch focus to and even click in the terminal without raising it (in my setup, I alt-click to raise). Admittedly, I'm not sure if this is the default behavior, as many of my settings are non-default.

I also really like the ability to search through window titles. I have alt+/ set to open the window search menu, then I can type a substring of the window title I want to raise, press return, and it's automatically raised and focused.

CWM is really, really nice, and every other WM I've tried before or since has disappointed me by comparison.


Focus follows mouse is pretty old X11 feature. That there are window managers that don't expose it, that is another matter.

Even Windows used to have a powertoy to enable it on Win32.


Oh for sure, focus-follows-mouse is widely available. But with CWM, it is easy to configure the WM so that a window being focused doesn't also cause it to be raised.


Yeah but that is how it is supposed to work.

Exactly how I used fvwm (the original one) and twm back in the 1994 onwards.

To be raised one needs to additionally click on it.


Right, but in CWM, you can also make it so that clicking on it doesn't raise it either. Which is useful if you want to click UI elements in a window without raising it.


fwiw, that’s exactly how my fvwm2 setup works. you need an explicit key-chord to raise a window that has focus. or you need to click on the title-bar. also, realized that monitors are getting wider than taller, so vertical real estate is precious, so title-bars are on the ‘left’ side of windows. which seem to work well for me...


Ah ok, thanks.


It is entirely implemented in the window manager. It's not an X11 feature.


Naturally, if you want to be pedantic, X11 is a network communication protocol for GUI based applications, X servers have plenty of freedom how that protocol gets rendered.


I love focus follows mouse and that the window isn't raised when you click. It's such an important feature and effectively multiplies your screen real-estate.

Like you said, it's great to have a small editor or terminal window floating over a web browser, really makes a lot of things easier.


I run OpenBSD with dwm and st and love it. I triple boot, so I mainly use OpenBSD for things that it works well with, then use Linux or Windows for their strengths. I think it is a case of use the right tool for the job. I use OpenBSD on most of my servers, so it is nice having the same environment for development. Lots of things don't work on it, but I love the things that do. Pf, httpd, relayd are wonderful. Upgrades are super simple, and I don't need bleeding edge packages to make good software.

As a side note, I feel like my workflow has improved in productivity, because I've been forced to think about how I do things, and change, which leads to insight and improvement. I discovered a lot of command line utilities that are more productive than what I was doing on Linux when I used them because they're "pretty".


Good stuff. I installed OpenBSD 6.0 and dwm on a netbook years ago and haven't had to change anything since. It's a lovely distraction-free easel where I do all my audio programming. I also wanted to use st, but I found its handling of CJK input less than ideal at the time.


The OpenBSD developers should be congratulated for the performance on this hardware.

I installed OpenBSD on an X270 laptop and everything worked incredibly smoothly and cohesively out of the box. Everything from power management to a sensibly-spec'd console font, without hundreds of helper daemons and dbus. The breadth of software in a Linux distribution means it will never be as cohesive as this.

Performance was not as good as Linux. I suspect OpenBSD is just not as heavily optimised in a multi-threaded environment, which is fine and expected.

However I did start to feel OpenBSD losing its way a little. I hoped such a slim system would be good for an automated install which could be used as VMs to run its smtpd, httpd etc. in the same cohesive environment.

But I found myself working against the installer's prompt-driven approach; really I just wanted some shell functions I could run to un-pack a system after partitioning it.

In the process I also discovered the whole "relink the kernel on every boot for security"; actually a blunt approach of shell scripts to rerun the final stage of compilation after booting and copy it into place for next time. 372Mb of disk space is used just for this and removing it requires modification of the OS. Not saying this is wrong, just not right for me at this time and it seemed a missed opportunity in a world of Alpine Linux and the like.


Missing the unixporn screenshots!


Yes! Always need screenshots even if it’s just a wm with an xterm.


My WM has no bars or decorations, it's always funny to send a screen-sized black or root weave PNG when somebody says "show me your desktop".


That weave Xorg background is absolutely terrible. I get why they chose it, but still. Code up a gradient or something.


I love the weave. Great for focusing the projector.


There are testbilder for that. https://duckduckgo.com/?t=ffsb&q=Testbild&iax=images&ia=imag...

No need to have that uglyness in your face all the time.


It's also good for if you have a VGA LCD, automatic clock tuning works really well with the root weave.


Hm. Didn't think of that. Didn't touch VGA for so long...


Oh man. Just reading the headline I thought it was some sort of a parody. Why would anyone install OpenBSD on a laptop?

Sometimes HN goes a bit too far. Is this technology as a tool to make life easier or better for someone or is this just playing around with esoteric technology with little practically purpose?

> Installing a basic GUI with Suckless software was a rather smooth experience on OpenBSD

Says the person who had to write C code to get a gui working to his liking


[flagged]


> Note that the author does not respect gender identity/pronouns

The article is written in the first person throughout and doesn't use any gender specific pronouns that I could see. How is that disrespectful? (My knowledge of German isn't good enough to read the article you linked).


The article he linked basically argues that some words can be used to describe both genders, although the article used with that word has one certain gender. I'll try to show an example below.

First, in German there is a certain way to write words that appear gendered to include both genders.

Benutzerinnen -> male and female users. Apparently there's even Userinnen, as "User" is also getting more common in german.

The author of the article argues that that second part, (*innen), is unnecessary. Here's the first example he gives and a translation.

> Der Benutzer ist jemand, der eine Anwendung benutzt.

The user (male article) is somebody who uses an application.

> Der Benutzer ist eine Person, die eine Anwendung benutzt.

The user (male article) is a person (female article) who uses an application.

The author now argues that the subject in the sentence above would be both male and female, therefor user ("Benutzer") is not a gendered word.

In the following sentences the author replaces the user ("Benutzer") with names. Pay close attention to the articles. (der, die, das) They do not depend on the gender of the person, but instead on the second noun in the sentence. (Person, Mensch, Individuum)

> Maria ist eine Person, die eine Anwendung benutzt.

> Martin ist eine Person, die eine Anwendung benutzt.

<name> is a person who uses an application.

> Maria ist ein Mensch, der eine Anwendung benutzt.

> Martin ist ein Mensch, der eine Anwendung benutzt.

<name> is a human who uses an application.

> Maria ist ein Individuum, das eine Anwendung benutzt.

> Martin ist ein Individuum, das eine Anwendung benutzt.

<name> is an individual who uses an application.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: