GithubHelp home page GithubHelp logo

legluondunet / mf-fix Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hoodeddeath/mf-fix

1.0 0.0 0.0 8.36 MB

Applies MediaFoundation fixes to games running through Wine/Proton

Shell 41.17% Python 58.83%

mf-fix's Introduction

mf-fix

Applies MediaFoundation fixes to games running through Wine/Proton

Easily adds Media Foundation support to a Wine prefix. This project is heavily based on the scripts from z0z0z, https://github.com/z0z0z/mf-installcab and https://github.com/z0z0z/mf-install

The primary changes in this script are the ability for it to override the symbolic links Proton uses (which are not normally writeable by the user) and (optionally) automatically copying the mfplat.dll to the game's directory.

Example usage: ./mf-fix.sh -e "/path/to/game/directory/" /path/to/wine/prefix/

Usage

Usage: mf-fix [OPTIONS] [PREFIX PATH]

Options:

-v | --verbose : Enable verbose info messages

-n | --noconfirm : Skip confirmation before utilizing sudo to override the symbolic links Proton uses in its prefixes (if that is needed)

-e | --executable <PATH> : Path of the directory containing the executable of the game you are patching

-h | --help : Print this help message

Proton tends to use symbolic links for the files inside its prefixes. These sym links tend to disallow write permissions to users, which is why sudo is utilized to overwrite those files.

Executable path can either lead to the executable or its containing folder. This is used at the end of the script to copy mfplat.dll to the game's directory. If this option is omitted, you will need to copy the dll into the game's directory yourself.

is the path to the Wine prefix (the directory containing the 'drive_c' directory)

Absolute paths to the prefix are preferrable, I am unsure if relative paths will work properly for overwriting files

Exit codes:

0 : Success

1 : Unknown option

2 : Invalid path given

3 : Wine prefix path is not set

4 : Given path does not appear to be a valid Wine prefix

5 : Executable path does not exist

6 : Attempting to get the directory containing executable at provided path resulted in a file path or a non-existant directory

Notes

  1. Currently, the verbose and no confirm options are not implimented

  2. Since I was having a rough time understanding exactly how it works, this script currently uses the installcab.py file from the mf-installcab repository from z0z0z (https://github.com/z0z0z/mf-installcab). I would prefer to have it contained in a single file, so that is a planned change

mf-fix's People

Contributors

hoodeddeath avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.