DavidoTek / ProtonUp-Qt

Install and manage GE-Proton, Luxtorpeda & more for Steam and Wine-GE & more for Lutris with this graphical user interface.
https://davidotek.github.io/protonup-qt
GNU General Public License v3.0
1.16k stars 39 forks source link

Add support for RTSP GE Proton #412

Open CorneliusCornbread opened 1 week ago

CorneliusCornbread commented 1 week ago

Is your feature request related to a problem? Please describe. For VRChat players we have to install a fork of GE proton which patches RTSP players. These patches include many fixes, especially to encoders found in the windows media foundations libraries. Installing these manually can be a bit of a pain

Describe the solution you'd like I propose two possible solutions:

Additional Context https://github.com/SpookySkeletons/proton-ge-rtsp

sonic2kk commented 1 week ago

Allow for installing from an archive: this would make it so that any forked, custom version of proton can be installed easily to Steam

I like this idea a lot, actually. If there was a way we could do this "ModOrganizer 2 style" where after selection we can show the contents of the archive and allow the user to select what folder should be extracted (defaulting to the top-level one) I think this would be great.

You could open a separate enhancement request for that feature, if you'd like.

Simply support downloading RTSP proton in the same manner that regular GE proton is supported.

This is probably equally valid for this use case, but doesn't invalidate the above proposal. Implementing this as a Ctmod would be straightforward I think, it could likely just inherit from the GE-Proton CtMod.

Maybe this one should be under Advanced Mode? We tend to group a lot of more "specialized" Proton flavours there (NorthStar Proton, etc).

sonic2kk commented 1 week ago

Yeah, this was very straightforward to add. I made a branch here (forgot to put it under Advanced Mode): https://github.com/sonic2kk/ProtonUp-Qt/tree/rtsp-ge-proton (my fork is only for the purposes of contributing here, and as a playground, it's not a replacement for ProtonUp-Qt, purely a development fork)

I verified that it showed up, downloaded, and extracted correctly. The extracted contents have the same structure as GE-Proton, it uses tagging properly, uses the same archive format, so it was straightforward.

As a disclaimer: I am not sure if we want to go this direction though, so I won't open a PR yet. That branch is only there to serve as a proof-of-concept that it is possible, not a confirmation or endorsement :-)


Screenshot comparing the directory structure of GE-Proton9-5-rtsp10 (downloaded using that branch), and GE-Proton9-7.

ge-proton-rtsp-comparison

CorneliusCornbread commented 1 week ago

As a disclaimer: I am not sure if we want to go this direction though, so I won't open a PR yet. That branch is only there to serve as a proof-of-concept that it is possible, not a confirmation or endorsement :-)

Ye, I suggested the 'install from archive' idea first as I think it scales better in the scenario where there are more forks of WINE that pop up for different specific use cases. Moreover the forks may be temporary, it's a possibility that the changes in RTSP GE eventually see themselves in upstream which would make it no longer necessary and would have to be removed from protonup-qt itself. All of which requires work to keep up to date, kinda a hassle.

Darthagnon commented 1 week ago

I would love this feature if it were implemented - I've had a lot of trouble with legacy software (e.g. Rockbox, Pangu) that tries to pull resources from long-dead repos online. The ability to install from a ZIP would solve this issue.

sonic2kk commented 1 week ago

[...] and would have to be removed from protonup-qt itself. All of which requires work to keep up to date, kinda a hassle.

Removing tools isn't a hassle :-) we can simply remove the file from the Ctmods folder.

But I agree with the sentiment wholeheartedly, and agree that it is better than trying to add every possible tool under the sun. It also allows for offline installation by downloading the tools on another machine and allowing them to be extracted into the relevant folder, which was requested before.

There are some questions about UX to discuss I think (a dedicated button on the Main Menu, an option for "Browse..." On the CtInstaller dialog, etc) so I think a separate issue for this proposal would be great. Then it can be discussed separately from whether or not RTSP should be added.

DavidoTek commented 3 days ago

Allow for installing from an archive: this would make it so that any forked, custom version of proton can be installed easily to Steam

Interesting idea...

This needs another UI with following options:

I would hide this behind advanced mode though. I'm not sure where we should put this button. There are 3.5 options:

  1. Add another button to (a) the main window (b) some other dialog
  2. Add it as an option in the drop down box of the install dialog
  3. Add a drop down arrow to the "Add tool" button (not very Steam Deck friendly, I would not consider that option)

That would somehow solve https://github.com/DavidoTek/ProtonUp-Qt/issues/410

I've created a new issue for this: https://github.com/DavidoTek/ProtonUp-Qt/issues/414