Things that should have disappeared 30 years ago are still problems in the operating system. Not least of which is the handling of locales. I cannot transfer Excel files from my Windows machine to my Linux machine because my Windows machine uses points to denote decimals (as in most companies and homes in South Africa) while Linux does a hard-enforce of the documented standard in South Africa which is a comma for decimal. This breaks my files and I am unable to perform calculations on Excel files due to this. Ridiculous, relevant and sad.
I was previously unaware of the kernel doing such things.
People are indifferent, unknowing, fearful, or just plain lazy to learn new apps. Got to get Office, QuickBooks, Quicken, Adobe, and other major apps to run on Linux.
Most of these are fringe cases nowadays, and often used in environments where the user has no control over the OS anyways. I don’t really use Office at home (for the three times per year, LibreOffice is good enough and that’s what most Windows users I know run at home anyways).
Also it’s not as easy as to just “get Office, QuickBooks, Quicken, Adobe, and other major apps to run on Linux”. The wine project is doing miraculous work already IMHO…
While I agree with you on the advantages (performance, stability, reliability, security, customization, privacy, lightweight nature, no corporate bloatware, etc) of Linux, its rate of adoption is considerably weak and consistently weak because of various reasons and causes that your article does not mention.
“Your article doesn’t mention the real reasons, which conveniently enough I won’t list either.”
There are common programs you need to install via the terminal, you can’t even change sound playback quality without editing a conf file which requires sudo!
There is so much you need the shell for and until people stop defending it and start focusing on UX Linux will never be popular for your average user.
There are common programs you need to install via the terminal
Out of interest, which programs do you need to install via terminal that concern the average user?
you can’t even change sound playback quality without editing a conf file which requires sudo!
What do you consider changing “playback quality”?
Sampling rate? That can be changed in a config file without sudo (~/.config/pipewire/pipewire.conf.d), you shouldn’t though because many applications expect 48000 as sampling rate. Unless you’re doing studio recordings you want 48000.
There is so much you need the shell
Correct, there is a lot of need for the shell, for power users. I don’t really see anything that the average office and browser enjoyer needs to do in the terminal. You can even game now in most distros without opening the terminal once.
Out of interest, which programs do you need to install via terminal that concern the average user?
For example installing the GPU driver for an older GPU. Or installing the driver for an obscure printer, touchpad or other weird hardware.
Average user doesn’t mean total noob. Installing Windows and the relevant drivers is something many users in the “Gamer class” can do. These guys usually don’t to command line (except for maybe pinging something), but they are comfortable with installing and configuring stuff in GUI.
They understand how to google the driver to their weird hardware, download the .exe or .msi, start it and navigate the install wizard.
On Linux I’ve had it a few times that you e.g. have to unload/load kernel modules and stuff to get a driver working. I once even had it, that the Linux driver for a device was only supplied in source code to be compiled with an ancient version of GCC that wasn’t available over the package manager. So then I spend an hour or two fixing compiler errors to upgrade that old source code to work with a current GCC.
Getting the same hardware to run under Windows meant downloading the .exe and running it.
And yeah, that’s not something you’ll do on a daily basis, but it is a huge roadblock for someone afraid of white text in a black window.
For example installing the GPU driver for an older GPU. Or installing the driver for an obscure printer, touchpad or other weird hardware.
That’s not quite my definition of “common”.
Average user doesn’t mean total noob. Installing Windows and the relevant drivers is something many users in the “Gamer class” can do.
The “Gamer class” is far from the average user, the average user doesn’t even know what a GPU or a driver is and doesn’t care. As long as the OS installs all drivers by default or the OEM has preinstalled them all is good.
Getting the same hardware to run under Windows meant downloading the .exe and running it.
Until there’s no more drivers for that generation of GPU. The Windows 11 drivers for AMD only go down to the Vega 64, if you have a Fury X or a 7970 you’re out of luck. Not that Windows 11 even lets you install on a machine that old.
AMDGPU goes down all the way to GCN 1.2, which means you can even run a 7970 on a modern Linux OS. Even out of the box if your distro has the legacy flags enabled.
It would be fantastic if there was more hardware that works out of the box in Linux, but that’s up to the manufacturers. Until more people switch to Linux they don’t bother and until they bother everybody complains that XY doesn’t work on Linux.
As of right now the biggest hurdle is Nvidia without drivers included in Linux. Without a distro that takes care of installing their drivers they are essentially out of luck.
Using a GPU under Linux is not common? And installing Linux on old laptops isn’t either?
As of right now the biggest hurdle is Nvidia without drivers included in Linux. Without a distro that takes care of installing their drivers they are essentially out of luck.
I can’t say anything about AMD, since the last time I had an AMD GPU is ~15 years ago.
When I installed an Ubuntu variant on my G580, which has a Geforce 635M it automatically installed the current driver for Geforce GPUs when I setup the OS, but that driver doesn’t support the 635M. That one needs a legacy driver. And getting that to work was a major pain.
I first installed the legacy driver over apt, but it didn’t do anything, because apparently installing the driver doesn’t actually load the kernel module for the driver. So I had to load it manually, and it still didn’t do anything. Turns out, uninstalling the original driver didn’t unload it from the GPU either. So I had to re-install the old driver, unload the module, uninstall the old driver, install the legacy driver and load the legacy module. Took me a few hours to figure all of that out.
No way someone without CLI experience will be able to do that.
Using a GPU under Linux is not common? And installing Linux on old laptops isn’t either?
Installing drivers for an older GPU, obscure printer, touchpad or other weird hardware is not common.
When I installed an Ubuntu variant on my G580, which has a Geforce 635M it automatically installed the current driver for Geforce GPUs when I setup the OS, but that driver doesn’t support the 635M. That one needs a legacy driver. And getting that to work was a major pain.
Which is an issue with Nvidia, they have no drivers for that GPU for Windows 11 either. Not saying that this is not an issue but there is absolutely nothing Linux can do to make every legacy GPU work without help from Nvidia. It uses the open source driver out of the box, which works sometimes but not for everything and definitely not for gaming.
I’m loving the comments on the article.
I was previously unaware of the kernel doing such things.
Most of these are fringe cases nowadays, and often used in environments where the user has no control over the OS anyways. I don’t really use Office at home (for the three times per year, LibreOffice is good enough and that’s what most Windows users I know run at home anyways).
Also it’s not as easy as to just “get Office, QuickBooks, Quicken, Adobe, and other major apps to run on Linux”. The wine project is doing miraculous work already IMHO…
“Your article doesn’t mention the real reasons, which conveniently enough I won’t list either.”
The reasons aren’t worth listing because they’re all known but here we go
You need to use linux shell to get anything done.
There, that’s the reason.
Linux will never be popular until you can do everything, and I mean, everything without entering a single command in a terminal.
deleted by creator
There are common programs you need to install via the terminal, you can’t even change sound playback quality without editing a conf file which requires sudo!
There is so much you need the shell for and until people stop defending it and start focusing on UX Linux will never be popular for your average user.
Out of interest, which programs do you need to install via terminal that concern the average user?
What do you consider changing “playback quality”?
Sampling rate? That can be changed in a config file without sudo (
~/.config/pipewire/pipewire.conf.d
), you shouldn’t though because many applications expect 48000 as sampling rate. Unless you’re doing studio recordings you want 48000.Correct, there is a lot of need for the shell, for power users. I don’t really see anything that the average office and browser enjoyer needs to do in the terminal. You can even game now in most distros without opening the terminal once.
For example installing the GPU driver for an older GPU. Or installing the driver for an obscure printer, touchpad or other weird hardware.
Average user doesn’t mean total noob. Installing Windows and the relevant drivers is something many users in the “Gamer class” can do. These guys usually don’t to command line (except for maybe pinging something), but they are comfortable with installing and configuring stuff in GUI.
They understand how to google the driver to their weird hardware, download the .exe or .msi, start it and navigate the install wizard.
On Linux I’ve had it a few times that you e.g. have to unload/load kernel modules and stuff to get a driver working. I once even had it, that the Linux driver for a device was only supplied in source code to be compiled with an ancient version of GCC that wasn’t available over the package manager. So then I spend an hour or two fixing compiler errors to upgrade that old source code to work with a current GCC.
Getting the same hardware to run under Windows meant downloading the .exe and running it.
And yeah, that’s not something you’ll do on a daily basis, but it is a huge roadblock for someone afraid of white text in a black window.
That’s not quite my definition of “common”.
The “Gamer class” is far from the average user, the average user doesn’t even know what a GPU or a driver is and doesn’t care. As long as the OS installs all drivers by default or the OEM has preinstalled them all is good.
Until there’s no more drivers for that generation of GPU. The Windows 11 drivers for AMD only go down to the Vega 64, if you have a Fury X or a 7970 you’re out of luck. Not that Windows 11 even lets you install on a machine that old.
AMDGPU goes down all the way to GCN 1.2, which means you can even run a 7970 on a modern Linux OS. Even out of the box if your distro has the legacy flags enabled.
It would be fantastic if there was more hardware that works out of the box in Linux, but that’s up to the manufacturers. Until more people switch to Linux they don’t bother and until they bother everybody complains that XY doesn’t work on Linux.
As of right now the biggest hurdle is Nvidia without drivers included in Linux. Without a distro that takes care of installing their drivers they are essentially out of luck.
Using a GPU under Linux is not common? And installing Linux on old laptops isn’t either?
I can’t say anything about AMD, since the last time I had an AMD GPU is ~15 years ago.
When I installed an Ubuntu variant on my G580, which has a Geforce 635M it automatically installed the current driver for Geforce GPUs when I setup the OS, but that driver doesn’t support the 635M. That one needs a legacy driver. And getting that to work was a major pain.
I first installed the legacy driver over apt, but it didn’t do anything, because apparently installing the driver doesn’t actually load the kernel module for the driver. So I had to load it manually, and it still didn’t do anything. Turns out, uninstalling the original driver didn’t unload it from the GPU either. So I had to re-install the old driver, unload the module, uninstall the old driver, install the legacy driver and load the legacy module. Took me a few hours to figure all of that out.
No way someone without CLI experience will be able to do that.
Installing drivers for an older GPU, obscure printer, touchpad or other weird hardware is not common.
Which is an issue with Nvidia, they have no drivers for that GPU for Windows 11 either. Not saying that this is not an issue but there is absolutely nothing Linux can do to make every legacy GPU work without help from Nvidia. It uses the open source driver out of the box, which works sometimes but not for everything and definitely not for gaming.