Linux & Desktop – how to live and survive
Many people, when they hear that someone is using Linux as a workstation, ask themselves why and how we do it. If there are many very different options for the first question, then the experience with the second one is quite similar for generalization.
How many of us
First, let’s try to determine how many Linux users use it as a workstation. This will help to better highlight the issue of limited support. Linux occupies about 2% of the total desktop and laptop market, in figures, according to Gartner estimates at the beginning of 2021, there are 1 billion 318 million PC and laptop users in the world, and 2% is approximately 26.5 million users (whether users Chrome OS unknown). We can also try to focus on the statistics of the Steam service, here Linux users are 0.86%, which is from a peak online of 24 million ~ 206 thousand, and from 90 million active users per month 774 thousand. Perhaps a more honest number lies somewhere between 1 and 12 million users, but even this number of users is not enough to make it economically viable to maintain Linux versions of many products.
This situation has limitations in the process of using Linux as a workstation in many cases and at all stages, from the choice of hardware to the choice of software.
In this order, we will begin, from hardware to software, while trying to touch upon as many aspects as possible from the available Linux experience.
Hardware. What are we launching on
In many ways, the experience of using Linux is closer to macOS than Windows. These are not only similar terminal commands, a set of CLI utilities but also limitations in the choice of hardware configurations and peripherals. Linux does not have the same support for existing hardware as Windows does. The situation is getting better from year to year, but there are still many hardware configurations that Linux will not fully work on. Therefore, the choice of compatible hardware solves a very large number of various problems in the future, the main one of which is the lack of drivers. They may either simply be absent or not reach a commensurate quality as for other operating systems.
Based on these restrictions, when buying hardware for a system unit or laptop, we are guided first of all by the support of our OS, and only then by the price/performance ratio.
If we talk only about laptops, then at the moment Dell (especially the Precision line), Lenovo and System76 have good support, offering product lines with Linux on board. Acer was recently added to this list, and the company also makes well-supported configurations. We try to avoid other manufacturers, even if at first glance the thought comes up: “what could go wrong here”, then it is very likely to run into some variant of the keyboard backlight controller or touchpad that will not work. And it will be a shame because we paid for it.
Excellent addition to the laptop will be the presence of a second NVME (m2) slot for the possibility of installing a second SSD, you often have to live with two OSes. In addition to the convenient neighborhood with Windows, this solved the update problem, when with the next super-update Windows could try to write its own bootloader instead of our native GRUB.
Small addition. The first acquaintance with Linux for many occurs on the hardware that is at hand, and it often happens that Linux works on it, especially on some old hardware. But sooner or later, the time comes to renew.
About video cards
What is important to know when it comes to choosing a video card vendor.
The best option for gaming is AMD, as it has good performance and, most importantly, an open driver as part of the kernel. This ensures a hassle-free distribution update (black screen issue after update). Another plus: many distributions in the application launch context menu now have the option “run using a discrete video card”, in this case, this fad will work as intended.
Intel video chips are also an excellent solution if there is no need for high-performance video. Their driver is open source and included in the kernel and also provides a hassle-free update.
Both vendors’ hardware is compatible with the modern Linux graphics subsystem.
Video cards from Nvidia work, but with some caveats, due to the closed nature of the drivers and the vendor’s propensity for their own solutions, instead of generally accepted ones, which may simply not work hardware video acceleration in browsers. The corporation refused to support the general buffer API (GBM), as a result of which there is no adequate switching between video cards (nvidia-intel). Also, this API is used by almost all desktop environments for their work on the modern Wayland protocol. Perhaps the situation will get better, so in March of this year, the news flashed that things had moved off dead center and we might see support for GBM from Nvidia. On the other hand, the developers of desktop environments began to move towards supporting the buffer API from Nvidia (EGL-streams). Thus, if a computer with one single video card (or a card from Nvidia will be used as the main one, without switching to Intel), then you can live with Nvidia, albeit on the old, but stable X11 protocol. Another argument in favor of Nvidia can be the work with machine learning. Nvidia graphics cards perform faster and better (for 2020).
If, nevertheless, the choice fell on Nvidia, then you should not install the drivers from the official website of the company. Black screen after kernel update is still at the top of the Linux forums. The likelihood of such an outcome with a driver prepared by the distribution maintainer is less.
About the periphery
With this class of equipment, we have the greatest support problems. If there are no problems with simple printers as such, then the scanner or MFP may not work, before buying, you should definitely check with technical support or ask those who have already bought on the forum that it works. It may turn out that the MFP works via a network but completely refuses to work via USB.
The fingerprint reader is sometimes supported, but there is no full integration into work environments. Even in a situation where the manufacturer took care of support, released a driver, and it worked, the keychain, which is responsible for encrypting passwords, does not have a fingerprint unlock function, the password will still have to be entered at the first login. But in the future, operations that require elevated privileges in the system (execution via sudo, gksudo, kdesudo) can be continued using the scanner. But the response time and unlocking of the scanner is much longer than the same operation in Windows or macOS, which makes it ultimately useless, and entering a password is a faster way.
Thunderbolt 3 eGPUs are working. There are only a couple of points. Almost no hot plugging. It will be added to some working environments (KDE 5.22 \ Sway WIP), but only for the Wayland protocol mode, Nvidia users will most likely be deprived again. The second point, there is still a bug, sometimes it is impossible to connect an eGPU from AMD to laptops with a built-in intel-amd bundle, here you just change either a laptop or an external video card.
The long history of AAC / AptX / AptX HD / LDAC decoder support is almost over. Why almost, codecs were included in the audio servers (pulseaudio and pipeWire) and you no longer need to build them from the source. Therefore, although you can choose almost any Bluetooth headset, you must remember that this requires a very fresh audio server. As for WBS in HSP / HFP profiles, active work is still underway and although many patches have begun to include, for example, support for mSBC, microphone sound at 16 kHz is not yet available in many distributions, perhaps by the end of 2021 we will be lucky and updates will be included in all distributions.
Distributions. What Linux should I install?
After choosing a compatible configuration, you need to decide on the distribution kit. Over the years, the difference between desktop distributions has become less and less. Systems like Systemd, Pulseaudio, Pipewire, Xorg, Wayland are the backbone of almost all popular workstation distributions. Let’s try to split the distributions according to the component update model. It turns out two groups.
1. Fixed releases. Releases that happen every six months, for example, Fedora, or every two years, like in Ubuntu LTS (long time support version) with freezing versions of system applications.
2. Rolling-release – constant updating of the system without freezing versions of system applications. In this case, all the components of the latest version will be available and you will not have to wait for the next release for two years.
In these two groups, Ubuntu LTS and Manjaro are the most popular today. If a problem occurs, most likely forums, chats, and trackers of these particular distributions will be in the search engine results. Also, it is for these distributions (in the case of Manjaro, then for Arch) that application and driver packages will be generated in the first place (with rare exceptions).
The advantages of fixed releases are that updates are of higher quality and less likely to break the system, then the disadvantages are that there is no way to get new functions with the latest updates to system packages. So fractional scaling, Ubuntu users had to wait over a year after the release of this feature. Some distributions freeze updates and kernels, which leads to a new hardware support issue.
The next step in the selection is the working environment, it is also the desktop environment. If you are guided by the same principles that when choosing a distribution, the more popular, the greater the chance of getting a fix or a new feature, then the choice is not so great, it is KDE or Gnome. They fully work almost out of the box, and the customization tools are almost unlimited.
The rest of the working environments have various limitations. Almost all of them lack support for fractional scaling, hot plugging of external video cards, and more than half do not support Wayland. Except for Sway, which has no plans to support Nvidia’s proprietary driver.
There is also the problem of connecting two different video cards, the image from the first will be copied to the memory of the second, which leads to sharp drops in FPS, so monitors must be connected to one video card or the screen resolution must be reduced to FullHD. There is more progress than X11 on this issue when using the Wayland protocol. But whether this is so in all working environments and how the systems for working with such configurations are organized there, I do not know for sure. Most likely in a similar way.
To summarize, it is still better to dwell on what the distribution offers in the first place.
Manjaro – KDE
Ubuntu – GNOME 3
The rest has less support today, but this may change in the future as the Cinnamon and Deepin workspaces gain popularity and, as a result, the release of new features and fixes is accelerated.
At the moment, there are several options for how to install programs. The easiest and best option is to use the distribution repositories. But there is a situation when the required application is not there or it does not work. Then there is a way out in using the Snap or Flatpak package of this application. If the application you need is not there, you can try to go to the application website and download the package or archive. It is important that the installation of the application is still through the package manager since the application will be able to receive updates automatically the next time the entire system is updated.
Snap and Flatpak issues
These distribution and isolation systems are specifically designed to distribute and isolate applications. Both systems offer the application to run in its own environment, isolating it from the main system. Applications installed in this way are poorly integrated into the system as a whole (the package is often compiled with errors). And also take up more space than the same applications installed from the repository or downloaded from the site. In addition, it takes some time for the first launch. It happened that even a simple calculator installed via Snap freezes for 3-5 seconds at the first start. This is annoying. New versions of Snap have fixed this issue, but it took 2 years to wait.
Wine is a separate story
Until now, for a number of reasons, there is no alternative Windows-only software, as a rule, these are applications from manufacturers Adobe, Sony, Autodesk, which continue to discriminate against Linux users. In this situation, you can try to use the emulation of the Wine system environment, but this is a big problem and, if possible, we avoid this option by all means. When we really need it, we look for web versions, ask the manufacturer to support work at least in Wine, or use old versions of such software, as a rule, they work in Wine. You can also install a VirtualBox virtual machine and even configure the forwarding of application windows, or even install Windows (on the same separate disk), but you need to understand that this is not a complete solution. It also happens that only the installer does not work, while the application itself does. In this case, you can install the application in VirtualBox and try to transfer the already installed application to Wine.
The health status of most applications is in the database on the Wine website, so to quickly determine the status, just go to the winehq.org website and make sure that the application is (not) working. For the most part, only games work “well” in Wine.
Steam has definitely closed the issue with games, and if a game is not available on Linux, enabling Proton in Steam settings allows 69% of Windows-only titles to run. With this option, it is necessary to clarify in advance whether the game works, if it does not work, then we simply do not buy it. Games from Activision Blizzard also work in Wine, and out of the box, it seems the developers support the work of their products in the Wine environment. But as for Origin and others, everything is complicated here, just like with other Windows-only products, we try to simply avoid them.
How to solve problems
Even following all the recommendations, there are problems that cannot be solved on their own or with the help of Google. As a rule, this is due to the presence of a bug or lack of support from the manufacturer. If this is a bug, then we go to the website of the manufacturer, maintainer or community, and write a bug report, as a rule, the maintainer or developer will ask for some additional information and help with fixing or give information on how to fix it. We proceed in this order, if it is completely incomprehensible where to start, then in the community of your distribution kit or a wider community of developers of desktop components. There are also many Telegram channels where you can generally get directions. If this is equipment that seems to be working, then it is better to go to GitLab freedesktop, although sometimes they were sent from there to the kernel developers. If this is some kind of ill-fated software, then to the developers of this very software.
By following these guidelines, you can avoid a lot of problems and use Linux the way the authors intended. As you can see from the recommendations themselves, Linux is a choice, which is probably why we use it. Also, I want to note that macOS users can write something similar, but I think there will be much fewer possible problems there. You need to understand that a workstation is primarily a tool for solving professional tasks and not all tasks can be solved in an acceptable way in a Linux environment (dual-boot, Wine, a virtual machine are not solutions) In this situation, one can only sympathize with those who would like to use Linux, but their tasks are tied to unsupported software. Let us hope for the best. So Valve, 1C, Klei, Telegram, Microsoft (partially) got support, who knows which corporation will be next.
Some thoughts about the future
Linux on a desktop is very tenacious, without commensurate support from corporations (corporations are boosting the kernel and server subsystems, gnome foundation with their $ 638,267 against millions of Microsoft is a drop in the bucket), without a single standard, with a bunch of compatibility problems was able to capture and take root on many workstations and continues its unhurried development. There are not so many companies that are engaged in successful business on the desktop systems market, therefore, most likely, the situation with 2% is unlikely to change in the next 10 years. Sluggishness of mind, lack of support, lack of funding will keep the current state of affairs in the market, but usability and opportunities will continue to grow. Perhaps a new player will appear on the desktop systems market or some large state (for example, China) will oblige all civil servants to move to Linux, which will probably ensure the profitability of maintaining the Linux version of the software, and then the picture may change. Maybe companies like System76, Manjaro, or someone new can do this.