flathub / org.sonic3air.Sonic3AIR

https://flathub.org/apps/details/org.sonic3air.Sonic3AIR
0 stars 3 forks source link

What should we do about the launcher? #6

Open TiZ-HugLife opened 2 years ago

TiZ-HugLife commented 2 years ago

This is another one of those discussion issues I said I would open in closing my pull request. This probably has the most likelihood of controversy, but I do ultimately want to work with the ones with control over this repo, and not against them.

The Adwaita launcher as it is currently implemented is blocking moving this package to the FD.O runtime. As Adrien and Alexander have already said, it should be feasible to build GTK4 and Adwaita on top of FD.O, though it will inflate the manifest a bit in so doing. If you wish to continue using the Adwaita launcher, I think this would be the best way to do it.

Both Adrien and Alexander do not like the GTK3 launcher port I made for a wide variety of reasons, so I'm not going to push that any further.

What about a Zenity-based launcher? Zenity already has portal integration, so a POSIX sh script that uses it would provide the same functionality without adding any additional dependencies, and Zenity is in the FD.O runtime even though it's not in GNOME's runtime. It would not look nearly as nice as the Adwaita launcher, but as was said in the previous discussion: any given user will only see the launcher once. We use that nice-lookning Eggman icon as a dialog icon to give it just enough polish, but aside from that, sidestep a large percentage of the fuss. If you are amenable to the idea of a Zenity launcher, I can draft up a branch for that.

Kekun commented 2 years ago

IMO you're overthinking this tremendously: the launcher was nothing but a workaround to a lack in S3AIR, what you really want isn't a separate launcher but the game to tell you how to set itself up. I only worked on this workaround because the game is proprietary software so there's literally nothing else I could do.

ArclightMat commented 2 years ago

Just as a heads-up, the game has been open sourced under the GPLv3 a while ago, so we can poke around and try to add a way for the game to set it up itself. However, I'm not sure if upstream would be willing to add it however, due to their concerns on relicensing the engine for their commercial projects if/when needed, so it would likely be used as a patch/fork on our side.

TiZ-HugLife commented 2 years ago

IMO you're overthinking this tremendously: the launcher was nothing but a workaround to a lack in S3AIR, what you really want isn't a separate launcher but the game to tell you how to set itself up.

That's a good point. At present, if you run S3AIR without the launcher assist and no ROM set up, it offers a very minimalistic dialog with very minimalistic instructions, depicted here: 18-101306

S3AIR already searches a lot of well-known paths to try and handle it with an extent of automation, but when the well-known paths fall through--and they probably will, since most people use custom library paths--it doesn't try any harder than it currently does. I think the easiest thing S3AIR could do on their end is invoke Zenity to ask the user to pick the ROM file, that way it doesn't have to worry about correctly implementing use of the file chooser portal. I think an MR for that would be likely to be accepted on their end, since finding the ROM file is very much part of S3AIR-specific minutia on Linux and wouldn't have anything to do with them using Oxygen for a future commercial project.

If there's anything that I think we should definitely go out of our way to handle automatically, it's Steam Deck. And of course, I don't have one yet, and won't have one until the middle of May. 💀 What's the path for Deck's default library? Is it already accounted for in our current permission set? Where does Deck mount microSD cards? Is it a consistent path? We should try to make sure that as long as Sega Classics is installed in a path that we can reliably predict, the user won't see any dialog at all. If those paths aren't already in S3AIR, we should probably submit a MR to add them.