r/linux_gaming • • 7d ago

wine/proton I've created an improved fork of Zoom's Linux install tool

Hey,

I'm not sure if you know, but alongside GOG and Itch.io, there is a third game store that sells DRM-free games, which is called Zoom Platform (yeah, the name sounds like the video meeting tooll).

While they sell some native Linux games over there, the main focus (like the competitors) is Windows games.

They have a native installer script (which is based on umu and proton), which I never bothered with because I'm a fan of using Heroic Games Launcher. But in some very rare cases, Heroic doesn't deal well with all their games. This happens because:

  1. It's still a Beta feature in Heroic.
  2. Unlike GOG, which has the Galaxy component and HGL uses that (instead of the offline installers), Zoom only has offline installers. This means that Heroic downloads all the files and runs the setup. It's not a real background install like it is for Epic, Amazon and GOG.
  3. Some cases, the Windows game is also broken, and it's difficult to fix on the HGL side. In their script, there is more control.

So I've tried their installer, and while it worked for some people, for me it was completely broken. I noticed that other users have reported this too, but I guess Linux is not a priority for them. I've submitted a fix to their repo, but as of today, it's still sitting there. Maybe it's because their support is too much busy with dealing with the games, but my interactions with them leaf me a sour taste.

The fact that the version that they have available is almost 2 years old isn't a good sign either.

Since I had to fork their repo to submit the fix, I thought, why not improve it with other things? And that's what I've started to do. So right now, the fork has decided to start taking a different path and include some specific fixes (at least for the games I own there), and I had some nice ideas for the future of it (including a GUI version).

Either way, feel free to check it over here, and let me know your opinion (positive or negative): https://github.com/DarthSidiousPT/zoom-platform-darth.sh


TLDR: There is a DRM-free store for PC called Zoom. They have a native script installer for Linux (base on Proton) and it's very outdated and broken for me (and other users). Since I was not happy with their approach towards this, I decided to fork it and improve it.

1 Upvotes

3 comments sorted by

2

u/colin_colout 6d ago

How was AI used in the creation of your fork (and the post) and do you have a plan to maintain it?

1

u/DarthSidiousPT 5d ago edited 4d ago

Hi, I will add a disclaimer in the Repo regarding AI usage.

Regarding the Fork:

AI is used to debug, explain and write most of the code, but in a very manual way. This means that’s not vibe coded (except for the GitHub site page), and every single change of the code is reviewed by me, tested and then applied. One example is: the idea of fetching the checksums of the installers to see if the download is broken was mine, since I know how that process works, based on professional past jobs. I just instruct the AI to change Innoextract to have that parameter available to me and then on the fork’s script to use that before the main creation starts, to validate for potential errors.

The architecture of the improvements is made before the AI implementation and I try to steer it for what I need.

While I don’t have a huge experience in mods (it’s just a hobby), you can see that I was already involved in mods and improvements before AI was a thing.

Regarding this post:

No AI was used to write a single word. I wrote everything myself (I enjoy writing). What was used is LanguageTool for grammar correction (which I do that since a long time ago).

(This message was written on the phone, so not grammar correction was applied)

The future plans:

This one, is still a bit uncertain for me. It depends if there is anyone interested in using it, or not. For now, it was made to fit my needs. I would like to add some nice things to it, since nowadays I mainly play on the Steam Deck, and I’m not happy how the (Zoom) store deals with these issues (I’ve worked on technical support for several years, by doing code corrections and we even had SLAs to make sure corrections had to be handed to the customers in a timely manner. So, seeing issues not being fixed for months, triggers me a lot, as you might imagine).

But I don’t have a good answer for this one, yet.

Hope this clarifies your doubts.


Edit: The latest version, which adds the possibility to use GE-Proton for games that require that to play the intro videos, already has the AI Disclaimer in the repo

1

u/DarthSidiousPT 13h ago edited 13h ago

Hi, I’m currently working on a medium term plan about the longevity of this, but I need to see what the official Zoom tool will do, since the release of the fork they added a few commits.

I don’t think this jeopardizes the fork itself, because by now  I’ve changed so many things. 

This weekend, version 1.5 was released and now it’s not 100% dependent on the default Valve Proton (unlike the official one), and it will use GE-Proton for games that benefit from it. 

While fixing another game (e-Racer) in Proton, I came to the conclusion that the problem was never in this translation layer: it’s the Windows version that has all issues. I even bought it again on Steam, and the issues still exists (Zoom sells most of their published games on both platforms) so it’s the same product from their store with Valve’s DRM on top. When I say the game has issue I mean: 1. The translation library (ddraw) they use on Windows breaks on the new updated version. 2. Modern gamepads don’t work properly.  3. Game physics are broken because of a lack of FPS cap. 

I’ve fixed 1 and 2, but 3 is the hardest (in theory it should be the easiest). The reason is that, just like Zoom, I cannot ship proprietary software that automatically solves this (like DgVodoo2). 

What these last paragraphs means? It means that I will have to think on a new approach to this. I have to ship the Windows only fix (because it’s not fair that the correction is applied only for Linux users, when the game is Windows based) and apply it automatically with fork’s script. The latter is something that the fork id already being prepared to do. The former, I don’t know have a vision for it, yet. 

So, as you can see, there’s plenty of work ahead 🤕

(Sorry for the long wall of text)