"Now don't get me wrong, Linux does great things but it's never worked out of the box well enough as a desktop. There's always something to tinker with, some driver to compile, some knob to fiddle with."
Been using Linux (Ubuntu LTS releases) as my everyday desktop and laptop OS since around 2007/8. I had issues at first with drivers, especially with wifi and graphics cards.
But lately (approx since Ubuntu 12.04 LTS), stuff just works, no need to manually install or compile anything, no need to tweak anything unless I want to. Of course you can find hardware that doesn't work on Linux, but that's just a matter of a bit of googling before buying a laptop/desktop.
I've found that lately, it seems like Ubuntu requires less fiddling than osx or windows, especially with printers & scanners, where I just plug it in and it works (or it auto detects if it's on a network). But colleagues on windows or osx have to download drivers, usually filled with crapware (i.e. "YOU ARE OUT IF INK, BUY IT HERE" messages, unless they're careful to download the barebone drivers instead of the full driver pack).
To add to this: I just installed Fedora 21 on a Thinkpad T430. No additional configuration was required - I dropped in my wireless password using the GUI, and I'm good to go. Plugged in an external monitor, and it "just worked." No network, trackpad, sound, or special key (sound/etc) drivers required - it "just worked."
Desktop Linux has come far from where it used to be just 5 years ago.
It's an endless battle with different peripherals – you are never going to support every obscure device with community backing, when none of the developers have even heard of your gadget, much less owned it.
When you have simpler needs, like me – you want to run Linux software on a desktop computer that's comprised of well-known, widely used and well-supported hardware, desktop Linux with Fedora Core “just worked” over twelve years ago. (NVIDIA's proprietary drivers never came and never will come by default, but I considered that less a requirement when you had to install them yourself on Windows XP, too. The drivers were already back then top notch.) I wasn't that good with computers back then, and my biggest gripe, by far, were the fonts that didn't look like the pixelated fonts I'd grown used to with Windows'.
OK, I've puggled around with OpenBSD and paid for a 5.6 cd as a contribution to the project.
I'm trying to work out how to set up cups printing to a Samsung printer (splix drivers) and keep suspend working when the cups daemon and dbus is running. Oh, and hot plugging USB sticks (toad) with XFCE4 and having problems.
So I slink back to Debian Sid which just works...
OpenBSD works fine and suspends on a ThinkPad X61s but trying to keep that going with a variety of services seems to be complex. I'd be delighted to rtfm if anyone has any pointers...
To get the obvious question out of the way: You did follow the instructions in /usr/local/share/doc/pkg-readmes/ for both cups (might require a kernel without ulpt) and toad (requires hotplugd running)?
I did spend some time to make toad work with xfce for the 5.6 release (resulting in reports such as https://bugzilla.gnome.org/show_bug.cgi?id=724916).
If toad is really broken in 5.6 I'd really like to know how and why.
The same has been my experience, both personally (with a few exceptions involving super-recent hardware) and professionally (my day job involves selling people Windows-virtualized-on-Ubuntu, because have you ever tried to get the same Windows image running on two different models of hardware?).
So I think we need to rethink whether out-of-the-box driver support is sufficient for the Year of Linux on the Desktop. It seems like it's necessary, but not enough to get people to move over en masse.
Of course it is not. Linux needs to offer something new, something fresh to the table. Almost every software available on Linux is available on Windows too, which means that there is no reason for a user to make this switch.
Luckily, Windows screwed up with Windows 8, and ended supporting XP, which did gave a certain popularity to Linux platform. Most people I know (now to be clear, I'm talking about non-tech related people) learned about Linux in that area of time.
This is coincidentally the same time when I made the switch, not because of those reasons, but it happened around that time.
So, to really have "a year of Linux", Windows will have to make a lot of screw-ups, Linux will have to offer something new to the table, and there are many other prerequisites as well. Moving most of the Windows applications to the cloud does definitely help. I love being able to edit Word documents and to use Evernote without anything installed on my hard drive.
As a counterbalance, I bought an Intel NUC about eight months ago. Linux did not work out of the box, and it required a confusing process of installing a BIOS update before it would boot. After that, it worked OK, with the exception of the IR port, which required a lot of command line tweaking.
I was surprised that a modern computer like a NUC wouldn't work with Linux out of the box.
> I've found that lately, it seems like Ubuntu requires less fiddling than osx or windows, especially with printers & scanners.
I'd like to share that I have the same experience especially with 14.04. I work with huge array of industrial printer from digital to thermal(HP/Epson/Canon/Xerox/Zebra). Vendor only officially support Windows 7 64bit, but it works perfectly on Ubuntu 14.04 that upon our advice, one of our vendor started to recommend 14.04 for their other client.
Another data point: My parents' computer (which was running XP) recently died -- so I helped them pick out a new system (came with Windows 8.1). First, I had to install a classic shell program, because the Start screen was throwing them off. Then I couldn't get their USB scanner to work -- HP don't make drivers for it for Windows 8 (scanner is too old and unsupported). But the scanner works find under Linux.
I picked up a lot of printers for free that were orphaned from windows vista, 7, and now windows 8. They worked fine under linux, without any monkeying around. Free printers due to windows updates. Great stuff!
I was using a FreeBSD desktop for about two years as my main work machine and finally gave up after constant goofing around with things. I switched to Manjaro yesterday on a brand new laptop, I was blown away at how quickly everything worked right out of the box. It even had Steam on it.
(Manjaro is an Arch based distro; I can see how Steam being on a default install would upset some people)
Ooo, thanks for the tip on Manjaro. I'm an Arch addict, give me the pure stuff. But I've been looking for a good alternative to Ubuntu Desktop for introducing Linux to newer users. Steam pre-packaged would be a plus for that demographic :)
IMO, if someone doesn't like the design philosophy because it strays too far from Arch, why do they care? It's not actually Arch Linux. It doesn't affect them. That's the beauty of a fork.
At least with printer drivers, OS X is a breeze. Plug in a printer, get a prompt asking to download driver, downloads in 10 seconds, installs and I'm printing in less than 3 minutes. No crapware. No fiddling in a terminal.
I can confirm similar experiences with Linux Mint KDE. Didn't need to install graphics drivers manually, and my specific model of Wacom tablet was auto-detected. Easily the most pleasant desktop experience.
It seems "ready for the desktop" when applied to Linux means something different from "ready for the desktop" when applied to, say, Windows.
Windows: It can come with crapware pre-installed, such as "personal firewalls" and "antivirus" software which are mainly ad delivery platforms for the partners of whoever sold you the hardware. It can require you to go to malware-ridden sites with deliberately deceptive webpage designs in order to download some kinds of software. It occasionally requires maintenance in the form of digging through sometimes deliberately obfuscatory registry settings. It only runs Windows software; if you try to run Mac or Linux software on it, people laugh at you like you're insane. That's ready.
Linux: It must have no deficiencies. It has a package manager which performs dependency tracking (something alien to Windows, as far as I know) and contains no malware. It can never requires maintenance of any kind. It must run Windows software flawlessly. Only then will it be ready.
MacOS X: It has settings you can't change. It does things its way. If you disagree, you're wrong. It runs nobody else's software. That's ready.
Windows Desktop is thought in a top down approach. There was a lot less design than in the unix world (historically no permissions, no package management etc). You download a .exe, then you get a new icon. Plus its ubiquitous community, making weird things solvable (something Ubuntu leveraged too). It's a more "human" approach, people don't have to really think through, it either work or they find someone to make it work, whether or not it's built on solid principles doesn't matter for the average joe. That's what, to me, people called a Desktop. Also it used to be a centralized, even though now Windows embeds different frameworks (and starts to feel like linux dependency papercuts). In linux you have options, leading to paradox of choice.
> if you try to run Mac or Linux software on it, people laugh at you like you're insane.
We make good use of cygwin at our workplace. While it's not a perfect solution, it's very easy to install and use. It's incredibly useful to run linux/unix applications "inside" a windows environment.
I haven't tried cygwin in quite a few years, but I hear that it's improved a lot. Still a large installation though, but very useful if you must use windows.
This is brilliant. Love your description of the different platforms. I really don't think today's Ubuntu desktop is any worse than Windows. In fact, the Unity desktop is much easier to use than windows 8, which is thankfully going away.
"I installed OpenBSD 5.6 on my old Thinkpad x201 and much to my surprise, it just worked. [...] WiFi required a firmware update [...] I won't cover how to burn an ISO to a CD. [...] the various tweaks to config files in OpenBSD in my 'configs' github repo [... etc...]"
Is this a joke?
"Just worked". I don't think those words mean what you think they mean, even with the backtracking at the end of the post.
Marcellus Wallace would have something to say about how near "just worked" that is.
So I'm the author of the linked post. I hadn't ever used OpenBSD seriously in a desktop setting. I've installed it for servers to play around with.
And to answer your question "Is this a joke?", my writing is partly in jest and partly in seriousness. The fact that I had the laptop configured in about 45 mins (still faster than setting up Windows) was a surprise to me. It's faster than attempts at setting up Linux on it. Exception might be Debian but I've slept since then.
Regarding configs, those are just preferences. With the exception of the trackpoint middle click button, I don't actually need any of the other things as some nice OpenBSD devs have informed me. For example, the PF settings I included aren't necessary.
I would say that to really use OpenBSD as a desktop OS, the login.conf tweaks are non-optional. Otherwise you will find "big" software like browsers with more than a few tabs open, Office suites, etc. being killed due to the default memory limits.
Minor correction: firefox (at least) isn't "killed" due to memory limits. firefox segfaults because it tries to allocate memory and doesn't check for null. chrome in effect works around the memory limit by using one process per tab.
What does "configured" entail that it takes you more than 45 minutes to get Windows up and running? The Windows 8 install is less than 15 minutes start to finish even from a USB dvd drive. Your options are: select the drive, put in a license key if you have it, pick a username and password. Windows 10 is faster still.
If you're talking about changing settings or installing apps after the fact, that can all be slipstreamed.
In Linux-land, you can do all of the above as well with kickstart/derivatives.
I use the same laptop (Thinkpad X201) as my daily driver. It's got several generations old Intel wireless and video, which is supported out of the box just about everywhere.
When I installed OpenBSD on it, I could get Gnome 3.10 working but I was unable to find a good way to use the wireless working without having to use the console.
Yes, unfortunately there is no tooling for configuring wifi graphically. The existing tools from Linux land are tightly coupled with frameworks that don't exist on OpenBSD (network manager, linux mac80211 ioctls, and probably systemd in the near future). That's not a blocker in principle since we could patch the software, but it takes some effort. It would be great if someone could get this done.
Yeah, I couldn't tell whether the author was being honest or mocking it.
I use Ubuntu on my home laptop, and I agree that it doesn't quite work 100% yet compared to OS X (or, uh, Windows), but it does have the most user-friendly installation of the Linux systems out there.
It looks like the only foothold you have here is WiFi? Burning an ISO to a CD is elementary school difficult and tweaking your configs to suit your preference isn't part of a working system. WiFi is consistently a problem on all operating systems, too.
I have not needed to fuck around with wireless drivers on a Thinkpad x300 (around the same era as the 201) for Fedora, Windows, or, heaven help me, Haiku. It is not "consistently a problem on all operating systems".
As for burning CDs - CD drives are becoming a legacy technology.
OpenBSD doesn't presume to know how you'll use it. That said, it's understandable to be surprised when things 'just work' with very little configuration.
I recognize the problem of distro hopping for years and the comforts of proprietary operating systems. Then I found Arch Linux. Once installed, there is less fiddeling than for any other system I have tried, for my usecase. I tried installing OpenBSD on my laptop about a month ago, and it failed miserably, as it could not recognize the wireless network driver. There was also talk about this ancient technology called CD-ROM, which was disturbing. Within less than an hour, Arch Linux was up and running with all my favorite applications installed and a fully working desktop / window manager.
I find Arch Linux to be the opposite. I've spend more time tweaking it than any other distro. However, that may be because it is so tweakable. Also, things like to break in ArchLinux on normal updates more than other distros, so be prepared for some .pacnew tweaks if old config files aren't compatible.
That being said, I run Arch on my secondary machine, and it's the best fit I've found in the *nix world.
If the internal wifi doesn't work you could try a supported USB-based wifi adapter. Your internal card might eventually be supported. If having internal wifi is very important then try before you buy.
Do you remember what Linux wifi support was like between 2000 and 2010? Wifi drivers are pretty hard to write and there are virtually no docs for any of the available hardware. Linux (and FreeBSD, too) have better wifi support nowadays because vendors have finally started writing drivers for those systems. Look at the email addresses of authors in copyright statements of Linux drivers for Atheros, Broadcom, and Intel cards, for example, and you'll see that this driver code was written in-house by vendors. OpenBSD doesn't get that level of support from vendors.
By the way, add Realtek and Ralink (now Mediatek) to the above list of companies writing drivers for Linux.
And now name a wifi chipset that isn't made by one of these companies. :-)
It's awesome that Linux has achieved this kind of support. But this is a luxury. Don't take it for granted. It took a long time and a lot of energy to get there. These companies are still keeping hardware docs under NDAs so it is very hard for other open source systems to compete fairly.
I installed Arch (actually Antergos) on a brand new Samsung laptop and everything worked out of the box: touchscreen, 3200x1800 display, touchpad, wifi, /home on a separate partition, encryption, etc...
When the article says "wifi required a firmware update" the premise that openbsd "just worked" is false. This sort of tweaking and configuring is exactly the same as for any Linux distro. We've been doing this sort of Linux tweaking in my employer's systems group for 15 years, and no end in sight. For that matter, the same as downloading a new device driver for wifi on Windows, and of course we all have shared that experience too.
It seems to me that the only way you get a seamless experience with an OS install is if the hardware vendor has carefully tested and tuned the OS configuration for that specific piece of hardware. Apple does this, and even they aren't flawless.
OpenBSD packages firmware and handles it automatically on first boot with fw_update(1). There is no "manual tweaking", it just means that some wireless adapters won't function using the ramdisk kernel for installation.
If it was automatically handled, why would the author mention it specifically?
And if you have to go to the "very thorough OpenBSD documentation" just to configure basic desktop setup, then no, it doesn't "just work". You shouldn't need to go to documentation to set things like timezone or user/pass, so why is documentation mentioned for a "just works" install?
If you don't have wired networking configured, fw_update(1) won't be able to fetch firmware on first boot, in that case it needs to be run manually.
The timezone and a default user can be created during installation, however yes, it is perfectly acceptable to expect that a user is capable of reading documentation.
It is not perfectly acceptable to claim "just works" if the user has to read documentation. It violates the definition of "just works" if you have to crack open the docs.
Yes, any task you have to read documenation for is, pretty much by definition, not a "just works" task. Of course, 'using' an operating system has so many aspects to it that your point is pretty nonsensical. In any case, we were talking about installing the OS, not using it.
That said, there are several OSes out there that have plenty of users who never read the docs for using it. Android, iOS, OSX, and Windows all have teeming masses of people who are able to use them adequately without reading documentation (just ask someone who's worked a support desk).
Half the time wifi drivers don't work on Windows when you install either. But all it took was plugging in ethernet and running fw_update. That's pretty minimal.
In my experience you don't get anywhere asking a vendor to do that. There isn't enough Linux desktop market share to justify a change to their business model.
hell, vendors can't even be bothered to use consistent chipsets from one shipment of product to the next. The Linux community are left with checking serial numbers or product skus and maintaining wiki sites with cross-referenced tables that tell us if a given product is known to work or not. That's the world of Linux webcams and wifi.
Sadly, if there were more Linux desktops the vendors would take more care. Until the vendors take more care there won't be mainstream Linux desktop adoption.
I installed OpenBSD on an old Dell B130 last week, but it choked on the Broadcom BCM4318 wireless controller. I got it to connect with little difficulty after installing the driver, but speeds were slower than molasses (it took minutes to establish SSH connections between machines on the same LAN). Attempts to use the wired Broadcom BCM4401-B0 ethernet controller prevented it from booting. I finally gave up and installed Slackware Linux on it again, which also requires extra work for the wireless controller but yields great performance.
I don't blame OpenBSD and am still looking for an appropriate machine to install it on. I'm no stranger to the OS, having used it to build transparent bridging firewalls in the 3.x days. The installer has really improved a lot since then.
But I am concerned with the state of networking hardware, now that more and more machines are produced with WiFi only. The number of points for failure seem to be multiplying and the dependence on an Internet connection is a given these days (sometimes even during OS installation). I look forward to the day when all OS installations handle network connections as simply as OS X does (which I realize is by virtue of its control over hardware & software integration).
Many machines do come with wireless only, but they also come with USB and there are many USB to Ethernet adaptors that are well supported (at least by Linux, I don't know about OpenBSD).
Thanks for the tip. I have three resolvers on my LAN, but two of them require the FQDN for reverse lookups. I'll make sure to add "search localdomain" to /etc/resolv.conf next time.
I like the sentiment, but reading http://www.openbsd.org/ftp.html about buying optical media as the best way to get openbsd, and how to boot a floppy, I immediately became skeptical. So I did a quick search for UEFI and Secure Boot and nothing comes up. I see a reference to GRUB (which can be compiled to boot UEFI computers) and rEFIt which is abandoned in favor of rEFInd. rEFInd can support both UEFI and Secure Boot. Any Mac or PC with Windows 8+ is (U)EFI based, and additionally Secure Boot enabled with Windows 8. Yes that can be disabled and then re-enabled to go back and forth between Windows and openBSD, but this is pretty well solved on Fedora, Ubuntu, and openSUSE out of the box. Maybe the best is openSUSE which has the proper chainloader patch to boot Windows from GRUB in Secure Boot mode, obviating the need to go through the firmware's boot manager to switch between OS's. If openBSD install media lacks UEFI support, it isn't a deal killer, however it makes it rather substantially less "out of the box" if this isn't just dealt with at install time like it is on at least those three linux distributions.
I'm pretty sure his surprise is that it mostly works out of the gate, not that it is a completely tailored experience to his desires. Having it boot to a desktop and have network access is a pretty big deal, especially with the expectations for a BSD that would have been set more along the lines of "server" for me and not "desktop experience."
I'm also sure he's joking that this is the year of the BSD desktop, and it's a funny joke.
The thing to remember in these "ready for the desktop" debates is that for 95% of Windows or Mac OS users, they never experience the initial installation and configuration of the OS. The manufacturer of the computer does that, and it (hopeully) "just works" out of the box. All the necessary drivers are preinstalled and the OS is configured for that specific combination of hardware.
With Linux or BSD on the other hand, you're almost certainly installing it yourself. The basic install for most distros and even OpenBSD is just about as painless as it could be, but even "simple" questions such as using existing partitions or creating new are going to lose a lot of folks, to say nothing of tweaking config files, choosing and configuring a window manager, etc.
Hand a user a computer with a properly installed modern Linux or BSD desktop, and most would be just fine. So "ready for the desktop" is not really anything to do with the state of the OS, it's all to do with someone actually selling a PC with that OS properly installed and configured.
I tried installing OpenBSD 5.6 with XFCE on a Thinkpad X300, and I didn't have any trouble with the hardware I use, or the base system, in fact everything looks well though out and documented in the manpages. (Gnome works too but it feels quite slow even on Linux)
In the end I switched back to Linux when I encountered trouble with applications from the ports, for example libreoffice dumping core everytime you click somewhere in a spreadsheet.
I did write down all the tweaks/configuration that I've done on the system in an ansible script, and my plan is to try again with the next release, and report some bugs if it still fails.
Bumping datasize-cur in /etc/login.conf up to at least 1024M should prevent the libreoffice crashes. It's quite possible that this limit will be bumped up by default soon as the low default limits keep causing issues with applications like libreoffice and firefox (though for some setups low limits make sense).
I think what the BSDs do is great and they are fantastic for servers of varied types and sizes however running it on a laptop is backwards. The power management and hardware support just aren't there, even in Linux, to rival the kind of integration Apple has with it's hardware and OSX. You can get close with Linux or windows on a thinkpad, sure, but running BSD on X where X isn't a server is not the way forward for a non commercial desktop.
Yes Linux and OSX have their own problems today but they aren't the the ones discussed in this article. Sometimes you have to suffer through changes and progress for the end result.
So tired of people mocking the OS choices of others. If someone is happy with Linux or BSD in their own use, how does that equate to a claim that this same choice is acceptable for everyone and that it is the "year of the _____ desktop"? In the desktop there are many niche choices that some of us make, they work well for us and I don't think we ought to be mocked for it or told we can't do it.
As the author of the post, I'm not mocking others' OS choice. I made that title mostly as a joke. I also was just cataloging my thoughts on setting up OpenBSD 5.6 on a ThinkPad x201. I actually didn't intend for that many people to read it.
I submitted it to lobste.rs as a resource for people who might be thinking about doing it, nothing more.
I agree with you that people just choose what works for them. I was just surprised OpenBSD worked for me on that laptop.
Yeah the comment was not targeted at you. I ran OpenBSD on a laptop for years until the hardware died and I used Debian on the next one. Recently bought new hardware and put FreeBSD on it.
These are exactly what I am happy with. Lightweight unix with a lightweight X setup. Does exactly what I ask and nothing more. I recognize it's not for, say, my parents. I am not doing it with hopes that it will conquer the world. But somehow some segment of the OS X crowd is disappointed with this and feels like they have to mock it.
I'm not an OpenBSD user (I was briefly, but now use Linux or OS X because of software availability, though I may go back at some point), however, one thing I really like about OpenBSD is the philosophy of doing it their own way. It's very opinionated and I find that to be a good thing. One of the things I find frustrating with Linux is that it tries to be everything, which is good for flexibility, but bad in some other respects. OS X on the other hand has a lot of opacity to me, and I'm not particularly fond of Xcode or objective-C.
The year of the mixed desktop is upon us. Who can afford to use just one OS these days?
I use OSX because it's a Unix that runs Photoshop and Python. I use Linux because the hardware is readily available through /dev and its USB stack is sturdy enough to put up with my crappy firmware. I use Windows because that's the only place a lot of tools (e.g., embedded debuggers) and games are available.
The web browser has really made it possible for me to be mostly OS agnostic for most "normal" users' desktop needs (email, documents, video, music, &etc).
A lot of people get a bad first impression by trying OpenBSD in virtualization, if you want to see how it really performs then try it out on your laptop.
OpenBSD has kernel modesetting (KMS) for Intel and AMD graphics. Here's a video from OpenBSD's GNOME 3 port maintainer, Antoine Jacoutot:
2000 should have been the year of the UNIX/Linux desktop. Windows XP was late, users were fed up with Windows 95 crashing, the Internet bolt-ons for Windows 95 were not very good, and Windows 2000 wasn't compatible with many old 16-bit applications. There was a big window of opportunity there. It was missed.
But Windows 98SE was one of the best versions of Windows. So good in fact that it was a very long time after Windows 2000 came out that I made the switch. Linux on the desktop still had far too much catching up to do back then. Additionally, I would say PC gaming was at a peak around that time, and that meant for a sizeable chunk Windows was the only option.
Windows 98 was a rehash of Windows 95, as was Windows ME. Windows 2000 was a good desktop OS, based on Windows NT, but many of the crappier 16-bit apps wouldn't run, so it wasn't much used by home users. Windows XP was Windows 2000 with a lot of Windows 95 kludged back in so that old 16-bit apps would run and the user experience looked more like Windows 95.
When XP was EOL'd, I started wiping old systems (most in rough shape or running some kind of malware) and installing Lubuntu. Everything has worked with little or no adjustments, most importantly printers. We use Terminal services for the few Windows apps that people need, but otherwise they rarely use it.
Does Is there a desktop Carlisle of being secure enough for OpenBSD? Last time I installed it X and window managers were in ports and therefore didn't get the same kind of scrutiny as the rest of the OS. If you're wrecking security by installing an insecure GUI you may as well run Linux.
X gets some scrutiny - it now runs with no user-to-hardware access on lots of hardware, and with restricted user-to-hardware access on most everything (for more information, look at machdep.allowaperture.)
Window managers aren't common sources of vulnerabilities, but there are two in base (an older fvwm, and cwm [EDIT: and twm]).
The real problem, of course, is that you probably want a browser. Even with OpenBSD's hardening and secure defaults (-current takes some steps towards not hooking up gstreamer-plugins[-good] to the internet), browsers are plenty scary.
ridiculous, they missed almost every techinical progress of the last decade. Also this "year of the desktop" stuff is linked to usability. Debian or Fedroa do a nice job there nowadays.
Command history is a property of the shell and pdksh supports it, it just isn't enabled if HISTFILE is unset (other shells use a default HISTFILE if it's unset).
Just `export HISTFILE=~/.sh_history` from your `.profile` and you're done.
Probably worth clarifying that even without histfile, each shell will keep its own history in memory. You can still run commands again by pressing the up arrow. Seems obvious, but people seem to have some funny notions about OpenBSD.
The default shell (pdksh) supports command history, it just doesn't setup a default one, so if HISTFILE is undefined there's no command history. That's pdksh behaviour not specific to OpenBSD (aside from not creating a default HISTFILE on new user profiles).
I don't understand programmers who say that Linux has so and so unsolvable problem.
A certain program running on Linux has a problem on your particular hardware? You wanted a Unix environment, so surely you've investigated the market for compatibility with Linux, when you purchased your hardware.
Second, I've been running arch linux with standard packages on several random laptops and desktops and never had any problem whatsover. It's been my main OS for years. Actually my only OS.
Third, a certain program crashes/ has a bug on your hardware? Then switch that program with something else. If what you care about is a Unix environment for programming, and Gnome is having some problem with your hardware, than switch to Xfce, or Xmonad, or i3 ... That the rational thing to do.
If you still want that particular program that's having problems with your hardware, because, maybe you really like the UI, then by all means fix that bug. It shouldn't take you more than a few minutes, at most a couple of hours in 90% of the times. This assuming you're a C programmer, of course, and maybe some experience with device drivers.
If you're not a hacker, don't like playing with the internals of various userland programs or OS components, then don't compare Linux with Mac or other commercial crap. Set up a bounty for fixing your problem, or donate to the Linux foundation, or the software you would want improved.
----------------
This being said, I'm currently in the process of switching to FreeBSD (later maybe some other BSDs), because of the cleaner, lighter code-base.
----------------
LE: apparently, as seen by recent down-voting patterns on some of my latest comments, there aren't a lot of hackers on this site. I don't see why a reply that expresses an opinion that is not hurtful to anyone would warrant downvotes, but who cares.
It's puzzling to me how you could say that fixing driver issues "shouldn't take you more than a few minutes... assuming you're a C programmer, of course", and then bemoan the lack of "hackers" on this site, and then believe that your opinion isn't hurtful. Objectively, if it only takes minutes to hours to fix driver issues, for anyone who knows C, why are they even showing up in the drivers I get when I install a distro? Subjectively, do you believe that passive-aggressively belittling someone's competence (even if you are correct) is not hurtful?
Besides all that, HN is not a community for expressing correct opinions. HN is a community for expressing opinions (hopefully, but not necessarily, correct) in a constructive, respectful manner. Downvotes are not disagreement; they are an indication that your manner of expression does not build the community that people want.
Been using Linux (Ubuntu LTS releases) as my everyday desktop and laptop OS since around 2007/8. I had issues at first with drivers, especially with wifi and graphics cards.
But lately (approx since Ubuntu 12.04 LTS), stuff just works, no need to manually install or compile anything, no need to tweak anything unless I want to. Of course you can find hardware that doesn't work on Linux, but that's just a matter of a bit of googling before buying a laptop/desktop.
I've found that lately, it seems like Ubuntu requires less fiddling than osx or windows, especially with printers & scanners, where I just plug it in and it works (or it auto detects if it's on a network). But colleagues on windows or osx have to download drivers, usually filled with crapware (i.e. "YOU ARE OUT IF INK, BUY IT HERE" messages, unless they're careful to download the barebone drivers instead of the full driver pack).