My desktop comparison of FreeBSD and OpenBSD

swirling_vortex

Member

Reaction score: 9
Messages: 52

Oko said:
For such applications OpenBSD should run significantly slower than FreeBSD considering amount of crypto, security features, pitiful file system, slowness of rthreads, and big giant lock. On another hand PF is about 4 times faster on OpenBSD comparing to "improved multithreaded" version running on FreeBSD.
Funny thing actually, I found this posted yesterday to @misc. Apparently there has been some performance tweaks made to the kernel, so I'll have to try a snapshot.
 

kpedersen

Son of Beastie

Reaction score: 1,678
Messages: 2,515

What also makes OpenBSD a bit of a pain for "desktop usage" for me is that I don't have access to devel/valgrind or libasan for the address sanitizer (for gcc and clang) on that platform.

The tools it does have is malloc.conf (i.e libc malloc debugger), splint and ElectricFence which are pretty good for most stuff but I would really like those extra tools (in particular for stack array checking) :/

Ironically because of this I tend not to write C on OpenBSD and tend to stick to C++ instead (which is luckily what I use at work). But I really admire the skills of the OpenBSD team to write code that they trust without these extra cruches ;)

Edit: I guess OpenBSD also has the Bohem GC which can be used to check for some leaks and errors too but I have not really tried that.

Edit2: I have also had some success with Emscripten on OpenBSD to both provide me with c++11 features with LLVM / clang++ (i.e shared_ptr<T>) but also since it compiles to Javascript I can use web browser profilers and memory error detection. Kinda hacky so I wont add this as a solution ;)
 

Oko

Daemon

Reaction score: 793
Messages: 1,620

gpatrick said:
On daemonforums a new poster had a question in the OpenBSD forum and had this for a reply:
You have to call OpenBSD customer service at 1-800-234-3325.
The person who posted the reply was rightly admonished by others for his rudeness.
I thought that answer was pretty appropriate considering the high quality problem description ;) . Have you bothered to check the number §e ?
 

swirling_vortex

Member

Reaction score: 9
Messages: 52

kpedersen said:
What also makes OpenBSD a bit of a pain for "desktop usage" for me is that I don't have access to devel/valgrind or libasan for the address sanitizer (for gcc and clang) on that platform.

The tools it does have is malloc.conf (i.e libc malloc debugger), splint and ElectricFence which are pretty good for most stuff but I would really like those extra tools (in particular for stack array checking) :/

Ironically because of this I tend not to write C on OpenBSD and tend to stick to C++ instead (which is luckily what I use at work). But I really admire the skills of the OpenBSD team to write code that they trust without these extra cruches ;)

Edit: I guess OpenBSD also has the Bohem GC which can be used to check for some leaks and errors too but I have not really tried that.

Edit2: I have also had some success with Emscripten on OpenBSD to both provide me with c++11 features with LLVM / clang++ (i.e shared_ptr<T>) but also since it compiles to Javascript I can use web browser profilers and memory error detection. Kinda hacky so I wont add this as a solution ;)
You may have explored this already, but OpenBSD's malloc has some extra options that can enabled: http://www.drijf.net/malloc/
 

blackhaz

Active Member

Reaction score: 68
Messages: 175

byuu, thanks for taking time to write this review. It is nice to know there are different gradations of BSD available and I wish each of them best of health in 2015. Gonna try OpenBSD in a VirtualBox.
 

blackhaz

Active Member

Reaction score: 68
Messages: 175

Actually, after posting on the recent HN thread that I found OpenBSD upgrade procedure, as described in FAQ, to be too "manual" and complicated, and advised otherwise by some nice people there, I've got another SSD into my Thinkpad T400 and replicated my FreeBSD 10.1 desktop in OpenBSD 5.6 yesterday. Take all this with a grain of salt:

Pros:
  • Smooth, text-based installation with default automatic partitioning putting everything (root, /usr, /etc, /var, /home and so on) onto its own partition.
  • X works out of the box.
  • "Spartan," intuitive root file system layout, ps ax looks cleaner than on FreeBSD even with the X running. Very cool.
  • Packages-oriented OS. It has ports, however OpenBSD FAQ advises to use packages. Let's face it, if we want a desktop with about a thousand of apps installed, packages would be preferred indeed. OpenBSD's pkg_add works well, however I haven't had a chance to go into dependency inferno with it yet. I didn't see any slowdowns during package installation as the original poster reported, if compared to FreeBSD's pkg.
  • I liked rc.conf defaults are at /etc/rc.conf and you are supposed to edit /etc/rc.conf.local. This simply seems more intuitive to me than having three of them. Although having to set the flags to "" instead of NO to actually enable something seems a little odd.
  • My sysctl.conf had only one entry to make it a functional system.
  • Audio works out of the box, even laptop's volume controls. Didn't have to map volume buttons in dwm to make them work.
  • Despite OpenBSD FAQ is less detailed, if compared to the FreeBSD Handbook, I found it to be really nice along with the manual pages. It does its business and there's no lack of documentation.
  • Very easy to get NICs going by editing /etc/hostname.if files. Wi-Fi up and running in seconds. Way easier than having to deal with wpa_supplicant.conf first time.

Cons:
  • Sluggish performance. Heavy apps take longer to start. chromium and firefox take time to render pages, they eat lots of CPU and lock up for short moments often and this irritated the hell out of me. Everything is taken down a notch, if compared to FreeBSD.
  • OpenBSD is a desktop battery vampire king. Even with apmd running with the -C "keep it cool" flag, it seems it is draining the banks much faster than FreeBSD. With -A, "automatic" setting it loves to spin CPU cooler a lot when I am browsing web pages on the AC power. The laptop is suddenly struggling with Facebook. Nothing of that, of course, happens in FreeBSD.
  • "OpenBSD devs eat their own dogfood," it is said, but suspend and resume actually work better for me on FreeBSD out of the box on this particular laptop. OpenBSD failed to wake up a few times. Perhaps this could have been fixed somehow.
  • Had to edit login.conf to increase memory limits for the staff group, otherwise heavy apps like chromium and thunderbird simply segfault which was very surprising for a newbie like me. (But hey, one needs to do some legwork in FreeBSD to make it seaworthy too.)
  • Extremely poor performance on HTML5 video streaming on YouTube and elsewhere. It is advised to use downloaders like youtube-dl to watch online videos. I've browsed all the forums I could and, as I understood, it is said web browsers are to blame, however the same software works fine on FreeBSD and other OS's.
  • I didn't like user-installed apps put their configs to /etc instead of /usr/local/etc.
  • No wine.

Things to mention, however not particular pros or cons:
  • It was a little bit unclear what to do with firmwares after the first boot. Had to grab 'em manually from the Internet and decompress to /etc/firmware to make Wi-Fi adapter and discrete ATI Radeon work.

Right now I am back to FreeBSD. Poor web browsing experience and unreliable suspend/resume render OpenBSD less desirable for me. I hope this will improve in future. I do sincerely appreciate that system and community exist. The more of these things on this planet, the better. There's definitely a number of OpenBSD features I would love to see implemented in FreeBSD.
 

Oko

Daemon

Reaction score: 793
Messages: 1,620

Cons:
  • Sluggish performance. Heavy apps take longer to start. chromium and firefox take time to render pages, they eat lots of CPU and lock up for short moments often and this irritated the hell out of me. Everything is taken down a notch, if compared to FreeBSD.
  • OpenBSD is a desktop battery vampire king. Even with apmd running with the -C "keep it cool" flag, it seems it is draining the banks much faster than FreeBSD. With -A, "automatic" setting it loves to spin CPU cooler a lot when I am browsing web pages on the AC power. The laptop is suddenly struggling with Facebook. Nothing of that, of course, happens in FreeBSD.
  • "OpenBSD devs eat their own dogfood," it is said, but suspend and resume actually work better for me on FreeBSD out of the box on this particular laptop. OpenBSD failed to wake up a few times. Perhaps this could have been fixed somehow.
  • Had to edit login.conf to increase memory limits for the staff group, otherwise heavy apps like chromium and thunderbird simply segfault which was very surprising for a newbie like me. (But hey, one needs to do some legwork in FreeBSD to make it seaworthy too.)
  • Extremely poor performance on HTML5 video streaming on YouTube and elsewhere. It is advised to use downloaders like youtube-dl to watch online videos. I've browsed all the forums I could and, as I understood, it is said web browsers are to blame, however the same software works fine on FreeBSD and other OS's.
  • I didn't like user-installed apps put their configs to /etc instead of /usr/local/etc.
  • No wine.
Anybody who knows anything about security will put lack of Wine as a feature not a Cons :) As of your other complains OpenBSD has never been about "performance" but rather about security, stability, and correctness. However as a long term OpenBSD user I have to notice that web-browsers are becoming serious problem on OpenBSD. They leak memory left and right and it seems that with every release the choice is smaller and they work worse and worse. I remember running Opera via Linux emulation on PIII with old slow 512 MB of RAM just couple of years ago and not having any issues.

I am having regular Firefox freezes now on my desktop with 16 GB of RAM and 8 cores which uses its own Unbound. For me the most usable browser on OpenBSD is NetSurf these days with dillo coming close behind. If dillo actually had just a decent CSS rendering I would use it full time to browse Internet.



Things to mention, however not particular pros or cons:
  • It was a little bit unclear what to do with firmwares after the first boot. Had to grab 'em manually from the Internet and decompress to /etc/firmware to make Wi-Fi adapter and discrete ATI Radeon work.

If you are connected to the Internet after first boot system automatically parses your hardware, checks if you need firmware (for example for WiFI) and installs it for you. No action is needed on your part.
 

blackhaz

Active Member

Reaction score: 68
Messages: 175

Thanks for the hint. I've got the OpenBSD SSD back into the laptop to continue experiments. Man it is cool! :)
 

formateur_fou

Member

Reaction score: 13
Messages: 62

If you are connected to the Internet after first boot system automatically parses your hardware
In fact /etc/rc.firsttime does this and is deleted after its execution.
This script is one line long: /usr/sbin/fw_update -v , you can rerun this command if needed.
To add to the pros/cons discussion, I noticed OpenBSD's packages have, in general, better default configuration and work out of the box. But, mostly because of a lack of resources, there are fewer of them.
 

Oko

Daemon

Reaction score: 793
Messages: 1,620

To add to the pros/cons discussion, I noticed OpenBSD's packages have, in general, better default configuration and work out of the box. But, mostly because of a lack of resources, there are fewer of them.
The lack of packages on OpenBSD was often used in the past as an argument against OpenBSD. For the most part that is just a false argument and people should not be discouraged to use OpenBSD just because they have fear that their favorite application is not ported. I will try to explain little bit.

Things to remember is that Xenocara is the part of the base so those 2000-3000 FreeBSD XOrg related ports are irrelevant for the process of comparison. Another thing is that OpenBSD developers are merciless when it comes to pruning staled, unmaintained packages or packages with security holes (wireshark is an example). Also OpenBSD ports tree no longer contains web-related packages which contain just php or html files which can be easily installed by downloading tar balls and opening them in the root of the web server. MTier due to its unique position as a OpenBSD desktop consulting company is sponsoring many desktop oriented packages. Typically things like CUPS, sane-backends, Ghostscript and various other printer drivers are updated as soon as upstream updates them. TeXLive consist of four big packages unlike FreeBSD ports.

All of above being said. OpenBSD does objectively have fewer packages than FreeBSD. Sometimes packages do really get staled because of the lack of resources. Numpy, scipy, and matplotlib were stalled and there were no Python 3.4 flavors until recent work of Daniel Dickman which still didn't hit official repositories. So things happen but overall one would be hard press to find important application which is not ported to OpenBSD.

For power user I also suggest looking at the dpb (Distributed Ports Build) as well as how packages are signed.
 

wblock@

Beastie Himself
Developer

Reaction score: 3,718
Messages: 13,851

Also OpenBSD ports tree no longer contains web-related packages which contain just php or html files which can be easily installed by downloading tar balls and opening them in the root of the web server.

FreeBSD packages have checksums, which provides some security over just unpacking a tarball. Packaged software can also be tested for corruption and for known problems in installed packages with pkg-audit(8).

Well, I'm sure OpenBSD packages have the same thing, but the point is that packages do offer serious advantages over non-packaged software.
 

Oko

Daemon

Reaction score: 793
Messages: 1,620

FreeBSD packages have checksums.
OpenBSD packages not only have checksums but they are also signed for the past year or more. Mark Espie who is the author of OpenBSD packaging wrote papers on package signing so I invite people to read. For the record I really like what FreeBSD has done with with its binary packages since the time of 5.xxx and 6.1 when I used to run FreeBSD on my desktops.
 

Bentley

New Member

Reaction score: 1
Messages: 18

What also makes OpenBSD a bit of a pain for "desktop usage" for me is that I don't have access to devel/valgrind or libasan for the address sanitizer (for gcc and clang) on that platform.
In the interest of keeping this thread up to date… uebayasi@ ported valgrind to OpenBSD last month. The package will be available for the 5.7 release in May, and it’s on the mirrors right now for snapshot users.

I appreciate when people mention specific packages they’re missing instead of just saying “there aren’t enough packages available.” That way, if it becomes available someone can point it out, and sometimes developers can gauge the level of interest in a potential port while they’re browsing forums like this.
 

blackhaz

Active Member

Reaction score: 68
Messages: 175

I am continuing to run OpenBSD as my do-it-all desktop - so far 20 days. A few things to consider in addition to my original post:

Cons:
- No virtualization (yes, I know what Theo said). No VirtualBox.
- No freebsd-update equivalent. If you want to patch your kernel after security advisory, grab the kernel source and recompile. I think there is a third party binary patch effort but this kind of compromises the whole enterprise AFAIAC.
- Yes, older software in ports. Qt is still 4, for example. Sometimes I feel lonely.
- GUI performance hit under load is more severe than I thought initially.
- No Linux compatibility layer. It was just forgotten at some point.

Pros:
- Marvelous "Absolute OpenBSD" book by Michal W. Lucas.
- The "no tweaks" approach. The less custom mods, the better. In this regards, OpenBSD doesn't feel like a bag of Lego bricks.
- Could get the laptop battery life to be comparable with what I get on FreeBSD. Running apmd with no flags turned out to be the best option.

So many parts of it are dear to me but as a general purpose desktop user I found certain downsides of the OpenBSD approach to be critical. Yet it is a pleasure experience learning both BSDs. Will probably keep swapping drives for some time more in this laptop...
 

youngunix

Active Member

Reaction score: 40
Messages: 228

I am continuing to run OpenBSD as my do-it-all desktop - so far 20 days. A few things to consider in addition to my original post:

Cons:
- No virtualization (yes, I know what Theo said). No VirtualBox.
- No freebsd-update equivalent. If you want to patch your kernel after security advisory, grab the kernel source and recompile. I think there is a third party binary patch effort but this kind of compromises the whole enterprise AFAIAC.
- Yes, older software in ports. Qt is still 4, for example. Sometimes I feel lonely.
- GUI performance hit under load is more severe than I thought initially.
- No Linux compatibility layer. It was just forgotten at some point.

Pros:
- Marvelous "Absolute OpenBSD" book by Michal W. Lucas.
- The "no tweaks" approach. The less custom mods, the better. In this regards, OpenBSD doesn't feel like a bag of Lego bricks.
- Could get the laptop battery life to be comparable with what I get on FreeBSD. Running apmd with no flags turned out to be the best option.

So many parts of it are dear to me but as a general purpose desktop user I found certain downsides of the OpenBSD approach to be critical. Yet it is a pleasure experience learning both BSDs. Will probably keep swapping drives for some time more in this laptop...

You nailed it! Though, there are more cons than pros but to Theo, those are standards. And because there is no easy way to keep the system up-to-date or upgrade it (including packages) I switched from RELEASE to CURRENT, so from time to time I can sync and rebuild.
 

BSD-Kitsune

Active Member

Reaction score: 69
Messages: 170

Dealbreaker for me on using OpenBSD on the desktop is the lack of Nvidia support. I won't use AMD or Intel, the former for piss poor drivers, the latter because their GPUs are as slow as frozen molasses.

I agree though, I frankly get pissed off at the number of OS X users on here who are so uninformed about the FreeBSD desktop/workstation quality. Its obnoxious, and I wouldn't care less if people used OS X if they kept their damn opinions to themselves.
 

hitest

Well-Known Member

Reaction score: 61
Messages: 347

Dealbreaker for me on using OpenBSD on the desktop is the lack of Nvidia support. I won't use AMD or Intel, the former for piss poor drivers, the latter because their GPUs are as slow as frozen molasses.

Understood. OpenBSD does not support Nvidia. For me Intel graphics work well enough on Linux, FreeBSD, and OpenBSD.
 

zspider

Aspiring Daemon

Reaction score: 112
Messages: 584

Also in OpenBSD when I used USB, sooner or later the whole system would hardlock like it was 1995 o.0.
 

BSD-Kitsune

Active Member

Reaction score: 69
Messages: 170

Understood. OpenBSD does not support Nvidia. For me Intel graphics work well enough on Linux, FreeBSD, and OpenBSD.

Well, in my use case, I like to use a system with discrete graphics, and I know a lot of people who work at Nvidia. From what they told me, the reason they don't release a lot of code to the public is because they don't want AMD to understand how their graphics driver code ties to their graphics card. According to one of the engineers I talk to who worked first for SGI then Nvidia later on, he says that AMD's and Intel's graphics chips aren't well engineered because they don't spend as much time optimizing the kernel level code, because he has looked at the open source drivers they released. He also criticized the overuse of microcode by AMD.
 

retrogamer

Member

Reaction score: 20
Messages: 72

Well, in my use case, I like to use a system with discrete graphics, and I know a lot of people who work at Nvidia. From what they told me, the reason they don't release a lot of code to the public is because they don't want AMD to understand how their graphics driver code ties to their graphics card. According to one of the engineers I talk to who worked first for SGI then Nvidia later on, he says that AMD's and Intel's graphics chips aren't well engineered because they don't spend as much time optimizing the kernel level code, because he has looked at the open source drivers they released. He also criticized the overuse of microcode by AMD.
It's also worth remembering that NVIDIA absorbed a lot of the old 3dfx employees after they went belly up. That's actually why I went with NVIDIA, I was a big 3dfx Voodoo guy before that. From what I've read, those graphics cards wars of the 90's made a real impression on them and really fueled their desire to protect trade secrets. I understand why open source purists don't like their approach, but I still want to game while using a UNIX-like OS, and it's hard to beat the quality of their driver and hardware. Having said that, I've played with Nouveau and it's getting very good on Linux with Kepler cards, I wish DragonFlyBSD and OpenBSD had the manpower to port that driver over (I know DragonFly submitted it as a GSoC project). I never really experimented with it when it was available in the UMS era on FreeBSD, but it would be nice to have an option for people with older NVIDIA hardware who can't afford to ugrade as well.
 

wblock@

Beastie Himself
Developer

Reaction score: 3,718
Messages: 13,851

I'm not an open source purist, I just don't want to be entirely dependent on a vendor for drivers. Vendors can and do drop support, at which point the users are either stuck with an end-of-life version of the operating system, or must try to come up with reverse-engineered drivers. There are open drivers for Radeon and Intel GPUs, so I use those.
 

BSD-Kitsune

Active Member

Reaction score: 69
Messages: 170

It's also worth remembering that NVIDIA absorbed a lot of the old 3dfx employees after they went belly up. That's actually why I went with NVIDIA, I was a big 3dfx Voodoo guy before that. From what I've read, those graphics cards wars of the 90's made a real impression on them and really fueled their desire to protect trade secrets. I understand why open source purists don't like their approach, but I still want to game while using a UNIX-like OS, and it's hard to beat the quality of their driver and hardware. Having said that, I've played with Nouveau and it's getting very good on Linux with Kepler cards, I wish DragonFlyBSD and OpenBSD had the manpower to port that driver over (I know DragonFly submitted it as a GSoC project). I never really experimented with it when it was available in the UMS era on FreeBSD, but it would be nice to have an option for people with older NVIDIA hardware who can't afford to ugrade as well.

Since my NDA expires this year on the 19th of May, I'll be able to resume open development, I may consider doing that if I've the time to study the Linux Nouveau KMS implementation enough, if it makes it back to GSoC. If it gets ported to at least one BSD, then it will be a lot easier to port to all of the BSDs. Even if I don't get to that level of confidence, I will likely tackle some form of work for the BSDs this GSoC year.
 

retrogamer

Member

Reaction score: 20
Messages: 72

I'm not an open source purist, I just don't want to be entirely dependent on a vendor for drivers. Vendors can and do drop support, at which point the users are either stuck with an end-of-life version of the operating system, or must try to come up with reverse-engineered drivers. There are open drivers for Radeon and Intel GPUs, so I use those.
I respect that point of view as well, but NVIDIA have had a policy of dropping cards after about 5 years for awhile now (after discontinuing the old nv driver), so it always amazes me when someone is shocked that it happens. I think the problem lies more with the average consumer who buys a laptop/desktop at a big box store or on Amazon without doing research than the average customer buying a discrete graphics card, though the irony is that NVIDIA will probably drop your old eMachine's integrated graphics before they drop a GTX 550 Ti.

EDIT: I should say that many cards end up being supported far longer than 5 years - http://www.tomshardware.com/news/nvidia-eol-graphics-card,26304.html I was just giving a worst case scenario.
 
Top