The lack of pro-audio software is definitely a thing. Mixxx is pretty good though for DJing. It's better than most of the rest of the pro-audio landscape on Linux. There are now also pretty good DAWs (Bitwig, especially).
Releasing binaries is still a PITA for Linux. That's one of the main reason it has so little support from closed source consumer software. If you care, see my comment history on my company dropping Linux support for a pro-audio app, even though our software works on Linux.
But for development tools, it's you-win-some-you-lose-some. There are some development tools (the Valgrind suite, for example) that I still miss after mostly switching to macOS. Going from Linux to macOS also means losing great tools.
Most of the time those packages, or the build files for them, are contributed by the distributions themselves, or avid users of those distros. (Reference: I have multiple software projects I've created that are a part of every Linux distribution. I've never packaged any of them myself.) Even big enterprise companies usually work directly with the distros under NDA, and the distros produce the packages.
That works for FOSS, but not for smaller closed-source consumer apps. And it's not just building, it's also testing and debugging. It's just not tractable for a small company to test on dozens of different distros / versions for such a small percentage of users.
they seem to providing their own builds. And - if you wrote your build system reasonably (e.g. CMake, properly check for dependencies etc.) - then building on different distros would not be much of a headache. You may not provide 40 different binary packages, and they may only fit recent versions of the popular distributions, but - after you set this up once, I wonder if it isn't just running a script after you have your versioned source tarball release.
Literally most of the packages on the page you link there explicitly say that they're maintained by other people. The author seems to maintain an RPM and a DEB setup, which is already more than most. And my point is absolutely not that some people don't go nuts there, but that's not where or how most Linux users get their software. It's mostly coming from stuff packaged by the distributions.
And I am sure that's how most open source packages on Linux are built. Again, I spent a lot of time in that world. (Former KDE core developer, former employee at SAP Linux Lab, friends working at all major distros, have a bunch of my stuff in every distro, talks at lots of Linux conferences, etc.)
Building really isn't the problem. It's testing and supporting. Building is relatively easy. But you can't just ship commercial packages without testing them. Pulling out a Debian 11 VM because someone's having problems with your software there under Wayland, but not X11, but it seems to work in Sid... Again for the 0.01% of your customers using that configuration, ... it's hard. And it rarely makes economic sense unless you've got a disproportionate number of users on Linux, or a ginormus user base. You can't assume because something works on Arch Linux that it also works on Mate. Or that something on Ubuntu works on Debian. Or Redhat on SUSE. And then your users may have any of 3-4 versions of those installed. By the time you get to a specific configuration you're dealing with often debugging things for a single-digit number of users.
Windows is about 66% of our customers, macOS about 33%, Linux about 1%. On Windows we currently only test on x64 for Windows 10 and Widows 11. On macOS we test 4 configurations. Each Windows configuration we test is 33% of our users. Each macOS configuration about 8%. Linux is starting at 1%, and previously we tested only one configuration, which was already 8x more costly than macOS. But there were a lot of complaints from people using other distros / versions, which resulted in anger, bad reviews, claims that we don't understand Linux...
To get reasonable coverage of the Linux desktop landscape, we'd need to test probably 20+ different configurations, meaning each of them would cover about 0.05% of our customers. The QA tests take multiple hours to run through. That makes supporting a Linux user a staggering 160x more expensive than supporting a macOS user, and 660x more expensive than supporting a Windows user.
Again, you need either a giant user base, or a disproportionate number on Linux (which is the opposite of true in pro-audio) to even hit break-even on Linux users.
dunno but for example you got more than one audio stack on linux so they should at least test both, with different hardwares, etc. Not sure flatpak would help here...
I was talking about about the problem of having to package software per distro.
Regarding audio, if you decide to target several audio stack yes indeed. I hope this get eliminated by Pipewire really soon. It's already the case as a end user (Pipewire replaces Pulseaudio, Jack and the userland part of Alsa) but I don't know if all use cases are covered yet.
If I'm not mistaken Pipewire started from the need to be able sandbox multimedia streams in Flatpak , so I guess Flatpak might be indirectly helping here :)
Regarding hardware it's the same problem for any operating system though, testing with all hardware can be tricky for a small company.
Operating systems have a really high degree of lock-in. Such that while you -can- change OS, there's simply no incentive to do so.
That's why you're still running the same OS you always have. [1]
You accumulate software yes, but you also accumulate habits and knowledge. Changing OS means discarding all the accumulated knowledge, which 0% of "normal users" want to do.
Throw in the change in software, ending up with at least some proportion of worse software, and the desire to change is 0.
[1] where "you" applies to a rounding error away from 100%
Hmm I don't find this true at all for really any of the systems.
If you stick to windows xp or roll your own Linux distros maybe this is true, but I barely know how to use any windows box. Bunch of black registry magic and constantly changing UI nonsense, literally Google and sometimes msdn are how I survive there.
Ubuntu/Fedora all go through fits of hipness and constantly change how things are done. Config files one day, services and runtime the next. UIs are really non-standard and always breaking something or other.
OSX...first time I used it I was learning Unix systems. I went back to it and it was an unholy mess of gotchas.
Android is still hurtling through versions every year and I have no idea what "current" phone looks like, I probably hate it.
When I have been unfortunate enough to use iOS it was like being made Legos trying to build other Legos. It was a right pain.
There are some common design patterns and the like but that tends to be in spite of the OS, not because of it.
The change from say one version of Windows to the next is tiny, and happens every 5 years or so.
Changing from one OS to another is orders of magnitude more complex. As you point out above jumping between them is painful.
Your job may require you to do that, but you're a tiny sliver of the work-force, never mind everyone else. My book-keeper has never encountered the Windows Registry.
You're thinking of the OS as an actual bit of software you interact with. For 99.99% of users it's invisible. They just want printing to happen when they press the print button.
> The change from say one version of Windows to the next is tiny
Huh?! That's bullshit. I had recently tried to fix something on family's PC that upgraded itself to Win11 and had absolutely no clue how to navigate all the new settings panels even though I use 10 near daily.
"The change from say one version of Windows to the next is tiny, and happens every 5 years or so."
This is simply not true - the OS can and does change with monthly patches. Windows and Linux are both worse than Android or iOS/OSX in this regards I find, but that's to due with vendor preference not an underlying guarantee.
A lot of people are locked-in Windows, but as Microsoft more and more ruins the OS by pushing advertisement, telemetry, slow cloud services, new versions of apps optimized for those who don't know how to use a computer, rather than experts - there will be plenty of users switching to Linux.
Most users are not even aware of telemetry. Those who find the cloud services slow can just stop using them.
The advertising seems to be local to the US because I've never seen it, but I expect users will ignore it just like they ignore it on TV, Google, Facebook, Twitter, on every roadside, at every mall and do on. Frankly advertising is everywhere, avoiding it doesn't seem to be a priority.
I think you summed it up. Computer Experts may want to switch to Linux, and likely already have. My mom, who is 40 years a novice, cares less about any of what you listed. Her skill set is small, and her interest in changing is miles below 0.
And there are 97% of the world like her and, 3% like you ;)
>> Those who find the cloud services slow can just stop using them.
Microsoft has made sure users can't stop using cloud services, unless they spend a ton of effort every time a new update that re-enables them is released.
E.g. try to disable the web search in the Windows start menu.
>> And there are 97% of the world like her and, 3% like you ;)
If the 3% expert users switch away from Windows it will be the beginning of the end for Windows.
WSL being a recent counter factor, as much as I don't enjoy Windows it got a lot more bearable for me since I can manage it through a Debian installation. Filesystem access, Windows program execution and running cmd.exe/powershell commands without having to open either of them removes some of the pain
Heavily doubt that those would make people switch. Maaaybe, if their social circle already uses Linux.
However, make the next Minecraft, Fortnite or Roblox work only (or considerably better) on Linux desktop[], and you will suddenly gain a lot more new users. Some of whom will stick around, since all their other apps work the same in the browser.
[] Whatever that term means, even the article makes a distinction between that and Chrome OS.
It made me switch, anyway, recently - specifically another one of those "Oh, let's finish setting up your computer" (i.e., try to trick you into trying Edge again, probably, or set up a "Microsoft" account) with my only options being "Remind me later" or "OK" was the straw that broke the camel's back.
That said, I'm far from your typical desktop user. I'm vaguely Linux sysadmin adjacent, and I ran Linux as my primary OS for many years - until one day I noticed I was mostly booted into Windows for gaming and decided to reclaim that SSD space.
Gaming on Linux has come... leaps and bounds. It's actually extraordinary. Still many sharp edges, but the Steam Deck might in fact be the first spark of a revolution here. We'll see, I guess.
Is this where I'm supposed to say Wine Is Not an Emulator? ;-)
Jokes aside, totally right, and unfortunately, in my experience it's often a better experience to run the Windows port under Wine than it is to use the native version. e.g. the native version of Tyranny is just a black box for me, but the Wine version works pretty flawlessly.
I think userspace is just too unstable, and game companies probably don't want a forever-ongoing maintenance cost just to keep their old games running.
>However, make the next Minecraft, Fortnite or Roblox work only (or considerably better) on Linux desktop
And lose lots of money in that process. :)
And what Linux OS should you target? Ubuntu, Fedora, Linux Mint, Arch, Android? Target KDE or Gnome? Or maybe XFCE? X Windows or Wayland? Use ALSA, Pipewire or Pulse Audio? Bionic or glibc?
I imagined anyone making the next hugely popular game in the same category as those that I mentioned is not going to put much money in developing it, just time.
And doing so, they'd likely just target the particular Linux system they happen to have or like---whether Arch, or Android, or even Alpine. It might well work on other Linux systems (or even non-Linux), or it might not.
Maybe I'm off base here, but that's what I see (even casual) gamers do, especially younger ones: go to great lengths to get the game they want, to run. If that system which runs the game also supports their other hobbies, school or work, then that's what they will use.
Steam runs games inside of a container to provide a consistent environment for the game. It largely ignores the OS and only uses the kernel as a result. Linux distros have tons of differences that make it otherwise untenable to target. You need an army of package maintainers to maintain per distro packages and sort out differences which seems to work for oss, but doesn't for commercial closed source software.
This is actually a great way of running stuff in "foreign" distros where you can't guarantee the presence or absence of libraries.
For example DaVinci Resolve is packaged for (now quite old) CentOS but runs just fine installed on Ubuntu, with absolutely no problems at all. The only thing that might catch out the unwary is that CentOS packages a couple of libraries as default which Ubuntu doesn't but if you're savvy enough to edit video you're savvy enough to catch this.
You can also run Resolve in a Docker container so it "sees" a CentOS environment no matter what, and it's transparent across any other distro. There's no real need to do this, although it makes running more than one version easy.
A lot of people are also locked-in linux if they have to use e.g. docker or kubernetes, not to mention FOSS hooked to systemd or other linux-specific technologies. Say goodbye to compatibility and portability to other systems.
How did you go from "a lot of people will switch" to "the year of Linux on desktop"?
Microsoft is making a lot of changes that will annoy the expert users. Stuff like a Settings app that has a single screen - e.g. one makes changes to his network setup, decides to increase the brightness of the screen - the Settings app navigates from network to screen and the user progress with network is lost.
> Changing OS means discarding all the accumulated knowledge, which 0% of "normal users" want to do.
More and more upgrading the OS means discarding a large amount of accumulated knowledge as well, which normal users don't want to do, but don't have much of a choice.
> You accumulate software yes, but you also accumulate habits and knowledge. Changing OS means discarding all the accumulated knowledge, which 0% of "normal users" want to do.
I only ever hear Linux users make this argument. Mac users are confident enough in MacOS UX that they know it’s not a significant barrier to transition. The same is not true of Linux. So many solutions to problems require opening the CLI, and that’s just an automatic fail for the vast majority of consumers.
Honestly, I would like Linux fans to just accept Linux for what it is: an amazing kernel with incredible GUIs built by and for developers. App developers just do not care about (or do not have the resources for) making simple and intuitive software. Valve is a welcome and notable exception with the Steam Deck. Linus Torvalds explains it perfectly: https://youtu.be/Pzl1B7nB9Kc
> Mac users are confident enough in MacOS UX that they know it’s not a significant barrier to transition
I bought my mother a Macbook during the Snow Leopard era and we sold it after 2 months because she could absolutely not get used to the UI, since she had been using Windows since basically forever.
This is exactly my point, and indeed the point of the parent. If you know Windows use Windows. If you know Mac, use Mac.
There is no reason to make your mom (or my mom) switch.
And while MacOS may be intuitive, its less intuitive if you come from something else. I used one for a bit and found everything "backwards". One version of Mac to another or one version of Windows to another is trivial compared to changing from one to the other.
Obviously the Linux CLI is waaay beyond most average people. So it's a non starter anyway.
Godot is primarily developed on Linux, but I recently tried it out on Ubuntu (NVIDIA drivers) to check compatibility, and it was shockingly laggy. Worse than macOS, and far worse than Windows, where it runs quite well.
Maybe there was something about my configuration I could've tweaked to mitigate the lag, but I have zero interest in fiddling with Linux. That stuff's fun if your goal is to learn about the OS, but absolutely intolerable if you just wanna get work done.
I can’t speak to Godot specifically, but a recent switch from Nvidia to AMD on my Ubuntu machine magically fixed a whole bunch of random jankiness that I wouldn’t otherwise have assumed was directly related to the GPU. Beforehand I would have said that running on Nvidia was “just fine”–I only switched because I got a good deal on an AMD card, but it has been a great improvement.
Re: debugger. It's the opposite for me. rr is the best debugger period, so I am miserable whenever I need to debug on Windows or macOS where rr doesn't work.
What I think Linux is missing is a good "first intention" debugger.
rr is great, I have used it a few times with great success, but always as a heavyweight, for solving really tricky bugs. Usually, printf is first, then gdb and/or valgrind, then rr.
On Visual Studio (which has a great debugger), the debugger is the first tool I reach. It is simply more convenient, more reliable on a day-to-day basis, plus, there is "edit and continue". Generally I prefer the Linux dev tools (rr is one of the good ones, I also love valgrind), but for interactive debugging, for me, Windows wins.
Me, too. I tried to use Linux on the desktop since 2000. I can't run the software I need like Visual Studio, Adobe Photoshop, Adobe Lightroom, 3ds Max. I don't care free/libre about alternatives as they are not doing the same. The OS takes time to be configured, managed, there are always things breaking and needing a fix. I still have a linux distro installed on a spare drive but haven't booted it in more than an year.
Whatever Linux specific stuff I need to run (mostly for development), WSL2 and Docker takes care of that.
I want an OS that just runs and doesn't stay in my way.
I want an OS that just runs and doesn't stay in my way.
YMMV. For me, Linux is the OS that just runs and doesn't stay in my way. For my work flows, the tools on Linux are far superior. I recognise that may not be the case for the tools you use.
Nowadays Apple gives it away for free, but it used to be part of the paid iWork package (or bought separately from the Mac App Store).
I believe there was also a time period where it was given to users who activated a new Apple product, but for people still running older machines had to pay.
You also can't use uBO if you want to help get it to 4% as this data comes from statcounter which is blocked in many filter lists. I run linux but my browser useage won't count towards it.
It does not have to be all black and white. You could use GNU/Linux for everything else. Or you could have it on a separate machine to try workflows on or just to be able to use both separately.
I chose the opposite, I run OSX as my primary os and Linux in a VM for when I want Linux (which is pretty much just for developing stuff that will run on a Linux server). I used to run Linux as my primary desktop OS, but got tired of things almost, but not completely working. Things like not always waking from sleep, sound, fingerprint reader, etc.
- My DJ software (which I pay for) is not supported at all on Linux (likewise true for most common music production software).
- The Affinity suite (which I paid for) is not supported on Linux.
- The best debugger I can find (remedybg, which I paid for) doesn't work there.
- and there are a few more niche ones.
I just can't give up on half of my productive tools and trade them off for much jankier alternatives. I sadly cannot contribute to get to 4%.