Armello, a grim fairy-tale board game from League of Geeks no longer advertises that it supports Linux and macOS due to their new party system that landed with the cross-play update.
In the news post they mention how there's "No Party Functionality (including Private Games) on MacOSX & native Linux. Due to the severity of this one, we've removed any advertising of support for Linux & Mac from Steam (and shortly Humble Bundle), though folks can still purchase and play those versions.".
Giving a little more detail on their official site it mentions how "The service provider we use for Armello’s multiplayer infrastructure has decided to cease support for their party services on MacOSX and Linux. Unfortunately, this means that Party Functionality, including Private Multiplayer, is no longer available in Armello on MacOSX and native Linux platforms." but they don't go on to name whatever company that is.
For the Native Linux and macOS versions, they're still functional and up to date they just don't have the new party system or private matches. For Linux users though you can use Proton to run the Windows version, which fully works. It also has a Steam Deck Playable rating, which uses Proton now too.
This isn't the only game to go a similar route, with ARK: Survival Evolved recently putting the Linux Native version behind a Beta.
And in case isn't this why we have Proton? We no longer need native builds, translation overheads and coding for the one true platform (windows, x86[-64] and directx) is easier than solving platform quirks and there is no need to support anything other than Windows (and I'm not even sure if publishers/developers are required to solve problems whenever the issue is while running under Proton).
Is that game still playable without that feature? What if they decide to or need to switch to another party server provider.
We need to find out who this provider is and pressure it into supporting GNU+Linux.
I'm very wary about DirectX / windoze x86-64 being the only platform devs target. On one hand, it's a crusty old platform that Wine handles very well. But, on the other it's one that's likely to have a knife up it's sleeve ready to stab.
Targeting only that, yes, speaks to the power and capability of GNU+Linux, libre software, and the communities around it all but, also shows that it's unnecessary and can nearly be forgotten about.
Edit: Their website says they will continue support GNU+Linux and other affected platforms. Also, yes, it's seems to be a fine single player game.
Last edited by EWG on 15 July 2022 at 6:02 pm UTC
Im not saying this is what happened here as it seems they got blindsided by a service provider... but between this and ARK: Survival Evolved you can see where the future is heading.....
See PR departments, not that hard. Don't insult people, don't imply a platform is less deserving than others, explain the external factors, and show you care about your customers (existing and potential).
Well, the Armello developer already had a different version just for GOG.because they dont want to fix it if anything breaks on wine.
And in case isn't this why we have Proton? We no longer need native builds, translation overheads and coding for the one true platform (windows, x86[-64] and directx) is easier than solving platform quirks and there is no need to support anything other than Windows (and I'm not even sure if publishers/developers are required to solve problems whenever the issue is while running under Proton).
plus we have an history of harrassing developers who call their wrapper (wine/virtual programing) version an native build.
This is going to happen more and more as Proton gets better and better..... Greedy/lazy publishers will use Proton to lower costs as they dont need to make a dedicated Linux port and still get a slice of the Linux user pie.....
Im not saying this is what happened here as it seems they got blindsided by a service provider... but between this and ARK: Survival Evolved you can see where the future is heading.....
what difference it makes if the games run fine? hell, even mods might have an better cross platform compatibility, how is that any different from using multiplatform apis like openGL on windows instead of directx?
i know, its not the same thing, but if steamdeck increasse our marketshare, it wont make a difference our support will be first class no matter if native or proton.
hell proton already gave us better perfomance than native in a few titles.
because they dont want to fix it if anything breaks on wine.
plus we have an history of harrassing developers who call their wrapper (wine/virtual programing) version an native build.
This drives me nuts as a programmer. As WINE/Proton is not emulation, but an implementation of Windows/DX/other APIs in Linux/UNIX-based systems, as such things running in WINE are running natively as all WINE does is map APIs to native APIs/calls (well, for the most part).
because they dont want to fix it if anything breaks on wine.
plus we have an history of harrassing developers who call their wrapper (wine/virtual programing) version an native build.
This drives me nuts as a programmer. As WINE/Proton is not emulation, but an implementation of Windows/DX/other APIs in Linux/UNIX-based systems, as such things running in WINE are running natively as all WINE does is map APIs to native APIs/calls (well, for the most part).
That's why it's not native. It has to map to native, during runtime. You're running EXEs and DLLs on Linux. Don't know about you, but that wasn't my goal when switching to Linux.
Last edited by Eike on 14 July 2022 at 4:23 pm UTC
because they dont want to fix it if anything breaks on wine.
plus we have an history of harrassing developers who call their wrapper (wine/virtual programing) version an native build.
This drives me nuts as a programmer. As WINE/Proton is not emulation, but an implementation of Windows/DX/other APIs in Linux/UNIX-based systems, as such things running in WINE are running natively as all WINE does is map APIs to native APIs/calls (well, for the most part).
That's why it's not native. It has to map to native, during runtime. You're running EXEs and DLLs on Linux. Don't know about you, but that wasn't my goal when switching to Linux.
That's the definition of what APIs do - they map calls to something else so that the programmer doesn't need to know all the details under the surface. Hence why web APIs are so popular because they are so ubiquitous.
It seems the Linux Gaming community wants to change the definition of APIs for WINE/Gaming vs everything else. A Web application isn't "native" either, but the reality is that JS/Electron APIs are mapping to System Calls. Which is what C, Python, Ruby, Go, Rust, etc APIs do as well for desktop/CLI applications.
In reality, DXVK is a DX API for Vulkan, WINE is a Windows API for all platforms, faudio is an xaudio API for all platforms, so on and so forth
Last edited by EagleDelta on 14 July 2022 at 6:24 pm UTC
The program code is native already (x86 instruction set with AMD64 extensions). WINE contains an independent reimplementation of various libraries shipped with Windows. So, instead of calling functions in Microsoft's Direct3D implementation (as example), programs running under WINE call into WINE's Direct3D implementation (which, opposed to Microsoft's implementation, internally uses other graphics libraries like Vulkan to make the code independent of graphics driver - therefore the term "mapping").because they dont want to fix it if anything breaks on wine.
plus we have an history of harrassing developers who call their wrapper (wine/virtual programing) version an native build.
This drives me nuts as a programmer. As WINE/Proton is not emulation, but an implementation of Windows/DX/other APIs in Linux/UNIX-based systems, as such things running in WINE are running natively as all WINE does is map APIs to native APIs/calls (well, for the most part).
That's why it's not native. It has to map to native, during runtime. You're running EXEs and DLLs on Linux. Don't know about you, but that wasn't my goal when switching to Linux.
This is not only true for graphics libraries though, but for almost (WINE isn't 100% complete) all libraries that come with Windows, what includes low-level libraries for accessing basic system functionality.
In other words, the code is still running 100% native, it just might show different performance/behaviour to Windows because the libraries might be faster/slower, and the Windows API documentation might not always perfectly reflect real-world behaviour of Windows libraries (and of course there could be bugs in WINE).
Also, EXE/DLL is just a file format. The distinction if a program's machine code is stored in an ELF file or an EXE file is similar to the one if an MP3 stream is stored inside an MKV or an AVI file. WINE contains a reader for EXE files, and if you want to, you can set up your Linux kernel to just use WINE's EXE reader if you try to launch an EXE file directly.
When writing my posting, I wondered if I should mention that I am programming for 38 years and that I'm professional software developer for over two decades. It seems I should have.
I know all you've written. But you left out that every single call into the Windows(!) API has to be translated, during runtime. It is not native, it is translated into native. Like a human language interpreter doesn't make English native German - they translate.
We've done it. We've actually reached a point in the debate where not only is using Proton better than native titles, it's all actually been native the whole time.Who said it's better? The "native" discussion is actually answered quite well on the WINE FAQ.
You might want to read 5.8.
Ah, 6.6.3 of eben better:
Another option is to use a shell script to call a native application. Save it as run_linux_program...
Last edited by Eike on 14 July 2022 at 7:46 pm UTC
See more from me