Comment by ho_schi

Comment by ho_schi 2 days ago

9 replies

Why games on Windows ship their own C++ Redistributable? Well, the same problem. And for the very same reason macOS app bundles come with a lot libraries and we still see a lot updates after every macOS release.

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.

adastra22 2 days ago

Sure, guess what is the most durable and long lasting ABI on Linux? Win32 via WINE.

ekianjo 2 days ago

> native ports

Native ports have huge problems as well. Most of them are hardly maintained and stop working years down the road.

  • ho_schi 2 days ago

    People say that. Don’t call out the bad examples (there are some!). The never mention the good examples?

        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.

    • MayeulC 2 days ago

      Most of these are actively maintained though. Older ports, such as UT2004, still work but a few upgrades give a much better experience: SDL2-compat (and now SDL3-compat) really helps, as it brings compatibility with newer APIs (pulseaudio, Wayland, newer controllers, etc).

      Please use SDL when targeting Linux!

    • DrScientist 19 hours ago

      It's about the quality of the port or whether the original software was written with portability in mind?

      Take Quake for example. It's highly portable ( I remember playing on Irix ( Silicon Graphics workstation OS )), Carmack wrote highly portable code.

    • d3Xt3r a day ago

      Don't forget all the opensource ports/engine recomps that (still) work great on 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.