I am writing a script for adding the VIC20 game JetPac, using VICE Commodore emulator. The running the script the the install is OK, hitting a few issues running the game.
Log from running the game.
– GAME LOG –
Started initial process 13340 from gamemoderun /home/user/.local/share/lutris/runners/vice/bin/xvic -chdir /home/user/Software/VIC20 -VICdsize -sdl2renderer opengl /home/user/Software/VIC20/Jetpac.prg
Start monitoring process.
/home/user/.local/share/lutris/runners/vice/bin/xvic: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory
Monitored process exited.
Initial process has exited (return code: 32512)
All processes have quit
Exit with return code 32512
There is the missing library, but first I’ll go through a couple of other observations first.
There is no option (a game option?) to config the memory size, to emulated adding RAM Cartridges. This game does require adding memory expansion (option is “-memory 8k”)
VICE does not have an “-sdl2renderer” option. There is “-sdl2backend” (VICE Manual - 8 Platform-specific features), though I see the default Ubuntu package is not built with it, unless Lutris has it’s own build that enables SDL.
Finally, the missing libraries, first was libreadline.so.6, for a workaround around for now I put in a link to a later version.
$ cd ~/.local/share/lutris/runtime/Ubuntu-18.04-x86_64
$ ln -s libreadline.so.7 libreadline.so.6
And re-running the game gave the error;
– GAME LOG –
Started initial process 2529 from gamemoderun /home/user/.local/share/lutris/runners/vice/bin/xvic -chdir /home/user/Software/VIC20 -VICdsize -sdl2renderer software /home/user/Software/VIC20/Jetpac.prg
Start monitoring process.
/home/user/.local/share/lutris/runners/vice/bin/xvic: error while loading shared libraries: libFLAC.so.8: cannot open shared object file: No such file or directory
Monitored process exited.
Initial process has exited (return code: 32512)
I put in a link to a later version in my KUbuntu install
$ cd ~/.local/share/lutris/runtime/Ubuntu-18.04-x86_64
$ ln -s /usr/lib/x86_64-linux-gnu/libFLAC.so.14.0.0 libFLAC.so.8
Which then gives the error;
– GAME LOG –
Started initial process 2624 from gamemoderun /home/user/.local/share/lutris/runners/vice/bin/xvic -chdir /home/user/Software/VIC20 -VICdsize -sdl2renderer software /home/user/Software/VIC20/Jetpac.prg
Start monitoring process.
Monitored process exited.
Initial process has exited (return code: 132)
As this point I am not too sure if the error is due to the invalid “-sdl2renderer” parameter or could be due to a lib mismatch.
I am running Lutris version 0.5.19, OS is KUbuntu 25.10 running in a Virtual Box VM (version 7.2.4 r170995).
What is the planned for required libraries (by the Vice emulator) that are missing in the base linux runtime? Is it planned to include them in the runner tar, or add them to the base linux runtime, or is there another plan for them?
Talking of the base linux runtime, I see it is Ubuntu 18.04 which is starting to age now. Are there any plans to update to a later version?
I am currently using a snap install of the vice emulator (version 3.9) and that works OK.
Back to the Vice runner then I have a runner created using the build bot (GTK3 type), currently looking at the runner for charges required to the emulator arguments.
Try to run the command ldd ~/.local/share/lutris/runners/vice/bin/xvic, this will list the libraries required by the binary. If any are missing, include the path of those in LD_LIBRARY_PATH.
Btw., the maintainers of the VICE project are providing official SDL2 builds, so SDL2 is probably not related to your issue, unless SDL2 is not available.
I have created a new environment, this is ldd from a clean environment that I have not been fiddling around in. In the environment with the error I did add all missing libs, though it could be something I’ve done to cause that error.
Though it is probably worth waiting a while, I think the list of libs in the latest is different.
I do have one suggestion concerning the runners, perhaps add a file (readme, yaml or json) containing some build details (such as runner build date, version of the runner app etc) just to help with support and identication of what is being run.
Yep, I agree SDL2 is probably not the cause. It’s more from a situation where I have a verson of vice that works, taking step by step approach to solving the issues.
I was asking about the SDL2 as on the download page as it does recommend using GTK, plus there is the other comment about there SDL2 build is experimemtal. To me there is a risk there, though I guess the team considers it acceptable, I was wondering wha the technical reason for using SDL2 was.
Anyway I will probably go a bit quiet over the coming days/week as I do a bit more investigation.
As you can see from the output of ldd, the following libraries are missing: libpng12.so.0 libreadline.so.6 libFLAC.so.8 and all of those libraries are obsolete on *buntu 25.10 / 26.04. So, either a newer version of the runner is required or you will need to build and install the old libraries on your system, which is not recommended due to security issues.
You may have luck linking to the newer libraries, like this (check available library versions first):
EDIT: If you have a working version of vice, why do you not make a link from the broken Lutris vice runner to the working vice runner, so Lutris uses the working version instead?
Well, I’ve had some success. Probably worth noting that I am currently building/testing the Vice emulator in Ubuntu 26.04 (KDE Desktop). I’m just starting to build with the buildbot and also plan a quick test with an earlier Ubuntu version, and probably a different desktop as well (probably gnome).
Below are changes I have performed so far to get me up and running.
Correct SDL2 rendering argument from “-sdl2renderer” to “-sdl2backend”, the values are the same.
The BIOS/System files were not being picked up, fixed by adding “-directory” argument pointing to ~/.local/share/lutris/runners/vice/share/vice. I do wonder if it good to add as a parameter on the runner config.
The VIC20 had an option to add RAM expansion cartridges. The game I’m testing, Jetpac, does require an 8K RAM cartridge (yes 8K, how times have changed!). So that is the “-memory 8K” argument added. Probably good to add as a parameter on the runner config, it does need to change for different games.