Interview with Miguel de Icaza about his own journey, GNU, Linux, GNOME, and how he ended up working at Microsoft. It’s an interview for a mainstream audience, but with plenty of fun stories that should entertain any OSAlert reader. I found it particularly interesting how de Icaza recounts his decades-long obsession to make Linux a great desktop OS, only to see it achieve massive success on server, mobile, and embedded devices, and never really catch on as a mainstream desktop OS. Today, he uses a Mac for his everyday platform while working at Microsoft.
GNU/Linux on desktop works fine for me. I prefer it over Windows and Mac. Things like full customization, full command line support and plug and play hardware support. Being accessible and having sane terms of use. It’s like it was tailor made for me. Don’t really care if other people choose something else. Hopefully they are as happy with their choice as i am with GNU/Linux on desktop.
The biggest stumbling block for Linux, is what many regard as it’s greatest asset. A complete lack of standardisation. There is no definitive Linux userland, and in most cases, there’s no real definitive kernel either, with many different kernels being compiled with different features enabled and disabled. This total lack of standardisation makes it much more difficult for end-users to learn, as something that might work on one distro may not be supported on another.
In server and embedded uses, this isn’t a problem. Most of the time you’ll want to “roll your own” anyway, and tailor your build to your specific use-case. This is where Linux’s lack of standardisation shines. It’s easy to remove or replace certain parts to fit your use case much easier than it is with more monolithic OSes like Windows.
However, one place where standardisation has happened is on mobile. Android has provided a standard, consistent userland, and this consistency has helped it dominate the mobile device world, much in the same way that the standardised and consistent MS Windows has dominated the desktop and PC market. Google have realised the success a standardised Linux distro can have, and that’s also the reason the Linux-based ChromeOS is also wildly more successful than other FOSS GNU/Linux distros.
In my experience standardization is not the problem. You can target GNU/Linux just fine. As an app developer. Without much hassles involved. The sentiment this is a hard thing to do likely comes from the times when GPU support on GNU/Linux was bad or non existing and things like sound system didn’t work out of the box. Nowadays it is good.
What do you mean “when GPU support on GNU/Linux was bad” as in past-tense? You’re not going to find a lot of Linux users singing praises for how well their Nvidia GPU works. One of their devs who is active in the Linux community, Aaron Plattner, sure has done a lot of apologizing and commenting how limited the Linux resources are there. That’s not something you’d see if everything was a good as you claim.
The main problem here is people are mixing two different things up. As you mentioned Nvidia. It is true that open source Nvidia GPU driver is worse than open source drivers for Intel or AMD based GPU. But if you install Nvidia proprietary driver it works just fine. Hence claims on how bad GPU drivers support for GNU/Linux on desktop supposedly is are bogus. The situation in this area was bad a couple of years back. Some people just haven’t updated their knowledge yet about current state of affairs.
Geck,
I still have problems with nvidia’s proprietary drivers from time to time. They perform well once installed and working, but linux’s unstable ABI can cause installation and upgrade problems. I would not recommend proprietary nvidia/linux combo to novice users who can’t fix broken video drivers themselves. The FOSS nouveau drivers are more likely to work consistently if one doesn’t mind the reduced feature-set and performance.
Also, nvidia doesn’t give linux the same priority as windows, like the way we’re missing card monitoring features on linux. It’s disappointing because there are a lot of linux cuda developers who would benefit.
https://forums.developer.nvidia.com/t/request-gpu-memory-junction-temperature-via-nvidia-smi-or-nvml-api/168346
Obviously this is why FOSS drivers are better, but for better or worse cuda devs are stuck using nvidia’s proprietary software. It is what it is, but I’m not really happy with the current state of affairs.
If Nvidia’s proprietary Linux drivers work “just fine”, as you claim, then Aaron wouldn’t be perpetually apologizing & sympathizing with the endless list reported problems. He also wouldn’t excuse Nvidia’s short-comings on Linux as rooted in a lack of resources. That isn’t just what I’ve seen on the official Nvidia Linux forum and Linux mailing lists, but also as a former Nvidia Linux user myself. In fact, the instability and lack of support is why I dumped Nvidia on Linux. If proprietary Linux drivers work great for you, consider yourself very lucky.
My old laptop with an Nvidia card worked just fine. It just required an installation of a driver – no different from Windows. Now I am using an AMD GPU and it just works with zero action on my side.
I used to have problems with 3d support before 2010, just like with IE-only websites, etc. One by one these problems got sorted out.
On the desktop side, between Xorg, Qt, Gtk, PulseAudio, everything works pretty much the same way as on Windows or MacOS. The biggest issue (or advantage) are applications. It works both ways, some are stuck with MS Office, I’m stuck with commercial Linux-only CAD software.
@Alfman
If you are a novice user just use a distribution such as Ubuntu and Nvidia driver is one click away under Additional drivers section. The state of the ABI doesn’t represent any real issues. What caused some issues is Nvidia wanted to force their solution on how Wayland should be supported under Linux. Other parties more or less said no and now Nvidia will support Wayland just like the rest. With their propitary driver.
@friedchicken
Things can always improve but my claim is current state of affairs is good. That is if you are an app developer targeting GNU/Linux you have little to complain about.
@ndrw
Exactly. As for CAD on Linux. Try FreeCAD. I have used it in the past with much success.
Geck,
Actually I have experienced problems with ubuntu’s additional nvidia GPU drivers. Installing the latest drivers from nvidia fixed it. The OS included drivers tend to lag the latest official ones. To be fair this problem isn’t specific to linux, there are times even on windows when installing the latest upstream drivers can fix problems in the microsoft certified versions. I had wifi issues that got fixed by manually installing newer manufacturer drivers for example. But the unstable driver ABI problem is rather linux specific and breaking ABIs does cause compatibility problems. I know that neither of us are going to change our opinions on it, so we might as well agree to disagree.
Well, that’s a whole other topic, but just to be clear I was referring to issues under X. It doesn’t happen frequently and it wouldn’t be as bad if X automatically fell back to a compatibility mode, but unfortunately it tends to black screen and not even the console works. Since the system still boots fine, I’ve found the easiest way to fix it is through remote SSH and update the drivers manually. Anyways, I cope with these admittedly infrequent problems because I want cuda. If not for this though I’d recommend steering clear of nvidia’s proprietary drivers if possible.
Most people never experienced the data loss issues in windows 10 last year, but it would be silly to use that fact as a rebuttal to those who did. Same is true with anything. There’s always going to be hardware combinations that work fine and people who never encounter the problem, but positive anecdotal evidence does nothing to help people who are experiencing problems.
@Alfman
Long story short you said you had a problem and you said you could fix the problem. Regarding the Nvidia binary driver for GNU/Linux. To me that is good enough.
Geck,
While I was able to fix it, it’s not great that I even needed to. At least it’s rare, but I’d still recommend cards with open drivers as less risky for ordinary users. Booting up to a black screen can really ruin your day.
There are many posts similar to this one where the nouveau drivers work out of the box, but proprietary drivers fail and the user needs to figure out how to fix it.
https://forums.linuxmint.com/viewtopic.php?t=287624
Things could be better, is all I’m saying.
@Geck, almost all commercial CAD software works on Linux only (RHEL 6&7). On one hand that’s great, on the other – being stuck with one fairly old distribution is almost as bad as being stuck with another OS.
If you don’t have the resources to support too many distributions, you just support one. Usually that’s Ubuntu LTS. That will cover both the majority of casual users (because they are on Ubuntu LTS) and also the minority of skilled users (because they are able to iron out any differences caused by their distro themselves.)
The123king,
The kernel you use will determine what hardware drivers are available, but in terms of software support linux kernels tend to be very dependable in practice.
It sounds like your not talking about linux kernels per say, but rather desktop environments built on linux? If so then it’s true there’s some fragmentation, but arguably many in the linux community favor that to monopolization. This is obvious on windows, but even on android google’s monopoly is problematic since the open AOSP standard is functionally incomplete resulting in significant dependency on google’s proprietary libraries. The result is poorly supported alternatives. It’s consistently challenging to install android apps on non-google flavors of android and for me this is a huge con of monopolization. It’s really frustrating. AOSP could do a much better job at standardizing userspace, but google has no real incentive to improve open standards because they don’t really want alternatives to be competitive.
The problem with unsuccessful Linux (i.e. not Raspbian, any Linux serving Apache, ChromeOS, Android or IBM Z Linux) is Marketing with a big M. It is not a technology issue at the root.
Big M Marketing (vs small m) starts with the user’s needs and works back to a solution that solves their problem better than the competition. And then you usually use small m marketing to tell people about it.
It’s not rocket science but it is not C either.
GNU Linux started as a great “Marketing” project to create free software from the metal up. That succeeded beyond wildest dreams. Linux is free all over the place. And it got stuck right there, i.e. stuck at the last time someone (two someones) actually picked a real problem to solve. Other than other times someone picked real problems and solved them better. Like Raspbian, any Linux serving Apache, ChromeOS, Android and IBM Z Linux.