How i can fix this problem with "Portal"? I have only used Ubuntu for a few days (Ubuntu 14.04).
AppFramework : Unable to load module vguimatsurface.so!
Unable to load interface VGUI_Surface030 from vguimatsurface.so
I managed to solve this issue and run Counter Strike: Source by installing Ubuntu's i386 versions of libs mentioned on ArchLinux forum by buhman.
Run following command in Terminal(Ctrl + Alt + T):
sudo apt-get install fontconfig:i386 libgtk2.0-0:i386 libxi6:i386 libnss3:i386 libpango1.0-0:i386 libpng3:i386 libasound2:i386 libcairo2:i386 libsdl2-2.0-0:i386 libsdl2-gfx-1.0-0:i386 libgcrypt11:i386
Hope it helps.
My solution for Half-Life2 and Ubuntu 22.04.1, Jammy:
cd ~/Games/Half-Life_2/
LD_LIBRARY_PATH=bin ldd bin/vguimatsurface.so | grep 'not'
check which library is missing. In my case:
libpng12.so.0 => not found
I had to build this from the source and needed x86
version, my machine is x86_64
. So, let's cross compile:
sudo apt-get install gcc-multilib-i686-linux-gnu
sudo apt install zlib1g-dev:i386
mkdir ~/src
cd ~/src
wget https://ppa.launchpadcontent.net/linuxuprising/libpng12/ubuntu/pool/main/libp/libpng/libpng_1.2.54.orig.tar.xz
tar Jxvf libpng_1.2.54.orig.tar.xz
cd libpng-1.2.54/
CC="i686-linux-gnu-gcc" ./configure
make
sudo make install
libpng12
library is now installed in /usr/local/lib
To run the game:
cd ~/Games/Half-Life_2/
LD_LIBRARY_PATH=/usr/local/lib ./hl2.sh
In steam option just type :
optirun -b primus %command% -windowed -nojoy
You just have to install the ia-32libs. To do that on later versions of Ubuntu, just enter the following commands one after the another and you are done!!
sudo -i
cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
As the other answers indicate, you need ia32-libs
.
For Ubuntu 14.04 there is a small trick you need to use to install ia32-libs:
sudo -i
cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" > ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
Go to Settings - Software and Updates - Other Software, click add and write deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse, for next run terminal and say him "sudo apt-get update and sudo apt-get install ia32-libs"
vguimatsurface.so
library is located inside the tree of portal. However it requires some 32-bit libraries to run. You can check which libraries are not found withldd bin/vguimatsurface.so
. In my case I needed to install several libraries from source to get the right version.