3 ms·
The kernel userspace APIs are pretty stable, the APIs provided by the rest of what constitutes a complete Linux "operating system" are not. I've ended up using
by babypuncher 3y ago
The kernel userspace APIs are pretty stable, the APIs provided by the rest of what constitutes a complete Linux "operating system" are not. I've ended up using a lot of hacks and tricks to get some early Linux games running on modern systems. Some applications designed for X still have broken features in Wayland, and likely won't be fixed without new versions of said apps because making Wayland compatible would break the entire security model.
It's generally not a huge issue in Linux, because most of the software you use day to day is open source and probably maintained. The real problem children, across all operating systems, is proprietary video games. They're closed source, unmaintained, and their cultural value makes them highly desired targets for ongoing compatibility and preservation.
- rbanffy 3y ago> The real problem children, across all operating systems, is proprietary video games. They can be distributed packaged with the requirements (Wayland and X still would be an issue) but things like snaps of flatpacks solve that.
- account42 3y ago> The kernel userspace APIs are pretty stable, the APIs provided by the rest of what constitutes a complete Linux "operating system" are not. There are plenty of userspace ABIs that are extremely stable, including whaever you need to run a game (like the C runtime). There are also APIs without stability guarantees (like the C++ standard runtime). A lot of games that no longer work depend on some of the latter libraries. There are also ABI bugs, no compatibility is perfect, but those usually do get fixed when found unless doing so would break more programs. > Some applications designed for X still have broken features in Wayland, and likely won't be fixed without new versions of said apps because making Wayland compatible would break the entire security model. That's not a long term compatibility problem but using a zero trust mobile phone security model on a desktop problem. That security model should be broken and moved to /dev/null where it belongs. But really at some point you are going to need compatibility layers anyway. We already have Wine with great support for old Windows apps, there is nothing preventing something similar for legacy Linux on modern Linux emulation - except a lack of interest because there really aren't that many Linux-only legacy applications.