gameimage icon indicating copy to clipboard operation
gameimage copied to clipboard

Convert old appimages to the new flatimage

Open Blad3forc3 opened this issue 10 months ago • 4 comments

I have tried extracting an old appimage which was made with a 32bit wineprefix and substituting it into the flatimage wineprefix directly but it complains of a kernal32 error. IS there anyway to convert these to flatimage format without having to reinstall the game again? Also what is the process to extract a flatimage? WIth appimage all i had to do was run --appimage-extract and then run appimagetool to create an appimage with any changes

Blad3forc3 avatar Apr 04 '24 19:04 Blad3forc3

Hi @Blad3forc3 ! Issue acknowledged, I'm creating a simple script for this, will post here when it is finished.

Also what is the process to extract a flatimage?

Currently that is no direct method to extract, you can use:

# Mount
./game.flatimage fim-mount some-folder
# Copy
cp -r ./some-folder some-other-folder
# Unmount
fusermount -u some-folder

ruanformigoni avatar Apr 05 '24 11:04 ruanformigoni

Thanks Ruan. I'll try the fusermount option. Just be handy now and again. If I've extracted the contents of the flat image would I just need to replace the contents of the flat image with the contents of my game image build folder and re-run game image to pack it again?

Blad3forc3 avatar Apr 05 '24 12:04 Blad3forc3

No problem. It would not be that simple because the games are stored in compressed filesystems inside flatimage. The flatimage method of doing things does not require to extract everything to modify like it was with AppImage. Here are some examples, (make a backup before trying):

List the filesystems inside the image

$ ./tomb-raider-collection.flatimage fim-dwarfs-list
tomb-raider-anniversary
tomb-raider-legend
tomb-raider-underworld
usr
wine

Extract a game from the flatimage to the current directory (from the previous list):

./tomb-raider-collection.flatimage fim-exec cp /fim/dwarfs/tomb-raider-anniversary.dwarfs .

Extract a dwarfs file to a folder:

mkdir tomb-raider-anniversary
tomb-raider-collection.flatimage fim-exec dwarfsextract -i tomb-raider-anniversary.dwarfs -o tomb-raider-anniversary

Move the tomb-raider-anniversary directory and the tomb-raider-anniversary.dwarfs filesystem to the build directory of gameimage. On the creator, create click on '+', for adding a new game, type the same name of the directory/dwarfs file tomb-raider-anniversary and it should detect the folder and executables inside, without having to reinstall.


Update wine, with a new version downloaded from the gameimage-runners github. The name of the filesystem should be wine.dwarfs, the last argument is the mountpoint, games look for wine in this location.

./tomb-raider-collection.flatimage fim-dwarfs-add wine.dwarfs /fim/mount/wine

Note that I have not exposed this features yet because it is a bit experimental, if it is working I recommend to just leave it.

ruanformigoni avatar Apr 05 '24 14:04 ruanformigoni

Thanks Ruan!

It does actually work fine. I managed to extract and rebuild the flatimage following your exact instructions. I have also managed to write a basic script and desktop file to add to my dolphin right click menu , kservicemenu, to automate this in the folder of the FlatImage I want to change

Great Stuff!

Blad3forc3 avatar Apr 05 '24 17:04 Blad3forc3