我该如何解决“Portal”的问题?我只使用了 Ubuntu 几天(Ubuntu 14.04)。
AppFramework : Unable to load module vguimatsurface.so!
Unable to load interface VGUI_Surface030 from vguimatsurface.so
答案1
背景
我设法解决了这个问题,并通过安装 Ubuntu 的 i386 版本的库来运行《反恐精英:源》buhman 在 ArchLinux 论坛上提到。
解决方案
在终端(Ctrl++ )中运行以下命令:AltT
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
希望能帮助到你。
答案2
我针对 Half-Life2 和 Ubuntu 22.04.1, Jammy 的解决方案:
cd ~/Games/Half-Life_2/
LD_LIBRARY_PATH=bin ldd bin/vguimatsurface.so | grep 'not'
检查缺少哪个库。就我的情况来说:
libpng12.so.0 => not found
我必须从源代码和所需x86
版本构建它,我的机器是x86_64
。因此,让我们进行交叉编译:
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
库现已安装在/usr/local/lib
运行游戏:
cd ~/Games/Half-Life_2/
LD_LIBRARY_PATH=/usr/local/lib ./hl2.sh
答案3
在 steam 选项中只需输入:
optirun -b primus %command% -windowed -nojoy
答案4
正如其他答案所示,您需要ia32-libs
。
对于 Ubuntu 14.04,您需要使用一个小技巧来安装 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