And there's a lot going on with Proton and the Steam Deck, so I don't think this is a valid argument.
And there's a lot going on with Proton and the Steam Deck, so I don't think this is a valid argument.
A lot of known issues can be avoided with more experience and cooperation before changes happen.
Before anybody mentions Proton. Because always somebody mentions Proton?
Proton is WINE. But maintained by Valve. Which requires a lot resources of Valve (not of the users). But the key is Steam! Valve is controlling the Steam store.
It is still bad and Valve shall press hard on native ports (e.g. Linux only Steam Awards). Reducing the long term workload for Valve. WINE is not a solution and remains a workaround. That is why we use Inkscape and not Adobe.
PS: Remember when Apple dropped iOS 32-Bit? And PPC? And the classic APIs? Microsoft is trying to remain bug compatible. The problem? They’re bug compatible! My thinking is similar to Torvalds, Linux, GNU (GLIBC/GLIBC++, Systemd and Wayland shall strive for compatibility when possible. Users love compatibility. Programmers love compatibility. But it is hard work. It becomes difficult when security implications are involved. As long only re-compilation is need for compatibility I’m fine. When we need to adapt code I’m getting unhappy.
Native ports have huge problems as well. Most of them are hardly maintained and stop working years down the road.
ioQuake3 - still work's
CS2 - still works
HL1, HL2, CS1,CSGO - still works
Unrailed - still works?
UT2003 - there it is getting hard, unmaintained since ca. 2003. But it is doable if you want it.
Quake3 - same as above.
Most bad ports were made by inexperienced developers. And honestly, these people need to learn! Especially Windows developers which aren’t Linux users are causing the problems. Linking weird 3rd party libraries which aren’t itself is a receipt for disaster. Which indicates planing mistakes in early stages. A bad sign is when they start to package for specific distributions…run as fast as you can.I would look to applaud the high quality work id and Valve or Daedalic. Weirdly Microsoft ships a port of Minecraft. Valve now ships the Linux-Runtime to ease ports. And Flatpak allows developers which want to package itself (weird hill to die on…) doing it.
Please use SDL when targeting Linux!
- OpenJazz (port of Jazz Jackrabbit)
- OpenOMF (One Must Fall 2097)
- OpenMW (Morrowind)
- Devilution X (Diablo)
- SDLPoP (Prince of Persia)
- RVGL (Re-Volt)
- R.E.L.I.V.E. (Abe's Oddysee)
- Ship of Harkinian (Zelda OoT)
- 2Ship2Harkinian (Zelda Majora's Mask)
- Super Mario Bros Remastered
... and probably lots more that I missed out.
Take Quake for example. It's highly portable ( I remember playing on Irix ( Silicon Graphics workstation OS )), Carmack wrote highly portable code.