top | item 5889357

Linux has better hardware support than OS X

241 points| steveklabnik | 12 years ago |devblog.avdi.org | reply

212 comments

order
[+] edent|12 years ago|reply
Interestingly, I run Ubuntu on a MacBook and a MacBook Air. As they are a "fixed" target, I figured that at least one developer would have made sure that they "just worked". And, indeed, they did.

The installation tutorial was comprehensive, the out of the box experience was great, and upgrades have gone smoothly.

The only thing to note was that I was able to manually update the WiFi drivers for (supposedly) better performance if I wanted. Power consumption seems marginally higher, but I don't run the same profile of programs in OSX.

Having a fixed target is really good for Linux to show how it can shine - and I hope that Dell and Ubuntu continue to make perfectly matched hardware and software.

[+] rsync|12 years ago|reply
Exactly. If there is any hardware platform that should be a "reference" platform for Linux (or FreeBSD) it should be the mac. It's a very tightly focused hardware ecosystem with broad adoption and of higher quality - inside and out.
[+] mathnode|12 years ago|reply
What about over heating?

I tried ubuntu 12.04, and 12.10 on a 2011 macbook air 4,2. I followed the information here, some of the tweaks weren't needed on 12.10:

https://help.ubuntu.com/community/MacBookAir4-2

But the fans were spinning almost constantly. This was with just firefox and vim usage.

OS X seems to do a better job of running Apple hardware at a sensible temperature.

[+] errnoh|12 years ago|reply
Yeah, this is why I laughed at the line "No, it doesn’t have an official reference platform, not even whatever PC Linus happens to be using these days.". Linus is quite known for using MacBooks himself.
[+] chc|12 years ago|reply
Really? That's good to hear. I know support for MacBooks used to be quite poor in Ubuntu. I'm not sure when they got it up to snuff, but I know as recently as a couple of years ago (the last time I tried it), waking up from sleep was still a crapshoot on a MacBook Pro. Maybe it would wake up, maybe your trackpad would even still work after it woke up — but you were never sure.
[+] Derbasti|12 years ago|reply
You wish. For years, I have been trying to run Linux on my dual GPU Macbook Pros. This generally works, but Linux always uses the "big" GPU, thus battery life is abysmal.
[+] muyuu|12 years ago|reply
System 76 are offering new configurations and frankly they seem fantastic.

I haven't ordered yet because I'm in the UK and I have to find out about VAT and tariffs (last time I ordered straight from the US I was charged them and a fine on top, and extortionate "processing charges"). Otherwise I'd be ordering straight away even with a 20% VAT on top.

[+] beagle3|12 years ago|reply
Can you list your "known working" platform (Macbook model, Linux distro and version, etc?) or a good place to find those, if you know one? I'm going to replace my laptop soon, and am considering a Mac, but I've been running only Linux since 2005, and would love to know how to pick a Mac that would allow me to continue doing that.
[+] jfarmer|12 years ago|reply
This is silly. Although I'm sure it's gotten much better since I regularly used Linux on the desktop, you always had to do some amount of due diligence about what hardware worked well with it and what hardware didn't.

For example, because I use OS X, I can go to any store, purchase my choice of Lexmark printer, and be on my merry way with a minimal amount of checking. The fact that I have to know that there's a "reference platform" is the problem. I don't want to have to think about that crap. I don't have to with my Mac. I want to save my mental cycles for important things, not struggling with which printer to purchase.

Or I can put it in simpler terms. There's a concrete social cost to using Linux on the Desktop. Let's say I want a printer for Christmas. If I'm running the amount of information I need to give my family in order for them to buy me one that works is orders of magnitude smaller than if I'm running Linux.

In fact, I'd sound like some sort of bizarro printer snob when I make my request. "If you're looking at Lexmark printers, these models work, these ones don't. HP is good, but not models like X, Y, and Z."

Now, like I said, it's been several years since I regularly used Linux on the desktop. I'm sure it's better. But the problem is not that there aren't known-good Linux configurations. It's that (1) those configurations are essentially arbitrary and therefore not obvious and (2) they require time and energy to learn (memorize, really).

If it's changed, that's great, but that's also part of the problem. Now I not only have to keep a set of known-good configurations in my head but a rolling changelog, too, to make sure my knowledge is up-to-date.

I switched from Linux to OS X precisely because I decided my mental energy was better spent on other things than remembering, "Oh yeah, the Dell Lenovo X876123 mark 10 is a known-good Linux laptop."

I'll add that I'm sure in aggregate Linux supports a much wider range of hardware than OS X. That's great! That's why Linux is kicking ass in all sorts of non-desktop markets like mobile devices, embedded systems, servers, etc. But there is an inherent tension in an OS that's optimizing for that vs. constraining itself to the desktop and the desktop only.

[+] city41|12 years ago|reply
That's not a double standard at all. OSX having superior hardware support because it runs in a walled garden on hand picked hardware from Apple themselves is entirely by design and something Apple put a lot of energy, money and dedication into. OSX absolutely should benefit from this over other OSes, as it did not come for free.
[+] lyudmil|12 years ago|reply
>This is a double standard. To have its “great” hardware support, a given release of OS X has to support a few dozen hardware configurations.

Agreed. Linux and Windows, as operating systems, are solving a much different and more difficult problem than OS X is. You can get them to run on a wide variety of hardware relatively easily. By that metric, both Windows and Linux have "better hardware support" than OS X.

The problem is this metric is completely useless to me. When I turn on my machine, I do it in order to get work done. This means I need to be able to go online for project management and responding to emails, I need to be able to call my clients using their preferred VoIP service, I need to run text editors, IDEs, and various virtual machines, interpreters, compilers, and servers, I need to be able to hook into an iPhone or Android phone and load software onto it, I need to be able to quickly and painlessly install libraries, software, and developer tools, I need to be able to edit video and audio, and I need to have the confidence that if I had to learn a new skill or assumed a new responsibility, I'll spend most of my time learning rather than setting my system up.

I care about my system's hardware support as far as it allows me to do these things quickly and painlessly. I've had Linux and Windows machines before and I've done all I've needed to do on them, but I've never accomplished my work as effortlessly as on a Mac. I think that's what geeks mean when they say "better hardware support". They mean "fewer unforeseen setup-related problems". That's a metric I care deeply about.

[+] cabirum|12 years ago|reply
Linux "supports" most of current hardware by using generic drivers offering minimal functionality for any given device. The device will work, but not any of it's non-standard or advanced features.

E.g. want to switch DPI in your new shiny Logitech mouse? Or customize behavior of it's buttons? Nope, sorry, not supported.

I, for one, do not consider this a supported hardware, even if basic functionality is there.

[+] driverdan|12 years ago|reply
Valid points but the author highlights one of the original reasons I switched from a ThinkPad running Linux to a MacBook. All high end Linux laptops have driver issues, including ThinkPads. Last thing I knew you still couldn't switch between discreet NVIDIA graphics and the Intel 4000 without a reboot. I've been told some laptops still have issues with sleep / hibernation.

Maybe the Dell XPS 13 highlighted in the article works well (no discreet video) but for that price I can buy a MacBook with equal specs that will natively run Adobe products.

I'd prefer to run Linux on hardware with smaller margins but until there is a reference system (or at least one that works flawlessly) I'll stick with Apple.

[+] rsync|12 years ago|reply
There's another issue here, and I digress, but...

When I first switched to OSX, it was because there was finally a UNIX system that would "just work" with a printer, or whatever, just like the author describes. Even more importantly, there was a UNIX system with a web browser that "just worked" - no more days of hacking to get a PDF to show up properly, or a flash animation, etc.

Now, in 2013, I am willing to stipulate that the author is correct, and hardware support is no longer an issue with Linux, etc. So why am I staying with OSX ?

Because of the virtualization licensing.

No matter what platform I choose to run myself (and I would prefer a free OS) I absolutely need to virtualize OSX. And OSX is the only system I can do that on.[1]

So that's that. As odd as it seems, it is the OS licensing of an OS I don't even care to run that forces me to run it.

[1] Yes, I know all about it. No, I do not have time to hack around the restrictions and trick vmware, etc. I wish I did. I don't.

[+] th0br0|12 years ago|reply
Actually, even ThinkPads aren't the inofficial reference platform these days either... I've had this W520 for the past 2 years and, while running with NVIDIA graphics, I can neither boot without specific kernel options (pci=noacpi) nor can I change the brightness after the kernel is loaded (pre-kernel changes are fine and stay after boot. Even changing brightness after kernel load but before loading of the nvidia module causes a silent crash)
[+] loser777|12 years ago|reply
Yup, this is increasingly the case. Kernels 3.9.x still have power consumption issues when using suspend/resume on Tx2x (Sandy Bridge) machines. If you managed to buy a ThinkPad from that generation with "Thinkpad Wireless," good luck getting reliable wireless connectivity, as the binary blob 8188CE drivers are worse than garbage.

As much as people talk about how AMAZING hardware support on linux is, if you want a "just works" experience, the lowest common denominator is usually Intel CPU, Intel Wireless, Intel Graphics.

And that exotic keyboard layout with function keys? Hope you like configuring xbindkeys.

[+] ownagefool|12 years ago|reply
I doubt there is a reference platform, but if there is one it's really with intel graphics. Only this, from a laptop point of view, has the kind of support that is needed from a thermals point of view. AMD is apparently nearly there with new power managment code, so this may change in the future.

Obviously if you want to use binary drivers, you can, but one would hardly call that reference, inofficial or not.

[+] aeroevan|12 years ago|reply
I think that was the nvidia optimus switchable crap that had very little Linux support.

I think some of the most recent NVIDIA drivers have some support, but my T410 thankfully doesn't have that.

[+] sciurus|12 years ago|reply
Six years ago I bought an Inspiron 14 that Dell sold with Ubuntu. A few weeks ago I got an XPS 13, the model Dell now sells with Ubuntu (although I didn't purchase the developer version because it had a longer shipping time and I needed it ASAP). Unfortunately, even on this "reference" hardware there are many frustrations.

I installed 64-bit Ubuntu 13.04. Supposedly all of the special tweaks Dell makes to the version of Ubuntu 12.04 they install on the developer edition are included in 13.04. At first, I was unable to boot the installer; I had to switch the boot mode to Legacy from UEFI. Graphics don't work at the login screen; you have to switch to another virtual console and restart LightDM or just enable automatic login. Adjusting the display brightness doesn't work. If I connect it to my TV, X locks up until I disconnect it. Some of Unity's multitouch gestures work, but some don't. I haven't found any way to configure the touchpad; I'd really like to be able to middle-click.

Today I hooked up my Nexus 4. Rhythmbox, Ubuntu's default media player, sees it as an MTP device but locks up and crashes if you try to transfer any music to it. I switched my Nexus 4 from MTP to PTP mode and fired up Shotwell, Ubuntu's default photo manager. It saw the Nexus 4 as a camera but reported an error and failed when I tried to import my photos from it. At least I can transfer files to and from it using the file manager, but if I try to open any files without copying them to my computer first, it fails.

[+] steveklabnik|12 years ago|reply
If you didn't buy the version with the OS installed, then it's not the same comparison.

When you buy a MacBook, OS X is already installed and working. I don't know a whole lot about the Dells, but isn't the same true otherwise?

[+] calinet6|12 years ago|reply
The article calls out people for putting down Linux device support, and then adds this lovely disclaimer:

"If you use Linux and like to advocate for its use, it’s time to stop telling people they should try it and it’ll Just Work. Because it won’t. It’ll probably Mostly Work. And the remaining 5% of not-workiness will cause yet another person to start propagating the “Linux has bad hardware support” meme."

I'm sorry, but if 5% of devices don't just work, then you have no place writing this article, and you've just discovered exactly why that "Linux has no hardware support" meme exists.

"But make sure they know that for best experience, they will have to research and choose a known-good configuration. Just like they did when picking out their shiny Mac."

In other words, you have to do more work to get it to work. In other words, it does not "just work." In other words, Linux does not have better hardware support than OSX, OSX just has better hardware.

Don't you get it? That's exactly why people buy Macs: so they don't have to think about that. Start a company that makes preconfigured Linux desktops that "just work" if you want, but don't go decrying a whole platform for having it all figured out. If you're saying it's better "if only people would just do their research" then you really don't get it.

[+] trebor|12 years ago|reply
This was one of the reasons why I did not switch to Linux, but switched to OS X. The factor of "just buy it and it works" is really appealing, especially from my Windows system-builder past. (I reinstalled Windows XP 6x in about a month to find what I was installing that broke OLE, and totally broke my only school computer's ability to launch word processors.)

But then again, OS X has good hardware support because it only supports the kind of hardware that Apple sells. They can afford to do the work to fully support each piece of hardware they add, rather than the full breadth of the computer spectrum.

[+] nkorth|12 years ago|reply
> In other words, you have to do more work to get it to work.

Last I checked, making a Hackintosh was a lot of work (when it's even possible). And that's what happens when installing OS X on 95% of hardware.

[+] rubiquity|12 years ago|reply
It's always been a little mind boggling to me that in Web Development where we deploy to Linux servers nearly 100% of the time so many people, especially in the Ruby community, develop using OS X instead. Personally, I use OS X at work because that's what my employer gave me but at home I use Linux that runs just about perfect with a Dell Vostro laptop.

That said, there are some great, modern tools that people have made for OS X that won't work on Linux (brew, pow, rbenv, etc. - ok rbenv works on linux but its spotty) that I miss from when I switch to Linux at home. And while I know Linux has equivalents of the three examples I listed I think the interface of those tools, and many others on OS X, are just nicer and easier to use in general. It would be nice to see a focus on better tooling for Linux users and less OS X only tooling in the future.

[+] wmoxam|12 years ago|reply
It makes no sense to miss brew on Linux ... The only reason brew exists is because OSX doesn't have an official package manager.

Also what problems did you have with rbenv on Linux? It seemed to work just fine the last time I used it ...

[+] tobych|12 years ago|reply
Do people really do this on the native OS on a Mac? I use Macs for all my work, but we deploy to Linux, so that's what runs in all the VMs I run on my Mac. Currently I even use Eclipse in an Ubuntu VM to do the work. I wouldn't know how to install a package on my Mac if I tried, and given that all the production machines run on Linux, I've never seen the need.
[+] ownagefool|12 years ago|reply
Vagrant is the answer. I mean virtulization itself is the answer, but vagrant packages it up in such a way that it's easy to use on any platform and easy to get going as long as someone takes the time to write the first file.

Basically, wave of the future. :p

[+] petepete|12 years ago|reply
rbenv is 'pretty spotty' on Linux? In my experience it works perfectly.

Linux is my development environment of choice and the beauty of it is I don't need 'better tooling' in order to get my job done quickly and efficiently; everything 'just works'.

[+] general_failure|12 years ago|reply
The current problem with linux is apps and the desktop itself. Apps - where do I start? There are so many to choose from, yet most will never do the complete job. Most desktop environments have devolved into a sorry state in the name of 'organic UI' and mostly unusable graphics animations by the window managers.

Things are becoming much easier these days though since everything is moving to the cloud and steam has arrived.

[+] taeric|12 years ago|reply
Having been away from the Windows world for so long, I'm curious just how different it actually is. Sure, there are obvious choices for business use in many fields. Even Office is a somewhat obvious choice for most places. However, as a standard consumer, it is much too expensive to "just have." And, really, finding the correct software to just "make a greeting card" or something similar is terrible. Then there is the joy of trying to find software that organizes photos and such well.

Then there is printer support. I cringe when I think of trying to scan or print something in Windows, my last experiences being so terrible. Nowdays, though, in Linux this is something that really has "just worked" for a while now.

So, is it really that much more rosy in the application choice of other platforms? Or is it just more visible in the company you keep?

[+] kryten|12 years ago|reply
I disagree. The default gnome2 desktop (provided by Mate) is top notch. Outside of this there are a core of decent, consistent apps and an ancillary of total crap. This is the same with Windows and OS-X.

In fact most non-core Windows and OSX apps are absolutely criminal.

Sure the cloud and Steam are more convenient, but this form of convenience will be the fall of us all and convert us into consumption targets ready to be milked regularly.

[+] steveklabnik|12 years ago|reply
I think that more 'consumer-oriented' or maybe 'convention over configuration' distros have this kind of thing covered. I recently installed Crunchbang Linux and it already has suggested, pre-installed apps for "terminal/file manager/editor/media player/web browser/task manager/screenshot" over on the right hand side of the desktop.

But yeah, the 'which app do I choose?' problem is very real.

[+] derleth|12 years ago|reply
I guess it depends on what apps you mean. I use Emacs, Firefox, LibreOffice on occasion, and a lot of development stuff, and it all works fine for me.

I also don't know what you mean by "unusual graphics animations" in terms of window managers. Window Maker has no such thing.

[+] Tomdarkness|12 years ago|reply
"Or are you dual-booting it on your hand-built gaming rig?"

Actually I am. Despite the fact you can get hardware (motherboards, RAM, drives, etc.) from many different manufacturers the "core" hardware pretty much follows a set of strict standards. Ever since Apple moved to Intel CPU based hardware they also made OS X compatible with those same standards (AHCI, ACPI, etc.). Sure, you might have the odd issue with certain configurations but in general modern Intel based desktop PCs are fairly straightforward to run OS X on.

The same applies for the Linux Kernel, except it supports far more standards and architectures then OS X.

But anyway I suppose my point is that the OS will pretty much run in most cases. However, your non-standard additional hardware (wireless adapters, your funky magic PCIe card, etc.) that requires drivers is not really because Linux, Windows or OS X does not support that hardware but rather the manufacturer of said devices choice not to support that OS. Don't complain that Linux or whatever does not support your hardware but rather complain that the manufacturer chose not to support Linux or use some kind of common standard.

Sure, common hardware or hardware that follows a standard might have a driver written by Microsoft or the linux kernel devs but most of the time the driver is written by those who created the hardware. For example it would be silly to blame Microsoft saying Windows does not support a Nvidia graphics card if Nvidia never released Windows drivers for that card. Likewise it would be silly to blame Apple if I bought some TV tuner, or similar PCI(e) card, and found it did not work in my Mac Pro.

[+] bingedrinker|12 years ago|reply
If you mean "better" as in quantitatively more, then yes.

The quality of those drivers are far, far worse than the OSX drivers.

Also, how is it surprising that OSX has few drivers, when OSX is meant for very specific Apple-designed hardware?

Anyway. I'm running Ubuntu on a new Macbook Air (5,1), and both the touchpad and the Wifi drivers are an absolute atrocity on Linux.

A few things just doesn't work, like the keyboard backlight.

The LCD backlight is also broken, half the time you have to unplug and replug the power to get the backlight to light up after automatic dimming, for some reason.

As for wifi, I quote, live, from my syslog: Jun 16 22:27:45 laptop kernel: [28768.034285] brcmsmac bcma0:0: brcms_c_ampdu_dotxstatus_complete: Pkt tx suppressed, illegal channel possibly 48 Jun 16 22:27:45 laptop kernel: [28768.035618] brcmsmac bcma0:0: brcms_c_ampdu_dotxstatus_complete: Pkt tx suppressed, illegal channel possibly 48 Jun 16 22:27:45 laptop kernel: [28768.036427] brcmsmac bcma0:0: brcms_c_ampdu_dotxstatus_complete: Pkt tx suppressed, illegal channel possibly 48 ... etc ...

Constant disconnects, poor speed. Switch to the proprietary driver and bandwidth is 2-3x better and the disconnects disappear, though.

The trackpad issues seem unfixable, even though there are lots of options to fiddle with. The quality is just poor or the driver is not designed to work with the type of touchpad that the Mac has. Tapping causes the cursor to move to a new position before doing a click, left-clicking causes the cursor to zoom to the bottom left of the screen, etc. etc. etc. If the precision of the Mac touchpad driver is index 100, I would give the Linux driver a score of 5.

[+] bingedrinker|12 years ago|reply
(kernel 3.8.0-25-generic, hardware MacBookAir5,1)
[+] venomsnake|12 years ago|reply
My experience consist of few debian installs back in the day, a lot of life boot CD to risque the data from dead windows laptops with dd nc and currently my main is Arch linux desktop. The occasional persistent mint USB flash for remote offices. And the occasional install and config of testing server environments.

No issues with hardware support at all. But there is very steep learning curve - I think that is the main thing the community must focus on. Just introduce new users to the system gently. I have few requests recently about migrating to linux after the NSA stuff blew up. And sadly have to tell the people not yet unless you like to get your hands dirty.

[+] keithpeter|12 years ago|reply
Your use cases for Linux would seem to call for a steep learning curve with the exception of the Mint bootable USB.

$ConsumerDistro of your choice on recentish laptop (not Optimus) should require less knowledge.

$ConsumerDistro = [Mint|Ubuntu LTS|Lubuntu] != [Arch|Slackware]

CentOS, Stella, Debian stock and FedoraRecent almost make it to consumer level but not quite in my opinion.

[+] shalmanese|12 years ago|reply
Linux doesn't "just work" on Thinkpads either. Here's a list of all the known linux incompatibilities with Thinkpads:

http://www.thinkwiki.org/wiki/Known_Problems

[+] vacri|12 years ago|reply
'Dead pixels' is a linux incompatibility? Large harddrives not being seen by the BIOS of a very old model? How is that linux's fault if the machine can't even start to read the drive?

That's a list of Thinkpad issues, they're not all linux-on-thinkpad issues. You could make one for every brand - Macbook pros would have "sometimes catch fire", from a story in this thread.

[+] mjg59|12 years ago|reply
None of those issues refer to current models.
[+] epsylon|12 years ago|reply
There is no single "Linux", nor there is a single "Thinkpad".

I have Ubuntu 12.04 on my Lenovo W500 and it works flawlessly. Everything worked out of the box — including graphics, wifi and ethernet, touchpad, ACPI keys and power saving options and sleep / hibernation. Conclusion : YMMV.

[+] DrJokepu|12 years ago|reply
Linux doesn't "just work" on Apple hardware. None of the major distros can currently get the Ethernet adapter on recent Mac Minis working. As a result, we have to run OS X on a bunch of Mac Mini servers we've planned to run Linux on.
[+] archon|12 years ago|reply
Just curious, if you were just planning on running Linux, why buy Mac Minis?
[+] driverdan|12 years ago|reply
The article didn't claim it did.
[+] namuol|12 years ago|reply
Um, obviously Linux has "better" hardware support since OS X wasn't meant to run on more than a few different machines.

This isn't a design flaw so much as a circumstantial necessity. I agree with the article's point, but is this really a common refrain?

As an interesting aside, I wrote this comment from Ubuntu running on a ThinkPad. Touche.

[+] edude03|12 years ago|reply
I think the ultimate crux of the argument Linux people make is that linux is "good enough". Yes there are solutions for everything you may want to do on Linux however when you tell me I should virtualize windows to run photoshop or watch netflix you should realize that Linux doesn't have a good solution for most things.

It's the same with hardware, not long after the Surface Pro was released someone installed ubuntu and said that linux ran perfectly on it. The touchscreen, Pen, Sound, Wifi, and Bluetooth didn't work but it was "good enough" for what he wanted to do (hold down a stack of papers?). Yes this is one random persons anecdote but I feel like the majority of the Linux community has this attitude and that's what ultimately puts Mac (and even Windows in some cases) ahead of Linux in hardware support.