Emulationstation from batocera with configs and scripts for integration as Arch-Linux package
This project is maintained by GB609
wrapper script for handling of wine, reading batocera config files and handling all game file types
Create wine prefix directory at location given. Does not re-create the prefix if the file ‘system.reg’ already exists in the given directory. Also exports given directory name as WINEPREFIX variable and calls _readWineAutorun as last step If the WINE_DISC environment variable is set after _readWineAutorun, the disc image will be mounted
Dealing with wine for a (potentially) shared game library introduces 2 issues that have to be solved.
emulationstation-wine will work around both limitations with the following approach:
libraryPrefix and a userPrefix.libraryPrefix: The game installations themselves, placed under the corresponding system’s rom directory.userPrefix: These are based on library prefixes, but use fuse and overlay mounts to create user-specific directory structures when starting a game.While the game runs, all of its writes go into the overlay. This overlay will be decoupled when it stops. With that, it becomes possible to update/modify the library prefix without invalidating user saves in the overlay.
This approach has its limits and can fail when a file exists in both the library and the save and is modified differently in both.
This function is responsible for configuring an action that targets a library prefix
This normally only means to set WINEPREFIX to the game’s directory under ROMS_ROOT_DIR/system/....
emulationstation-wine install will be isolated from the linux user’s home directory.
This is an important measure the handle correct redirection and capturing of save games.
Please do not directory create a library prefix manually without this step.This is an internal function that can not be called from the outside. Mentioned for documentation reasons here
This function sets up user prefixes from the given library rom prefix. As mentioned above, these are overlay-fs constructs (going from lowest to highest):
After the game ended, the overlay fs will be deconstructed and the save directory converted back into a ‘clean’ directory structure without overlay fs meta informations. This makes it possible to allow modifications to the library prefix again.
This is an internal function that can not be called from the outside. Mentioned for documentation reasons here
The following actions can be passed to emulationstation-wine.
All of these functions take the same argument line format:
emulationstation-wine <function-name> <path/to/rom> [-cfg path/to/sourceable/wine/envconfig] [-- args for real executable]"
-cfg is optional and usually an internal implementation detail-- and anything following it is optional and will be passed to the real *.exe that will be launched at the endHowever, these functions run against different targets (=WINEPREFIX), as explained in the section about prefixes.
The main function: Start a game.
Targes user prefix, derived from the given library rom path.
Install a game. Asks a few questions to guide and improve automatic installation.
This is a guided utility that can be used to create autorun.cmd files for wine applications.
Will automatically be started at the end of a new installation, but can also be triggered manually later on.
Targets library prefixes.
If the autorun.cmd file shall be different for a user, it has to be patched manually.
Note: When changed manually for a user, changes in the file within the library prefix will NOT propagate to that user anymore.
Generated with shdoc from /usr/bin/emulationstation-wine