Hi, I am the author of the DOS Browser project.
This is a browser with hardware acceleration for DOS games, allowing you to play them much faster than in Chrome, for example.
I want to publish it on Flathub.I am new to Flathub, but I have already built a Flatpak for my app, and it works fine. Now, I am trying to figure out how to publish it correctly.
This browser is based on Electron (electron-forge) and speeds up emulation by running DOSBox and DOSBox-X natively.
I read the following in the documentation (Best Practices section):
Patches that add or remove application functionality, large and complicated patchsets, binary files, source code, or any additional tooling must not be in the submission.
However, when I looked at the PRs section, I noticed many submissions include binaries. Often, the submission is just a wrapper for a binary. So, is this “best practice” guideline strictly enforced, or is it acceptable to provide a wrapper for a binary?
Here are the options I am considering for publishing:
- Build everything from source
This would require significant effort. I would need to create a Flatpak that builds DOSBox, DOSBox-X, and the Electron client app. It’s doable but is the most challenging option. - Build the client app (Electron) from source and ship the DOSBox and DOSBox-X backends as binaries .
This approach is much simpler. However, it makes using electron-forge somewhat pointless. Electron-forge handles building the Flatpak for me, but in this case, I would need to write my own build scripts. While this is acceptable, it adds complexity. - Build everything on my side with electron-forge and provide a wrapper script for the binary
This is the simplest approach, but I’m unsure if it’s acceptable.
Could you help me decide which option is better? Also, is it okay to publish such an app on Flathub? I don’t want to invest a lot of time in Option 1, only to have the submission rejected for other reasons.
Additionally, I have a question about the runtime: electron-forge builds against the old runtime (20.08). Is it valid to use this for submission?
–
Project refreneces:
emulation engine (I am an author): GitHub - caiiiycuk/js-dos: The best API for running dos programs in browser GPL-2.0. js-dos allows to run DOS/Win 9x program in browser, so the DOS Browser is made to accelerate such websites.
dos.zone - is a community driven library of DOS games which can be viewed by DOS Browser.
DOS Browser download page: Download | DOS games in browser (already have deb/rpm)
–
P.S. DOS Browser is a just browser + emulation layer, it does not break any legal rights. Currently it able to view only dos.zone website but soon it will support any site that based on actual js-dos library (working on it).