Skip to content

mugen: pure python generator with writable squashfs support - #16094

Open
aderumier wants to merge 1 commit into
batocera-linux:masterfrom
aderumier:mugen-squashfs
Open

mugen: pure python generator with writable squashfs support#16094
aderumier wants to merge 1 commit into
batocera-linux:masterfrom
aderumier:mugen-squashfs

Conversation

@aderumier

Copy link
Copy Markdown
Contributor

Replace the batocera-wine by native python code.

implement some parts of batocera-wine in wine python utils

  • dxvk deploy

  • bottle create

  • autorun.cmd parsing

  • add .squahsfs support with writable overlay, as we currently updating the mugen.cfg for resolution,control,..

  • also add openal tricks needed by some mugen games

launching/closing:

  • hotkey exit is using `winserver -k' to correct close mugen.exe and wine server.

  • wineserver -w is used in the launch command , to correctly wait wineserver closing and child process are killed on exit before umounting the .squasfs overlay

Comment thread package/batocera/core/batocera-configgen/configgen/configgen/utils/wine.py Outdated
Replace the batocera-wine by native python code.

implement some parts of batocera-wine in wine python utils

- dxvk deploy
- bottle create
- autorun.cmd parsing

- add .squahsfs support with writable overlay, as we currently
updating the mugen.cfg for resolution,control,..

- also add openal tricks needed by some mugen games

launching/closing:

- hotkey exit is using `winserver -k' to correct close mugen.exe
and wine server.

- the shutdown is a Generator.running() context manager wrapping the
run of the command: wine hands the game over to the wineserver and
exits long before the game does, so the rom is only released once
`wineserver -w` has returned (falling back to `-k` on timeout) and
whatever still holds the prefix has been killed. Being a context
manager, it also runs when the emulator is killed rather than closed,
which a wrapper around the command could not do.
aderumier added a commit to aderumier/batocera.linux that referenced this pull request Jul 27, 2026
Ikemen engine code is pretty unstable, and each game can run different
engine version. Some games are provided both ikemen linux bin && windows
.exe, some other notes.

This patch try to run game in order:

1) check if autorun.cmd is present -> launch game with wine

2) check if Ikemen_GO_Linux if present in game directory -> launch game
with provided linux bin

3) Launch game with batocera system ikemen

The .pc extension with wine was never implemented in generator and was not working.

This patch add also support for .squashfs, and config.ini for newer ikemen versions

This patch depend of batocera-linux#16094
for wine code
aderumier added a commit to aderumier/batocera.linux that referenced this pull request Jul 27, 2026
Ikemen engine code is pretty unstable, and each game can run different
engine version. Some games are provided both ikemen linux bin && windows
.exe, some other notes.

This patch try to run game in order:

1) check if autorun.cmd is present -> launch game with wine

2) check if Ikemen_GO_Linux if present in game directory -> launch game
with provided linux bin

3) Launch game with batocera system ikemen

The .pc extension with wine was never implemented in generator and was not working.

This patch add also support for .squashfs, and config.ini for newer ikemen versions

This patch depend of batocera-linux#16094
for wine code
aderumier added a commit to aderumier/batocera.linux that referenced this pull request Jul 27, 2026
Ikemen engine code is pretty unstable, and each game can run different
engine version. Some games are provided both ikemen linux bin && windows
.exe, some other notes.

This patch try to run game in order:

1) check if autorun.cmd is present -> launch game with wine

2) check if Ikemen_GO_Linux if present in game directory -> launch game
with provided linux bin

3) Launch game with batocera system ikemen

The .pc extension with wine was never implemented in generator and was not working.

This patch add also support for .squashfs, and config.ini for newer ikemen versions

This patch depend of batocera-linux#16094
for wine code
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

Successfully merging this pull request may close these issues.

2 participants