Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Featurerequest: mediafoundation #1

Closed
Glog78 opened this issue Jan 26, 2019 · 6 comments
Closed

Featurerequest: mediafoundation #1

Glog78 opened this issue Jan 26, 2019 · 6 comments

Comments

@Glog78
Copy link

Glog78 commented Jan 26, 2019

Thank you for providing an updated version of protontricks. Since winetricks doesn't have a way to install mediafoundation into a prefix i was wondering if you maybe could include it.

Some needed informations ->
a.) http://www-pc.uni-regensburg.de/systemsw/win7/sp1/index.htm
b.) https://github.com/tonix64/python-installcab
c.) https://lutris.net/files/tools/dll/mfplat/x64/mfplat.dll & https://lutris.net/files/tools/dll/mfplat/x32/mfplat.dll

Thank you for the hard work.

@Matoking
Copy link
Owner

I don't think it makes sense to implement custom installation verbs like this in protontricks itself. This would be better done upstream in Winetricks or as its own standalone script. A quick search reveals there's already an issue about this on Winetricks' repository.

However, it would make sense to add an optional parameter to run an arbitrary command in the scope of the game's installation directory (let's call it -c or --command); this would make it easier to run bleeding edge fixes that haven't been added to Winetricks yet.

With that, we could create a standalone script called install_mfplat.py for installing mfplat.dll which could then be run as an one-liner like this:

$ protontricks -c 'wget github.com/install_mfplat.py; chmod +x install_mfplat.py; ./install_mfplat.py' <GAME_ID>

@Glog78
Copy link
Author

Glog78 commented Jan 26, 2019

hmm i like the idea !!

I have maybe another suggestion which basically gives even more space to work with:
protontricks -setenv
... this could basically load all the environment variables , adjust the path for the proton version the game use and setup the wineprefix.
that way following commands in this shell would work as if you would use your local wine.

@Matoking
Copy link
Owner

Matoking commented Jan 30, 2019

I've added a --command / -c flag in the development branch. The command configures the relevant environment variables, so it should work fine for custom scripts.

I might take a look at making a standalone shell script for mfplat installation at a later time, so I'll leave this issue open for the time being.

@Glog78
Copy link
Author

Glog78 commented Jan 30, 2019

thank you alot for the work!
One additional idea: Wouldn't it make sense to addtional exporting a WINE Variable to adjust the path? example: export PATH={PathtoProtonWine}:$PATH

this way you can easy get an interactive environment -> protontricks -c /bin/bash AppID

Also for the documentation you might want to add that the right "$WINE" is the right way to use the variable in scripts because of the spaces in the variable.

@Matoking
Copy link
Owner

I wrote a script that should install mfplat for Steam games. It's available as a GitHub gist here. I don't have a game that requires mfplat to run to test myself, so your mileage may vary.

In short, you can use the script like this:

protontricks -c "wget https://gist.githubusercontent.com/Matoking/2017eeffc1cee82f4797530c67707437/raw/install_mfplat.sh; chmod +x install_mfplat.sh; ./install_mfplat.sh 64 Binaries;" <APPID>

The script has only two parameters, the first of which is the architecture (32 if it's 32-bit, 64 if it's 64-bit) and the output directory (in the example it's Binaries, so if you had a game installed in /SteamLibrary/steamapps/common/GameName/, the mfplat.dll would be copied into /SteamLibrary/steamapps/common/GameName/Binaries/mfplat.dll. You want the mfplat.dll to be placed into the same directory as the game's .exe file.


One additional idea: Wouldn't it make sense to addtional exporting a WINE Variable to adjust the path? example: export PATH={PathtoProtonWine}:$PATH

Makes sense. I'll look into adding this later.

@Matoking
Copy link
Owner

Matoking commented Mar 1, 2019

I've created a wiki page for the mfplat installation script (and possibly other scripts in the future) here.

Since there hasn't been any activity on this issue for a while and the script to install mfplat already exists, I'm closing the issue for now.

@Matoking Matoking closed this as completed Mar 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants