Closed Blad3forc3 closed 6 months ago
Hi @Blad3forc3, you can select the file that is executed by default with:
./my-cool-game.AppImage --gameimage-cmd='{wine} {appd}/path/to/my/exec'
Next time you click or run through the terminal, It'll execute the selected exe
. More info about it here.
I have got these 5 files in these locations in the appimage
drive_c/GoG Games/Tales of Monkey Island/Tales of Monkey Island 1/MonkeyIsland101.exe drive_c/GoG Games/Tales of Monkey Island/Tales of Monkey Island 2/MonkeyIsland102.exe drive_c/GoG Games/Tales of Monkey Island/Tales of Monkey Island 3/MonkeyIsland103.exe drive_c/GoG Games/Tales of Monkey Island/Tales of Monkey Island 4/MonkeyIsland104.exe drive_c/GoG Games/Tales of Monkey Island/Tales of Monkey Island 5/MonkeyIsland105.exe
Can i accommodate a popup menu in the apprun script to pop up when running the appimage to automatically run one of the five i choose each time i run the appimage?
On Sun, 26 Feb 2023 at 20:41, Ruan Formigoni @.***> wrote:
Hi @Blad3forc3 https://github.com/Blad3forc3, you can select the file that is executed by default with:
./my-cool-game.AppImage --gameimage-cmd='{wine} {appd}/path/to/my/exec'
Next time you click or run through the terminal, It'll execute the selected exe. More info about it here https://github.com/ruanformigoni/gameimage#launch-command.
— Reply to this email directly, view it on GitHub https://github.com/ruanformigoni/gameimage/issues/18#issuecomment-1445461864, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJOLIOZPRVTKEKFI2TYKOOLWZO5XNANCNFSM6AAAAAAVILR2W4 . You are receiving this because you were mentioned.Message ID: @.***>
A follow up to this. If a game has a launcher executable and you select an option to run another executable then this just doesnt run.
As an example house of the dead 3 requires you to run a launcher exe in the top directory to actually run the main games executable but as the executable resides in a bin folder the game fails to run. The main game executable will not run directly
Any update on this Ruan? I have a few appimages that refuse to run because they require to be run from a launcher which then executes another exe within the game dir but wont run directly
Yes, I'm working on an optional launcher, which also includes a tray icon for you to know the application is running.
Wonderful Ruan!! I look forward to it
On Thu, 6 Apr 2023 at 19:06, Ruan Formigoni @.***> wrote:
Yes, I'm working on an optional launcher, which also includes a tray icon for you to know the application is running.
— Reply to this email directly, view it on GitHub https://github.com/ruanformigoni/gameimage/issues/18#issuecomment-1499434811, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJOLIO7RZ2FJYP37BNTCDCTW74AY5ANCNFSM6AAAAAAVILR2W4 . You are receiving this because you were mentioned.Message ID: @.***>
A preview of how it is going:
Would this solve your issue?
Not sure. The problem is caused by not being able to run certain executables directly. Some have a launcher that needs to be run and then the launcher runs the executable after. At this point in a created appimage it fails for some reason because the launcher runs but when it calls the different exe (the one that won't run directly) to run the actual game the appimage fails
I'm having great success building wine appimages but i am still getting quite a few that demand a launcher to run then hook another executable to run another exe within the appimage for the main game. Looking at the above method you posted I would only be able to run the launcher still and unless things have changed whilst running the launcher within the appimage, the appimage would fail when the launcher executable hooks the main exe to initiate the actual game.
As an example try this game within an appimage for wine
https://www.myabandonware.com/game/toca-championship-racing-a4t
The rip version. It will run the menu but fail when the launcher tries to inject the main exe within the appimage
Try to run tourcars.exe and it will error saying you cant run it directly and to run setup.exe which will run but when you start the main program from it within the appimage it will just silently fail to load
Hi @Blad3forc3, this might be a 'working directory' issue, here's an test build of the launcher release if you want to try it out. I'll look into this issue on the referred game. Thanks for the feedback!
Hi Ruan.
I have tried your test build with a clean prefix etc. and the setup runs but when you select play it still fails
Any update on this? I have tried the latest game image and a game that requires a launcher to run which then calls an exe to run the actual game (which can't be run directly) still fails on a built appimage
Hi @Blad3forc3 , not yet. I'm a bit busy this last couple of months, will come back to this whenever possible.
Hi Ruan, Is there any update on this? I have tried your latest gameimage and if the game requires you to run a launcher but then automatically hooks the main executable the appimage will fail.
Hi @Blad3forc3 , I have tried to reproduce this issue a bit. Here's what I got:
Is this the issue that your are facing?
Yes, I am getting a different file is missing to yours but it still fails running.
On Sat, 11 Nov 2023 at 12:45, Ruan Formigoni @.***> wrote:
Hi @Blad3forc3 https://github.com/Blad3forc3 , I have tried to reproduce this issue a bit. Here's what I got:
- I installed toca with win98 compatibility
- No dxvk and no vkd3d
- Installed dgvoodoo2 https://www.pcgamingwiki.com/wiki/DgVoodoo_2#Linux_.28Wine.29_configuration
- Run setup.exe
- Click in play (the game opened)
- I packaged the game on an AppImage and set the setup.exe launcher as the default .exe
- When I run the image it shows the launcher, I press play, it tries to open, but crashes with CPYRIGHT.BMP could not be loaded (it was trying from the original install path, instead of the appimage one).
Is this the issue that your are facing?
— Reply to this email directly, view it on GitHub https://github.com/ruanformigoni/gameimage/issues/18#issuecomment-1806807580, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJOLIO3Z6ZHUJUZO6EAJZLTYD5XNDAVCNFSM6AAAAAAVILR2W6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBWHAYDONJYGA . You are receiving this because you were mentioned.Message ID: @.***>
I managed to make it work as a portable AppImage with an external prefix
prefix
export GIMG_PKG_TYPE=prefix
continue
or with Ctrl + Ddrive_c
# Execute this command in the same folder as the rom and icon folders
export GIMG_DIR_ROM_EXTRA="\"$(pwd)/build/AppDir/app/wine/drive_c/tourcar\""
drive_c
path, drive_c/tourcar/setup.exe
D3DImm.dll
and DDraw.dll
on the installed folder, drive_c/Codemast/TourCar/
wine winecfg
d3dimm
and ddraw
in winecfgdrive_c/Codemast/TourCar/setup.exe
and the default .exe
That should do it, however now you have to backup both the appimage and the prefix. It should work with other package methods besides prefix
, but my guess is that it does not due to this issue.
Ive followed your list and it does indeed get passed the error but now it just crashes after the first codemasters video
On Sat, 11 Nov 2023 at 14:06, Ruan Formigoni @.***> wrote:
I managed to make it work as a portable AppImage with an external prefix
Export the package type as prefix
export GIMG_PKG_TYPE=prefix
Start with a fresh prefix (erase build/AppDir/app/wine or the entire build directory)
Fetch tools
Run configure phase to initialize the wine prefix
Select win32
Do not install dxvk nor vkd3d
Run wine winecfg and select windows98 compatibility mode
Type continue to finish the configure phase
Copy the install folder to inside build/AppDir/app/wine/drive_c
Export the install folder location as an extra rom dir, inside drive_c
Execute this command in the same folder as the rom and icon folders
export GIMG_DIR_ROM_EXTRA="\"$(pwd)/build/AppDir/app/wine/drive_c/tourcar\""
Install the game from inside the drive_c path, drive_c/tourcar/setup.exe
Drop the dgvoodoo2 D3DImm.dll and DDraw.dll on the installed folder, drive_c/Codemast/TourCar/
Re-execute the configure phase and run wine winecfg
Add the native overrides for d3dimm and ddraw in winecfg
Build and use drive_c/Codemast/TourCar/setup.exe and the default .exe
That should do it, however now you have to backup both the appimage and the prefix. It should work with other package methods besides prefix, but my guess is that it does not due to this https://gitlab.com/formigoni/gameimage/-/issues/21 issue.
— Reply to this email directly, view it on GitHub https://github.com/ruanformigoni/gameimage/issues/18#issuecomment-1806826244, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJOLIO57YCISGSKDH6CD75DYD6A7PAVCNFSM6AAAAAAVILR2W6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBWHAZDMMRUGQ . You are receiving this because you were mentioned.Message ID: @.***>
Does it have info about the error on the terminal, or in a pop-up window?
When running it from a terminal this is the complete output i get:
/tmp/staticx-cFMhkL/libc.so.6: version `GLIBC_2.38' not found (required by /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so) Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so GPU Vendor: opengl vendor string: nvidia corporation VK_ICD_FILENAMES: LIBGL_DRIVERS_PATH: /tmp/.mount_wineNWwjQg/usr/lib/i386-linux-gnu/dri:/tmp/.mount_wineNWwjQg/usr/lib/x86_64-linux-gnu/dri:
Written vulkan info to /media/ade/Temp/Staging32Toca/build/.TOCA Touring Cars.config/wine/vulkan.log wine: '/tmp/.mount_wineNWwjQg/usr/bin/wine setup.exe' linux-gate.so.1 (0xf7f18000) libapprun_hooks.so => /tmp/.mount_wineNWwjQg/lib/i386/libapprun_hooks.so (0xf7f05000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7c00000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7ed2000) lib/ld-linux.so.2 (0xf7f1a000) 002c:err:wineboot:process_run_key Error running cmd L"C:\windows\system32\winemenubuilder.exe -a -r" (126)
On Sat, 11 Nov 2023 at 14:47, Ruan Formigoni @.***> wrote:
Does it have info about the error on the terminal, or in a pop-up window?
— Reply to this email directly, view it on GitHub https://github.com/ruanformigoni/gameimage/issues/18#issuecomment-1806835385, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJOLIO6AA7SSREKLWC2CWS3YD6FXVAVCNFSM6AAAAAAVILR2W6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBWHAZTKMZYGU . You are receiving this because you were mentioned.Message ID: @.***>
That is odd, I've re-created the steps again and it worked. Maybe it's an nvidia or glibc issue. Does it work outside the appimage?
Try to kill all wine stuff with pkill -f ".*\.exe"
Try to do this on the build directory:
export WINE="$(pwd)/build/AppDir/usr/bin/wine"
export WINEPREFIX="$(pwd)/build/.toca.AppImage.config/wine"
cd $WINEPREFIX/drive_c/Codemast/TourCar
"$WINE" setup.exe
Also, try to disable the launcher to check if the issue with glibc goes away GIMG_LAUNCHER_DISABLE=1 ./toca.AppImage
The glibc error does go away if i execute GIMG_LAUNCHER_DISABLE=1
I may have not followed your directions correctly at his particular line.
Export the install folder location as an extra rom dir, inside drive_c
export GIMG_DIR_ROM_EXTRA="\"$(pwd)/build/AppDir/app/wine/drive_c/tourcar\""
IS this command executed inside the drive_c folder within the wine prefix or in the same folder as the rom and icon folders?
You should run this command in the same folder with the build, rom, icon
folders. Try to leave the rom
folder empty, then it'll only show the files inside the extra folder. Also if you have installed the .exe
from the rom folder, create the prefix again and start over the steps (with a new prefix).
Remember to erase build/.toca.AppImage.config
Not having any luck here. Most of the time it crashes after the first video and sometimes it gets to the title screen just before the menu then crashes
Could you try this one ?
Thanks ruan. Yes this does work here too.
I don't want to ask but i have a cd image mounted of the game and could you do a step by step on how to do it from the start? I'd like to install the game from the cd image because with your appimage it will only let you select a link game not a solo game. Probably something to do with it being a rip? Also if you could i could also try a few other games this way that refuse to start Thanks
Good to know that it worked! I just tried the dvd. It works, but there is only the linkup option as well. There are other people with this issue in the link, I tried to simulate mounting the cd with cdemu, it did not fix the issue, even when I ran the setup.exe inside the cdemu mount.
Fixed it!
I included the path that cdemu mounted the image with:
export GIMG_DIR_ROM_EXTRA="\"/run/media/ruan/TOURING_CAR\""
And ran the installer from there. Now, everytime the game launches, I'll look for the files in the drive it was installed from, in my case it was "I:". So one needs to make sure to mount the image and configure use to use the correct letter for it. That could be done in a script, I believe you've tried something like this before in #3
Great Ruan!
You might have to write a step by step again though as I've lost track of what to do where :)
On Sat, 11 Nov 2023, 18:38 Ruan Formigoni, @.***> wrote:
Fixed it!
[image: Screenshot_20231111_153004] https://user-images.githubusercontent.com/18180693/282259600-ad762557-c673-4699-91db-fcc2a69e5220.png
I included the path that cdemu mounted the image with:
export GIMG_DIR_ROM_EXTRA="\"/run/media/ruan/TOURING_CAR\""
And ran the installer from there. Now, everytime the game launches, I'll look for the files in the drive it was installed from, in my case it was "I:". So one needs to make sure to mount the image and configure use to use the correct letter for it. That could be done in a script, I believe you've tried something like this before in #3 https://github.com/ruanformigoni/gameimage/issues/3
— Reply to this email directly, view it on GitHub https://github.com/ruanformigoni/gameimage/issues/18#issuecomment-1806887513, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJOLIO72TE44N4QZ3TIZW43YD7AYTAVCNFSM6AAAAAAVILR2W6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBWHA4DONJRGM . You are receiving this because you were mentioned.Message ID: @.***>
I'll try to streamline this process, so you would mark a checkbox that you'd like to mount an image every time wine appimage is started (and select the path to where it is). I'll also try automate the installation of dgvoodoo2, so you can just install it as with dxvk and vkd3d. Ideally this should suffice to simplify this process.
Some other notes here:
drive_c/Codemast/TourCar/
install folder, so it is possible to configure its options even after packaging.That sounds great. It would be good if you could select the package type and the wine type as well as mount a cd image. I prefer to have the cd image within the appimage so it's all in one package and it will automatically mount it from within the appimage when executing the appimage. Am I right in saying that as long as I use this command : export GIMG_PKG_TYPE=prefix I should be able to make games like touring cars that require a launcher that hooks an exe to run the actual game should work?
On Sat, 11 Nov 2023, 19:09 Ruan Formigoni, @.***> wrote:
I'll try to streamline this process, so you would mark a checkbox that you'd like to mount an image every time wine appimage is started (and select the path to where it is). I'll also try automate the installation of dgvoodoo2, so you can just install it as with dxvk and vkd3d. Ideally this should suffice to simplify this process.
— Reply to this email directly, view it on GitHub https://github.com/ruanformigoni/gameimage/issues/18#issuecomment-1806894588, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJOLIO7WLM5DQ7SAKZL6H6TYD7EOHAVCNFSM6AAAAAAVILR2W6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBWHA4TINJYHA . You are receiving this because you were mentioned.Message ID: @.***>
The fix here was of two issues.
export GIMG_PKG_TYPE=prefix
that you mentioned, resolves some issues with case sensitive paths.That is what I'll try to do, to include the iso in the AppImage and automatically mount it to a fixed letter (both on install and after packaging). That way the game will find the required files in the "cd" drive. One interesting thing is that I managed to make it work without cdemu as well, one less dependency to use. I can just create a drive in wine that points to a folder (of extracted iso contents) or use fuseiso to mount it.
"One interesting thing is that I managed to make it work without cdemu as well, one less dependency to use. I can just create a drive in wine that points to a folder (of extracted iso contents) or use fuseiso to mount it"
Some older games have a data layer and a cd audio layer. These images are generally stored as cue/bin files. The game Touring Cars is a good example of this. If you just extract the data to a folder you will lose the cd audio if you mount that as the cd drive for the game.
just a FYI
Closing this issue as it refers to #53.
What is the best way to run an appimage with multiple exes inside? For instance there is a menu that pops up as the default exe that then has 5 options (5 different exes to run) when selected but when running the launcher within the appimage and selecting one of any 5 these dont run.