Back to the main site

PCSX2 can't find i386 libraries

I am running ubuntu 20.04 and trying to use PCSX2 and whenever I try and launch a game I get the following error:
image
I know that these libraries are installed though and located in /usr/lib/x86_64-linux-gnu
Is there a way to tell where PCSX2 is looking for these? Or where has anyone also have this issue or been able to fix it?

PCSX2 requires the 32 bits libraries (i386). The libraries installed on /usr/lib/x86_64-linux-gnu are the 64 bits libraries. Once installed, you will find the i386 libraries in /usr/share/i386-linux-gnu.

$ find /usr -name libOpenGL.so.0
/usr/lib/i386-linux-gnu/libOpenGL.so.0
/usr/lib/x86_64-linux-gnu/libOpenGL.so.

I went through the steps and verified that everything was also listed there and I am still getting the same error. I installed PCSX2 outside of Lutris and it does work so I am not sure what is broken in the Lutris runner configs for it.

You can run the following script to list the missing libraries for the PCSX2 executable:

#!/usr/bin/env sh

# missing-libs-i386.sh 

needed=$(readelf -d $1 | awk -F'[][]' '/NEEDED/{print $2}')
installed=$(sudo ldconfig -p | awk '/i386/ {print $1}' | sort -u)

for i in $needed
do
    print=1
    for j in $installed
    do
        if [ "$i" = "$j" ]; then
            print=0
            break
        fi
    done
    if [ $print -eq 1 ]; then
        echo "$i"
    fi
done

Just cd into Lutris’ PCSX2 directory and run this script with the PCSX2 executable as argument: missing-libs.i386.sh PCSX2.

In the meantime you can setup Lutris to use your system’s PCSX2 by setting up a custom executable path for the runner.

Thank you for that, I doesn’t currently return any missing packages. I will just have to tell Lutris to use my systems PCSX2 setup instead of the one it is using.

Hey there! quick question. Can you point me towards a tutorial on how to do this? I tried to find one online, but couldn’t find it. I had the exact same issue as you. By various methods, however, I was able to get it down to all but the one libopengl.so.0, so not sure what to do. Found this question, and thought you might be able to help.

have you tried installing PCSX2 using your system package manager?

if so, are you running into similar missing lib errors when running it without lutris?

I was able to install PCSX2 (and run a game) with sudo apt install pcsx2. I just can’t figure out how to point lutris towards my own installation.

Here are the steps I did and it got PCSX2 to launch.
cd ~/.local/share/lutris/runners/pcsx2
mv PCSX2 PCSX2.bak
sudo ln -s /usr/games/PCSX2 ./PCSX2
I just made a backup of the pcsx2 file for lutris and then made a symlink to my system one. PCSX launches now but I don’t know if there is a better way to do it.

why can’t they just make PCSX2 work in Lutris??.. pretty stupid to include a broken runner

I’m on Pop!_OS 21.04 and I managed to make it work. In my case it asked for libgdk-x11-2.0.so.0 and libOpenGL.so.0. I installed them with sudo apt install libgtk2.0-0:i386 libopengl0:i386. Then it threw another error:

error while loading shared libraries: libnotify.so.4: wrong ELF class: ELFCLASS64

I sorted it with sudo apt install libnotify4:i386.


To find out which libraries are needed you need a tool called apt-file. Install it with sudo apt install apt-file and update libraries for that tool with sudo apt-file update. Then execute apt-file find libOpenGL.so.0. You should get the information about the package name which contains this file: libopengl0: /usr/lib/x86_64-linux-gnu/libOpenGL.so.0. libopengl0 is your package. Thet all you need is sudo apt install libopengl0:i386. Repaeat for other missing packages.

Alternatively you can use Ubuntu packages repository and look for relevant libraries within the contents of packages.

Done :slight_smile:

I have to say, it would be nice if Lutris installed it for us :slight_smile:

I guess it’s because it’s open source tool and developers do all the development in their spare time. If you, along with the rest of community, chipped in few bucks and make them spend their whole time on building Lutris, or alternatively lend some of your programming skills to implement additional funtionality, then probably you would have all features working as expected.

:slight_smile:

I went through the process of installing as many libraries as I could but I can’t get to find this specific one:
“error while loading shared libraries: libwx_gtk2u_core-3.0.so.0: cannot open shared object file: No such file or directory”

I’m guessing there’s no way to run PCSX2 currently other than using a custom executable, right?

I managed to find and install the missing libraries but I get a: Illegal instruction (core dumped) error, so I gave up and ended up using a custom executable.

I’ve pointed lutris at my system PCSX2 binary and I still get the missing library error message. PCSX2 launches fine outside of lutris, what am I missing?

EDIT: had to quit lutris and reload it for it to take effect, all sorted