Since this will take some time to get sorted out, I came up with the following:
Quick, dirty fix:
Downgrade VirtualGL to LEAP 15.1 version then backup the /usr/lib64/libvglfaker.so from the older version then update back to LEAP 15.2/TW repo and overwrite /usr/lib64/libvglfaker.so from LEAP 15.1
Semi-long term solution:
Get the VirtualGL from source from git and compile your own libvglfaker and use it instead of what's available in the repository.
long-term solution:
Get the VirtualGL from source from git and compile your own VirtualGL and use update-alternative to point to your VGL components.
I am going to demonstrate the second one since the long-term solution is a bit more tedious.
1. Get VGL source:
Code:
cd ~/Downloads
git clone https://github.com/VirtualGL/virtualgl.git
2.install pre-requisites:
Code:
sudo zypper in libjpeg8-devel libjpeg8-devel-32bit
3.make a build and target directory
Code:
mkdir ~/Downloads/virtualgl/build
mkdir ~/Downloads/virtualgl/compiled
4.Go to build directory
Code:
cd ~/Downloads/virtualgl/build
5.use cmake to build,
Code:
cmake ../ -DCMAKE_INSTALL_PREFIX=~/Downloads/virtualgl/compiled -DVGL_FAKEXCB=OFF -DVGL_FAKEOPENCL=OFF
I am disabling fakexcb and opencl because they do get problematic at times, xcb is easy to resolve by installing xcb
Code:
sudo zypper in xcb-util-keysyms-devel
but not so trivial for openCL.
6.install into the compiled directory
Code:
make install -j$nproc
at this VGL is compiled at ~/Downloads/virtualgl/compiled
7.the semi-longterm solution is to backup the old faker and replace it with the on you've just compiled:
Code:
sudo cp /usr/lib64/libvglfaker.so /usr/lib64/libvglfaker.so.backup
sudo cp ~/Downloads/virtualgl/compiled/lib64/libvglfaker.so /usr/lib64/libvglfaker.so
This method currently works for LEAP 15.1, 15.2 and TW as of 2021-01-12