-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question about using obs-glcapture script for 32-bit programs #36
Comments
By the way, obs-vkcapture script works great for 64-bit and 32-bit games. Also, yesterday i tested latest release on my livestream and it works great for native programs, thank you! |
Have you run |
Oops, i found old library from my previous install attempts. Now Garry's Mod and Counter Strike 1.6 (native) works fine with old library removed, but Serious Sam 2 and Worms Ultimate Mayhem through Wine still require
|
Thank you for advice, i didn't know about -p option in |
You can try |
I added |
@nowrep, i think that you answered my question, but obs-glcapture script still don't works perfect (works for anything i tested except wine. wine require LD_PRELOAD with full path to 32-bit library) Probably we need to post instructions to compile it in generic distro not only for native architecture, but also 32-bit version, and some tips and tricks how to enable capture if obs-glcapture script doesn't work for certain program. |
Probably would be a good idea to setup a blacklist same as mangohud does. It should "fix" the steam issue. As for why |
Are you running it with Proton from Steam (so it runs in the Steam runtime)? Maybe the library isn't available from the sandbox. |
I tested more times on more programs and found that native wine works fine with obs-glcapture script, wine from steam require |
Makes sense, your custom library path won't be available inside the sandbox. Vulkan capture works because steam runtime will make all Vulkan layers from host available in the sandbox. |
Actually in Steam case the problem is in the dlsym, so blacklist won't help. |
Greetings! Here is my version of the script, note that I've added random options that I found around the internet hoping it'd work, but alas it did not: # ...
# ....
export CFLAGS="-m32 ${CFLAGS}"
export CXXFLAGS="-m32 ${CXXFLAGS}"
export LDFLAGS="-m32 ${LDFLAGS}"
export LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/:/usr/lib/gcc/i686-linux-gnu
echo $CFLAGS
cmake -B build32 -S . -DCMAKE_INSTALL_PREFIX=/usr/ \
-DCMAKE_INSTALL_LIBDIR=/usr/lib/i386-linux-gnu/ \
-DCMAKE_INSTALL_DATADIR=/usr/share/ \
-DCMAKE_LIBRARY_PATH=/usr/lib/gcc/i686-linux-gnu/ \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_PLUGIN=OFF \
-DCMAKE_LIBRARY_ARCHITECTURE=i386-linux-gnu
-DCMAKE_SHARED_LINKER_FLAGS=-m32 \
-DCMAKE_MODULE_LINKER_FLAGS=-m32 \
-DFIND_LIBRARY_USE_LIB32_PATHS=TRUE \
-DCMAKE_EXE_LINKER_FLAGS=-m32 \
-DCMAKE_ASM-ATT_FLAGS=-m32 \
-DCMAKE_C_COMPILER=gcc \
-DCMAKE_CXX_COMPILER=gcc \
-DCMAKE_LINKER=gcc
make -C build32 I get the following output:
as you can see, the linker is looking in the wrong place, and causes the whole build to fail. Any idea what can be done to make it work? Thanks in advance, |
You're probably missing lib32 dev packages. |
I installed Edit: Edit 2: I installed the following, I can continue a bit... But... Now I get this message:
I do have the library installed:
Last edit: So finally here are the libraries you need: |
The problem is that OBS no longer provides libraries for 32 bit, now you can't build a library for LD_PRELOAD. |
Hey, I might be missing something, but obs-glcapture and obs-gamecapture do not work on tf2 after installing all the 32bit drivers. Mangohud seems to pick up on it just fine, and I've looked at the other github issue saying to install the 32bit vkcapture library, which I did through the aur. tf2 still does not get picked up by obs though. Am I reading something wrong or is there other information I can present? thanks |
You need to install 32bit obs-vkcapture package. Check logs when launching the game with |
Hi again! obs-vkcapture got 32-bit programs support, but in Debian 11 it tricky to use. Obs-glcapture script don't preload 32-bit libraries in Debian, but
LD_PRELOAD=/usr/local/lib/i686-linux-gnu/libobs_glcapture.so %command%
works fine. I compiled and installed plugin using my own script. I used /usr/local prefix because my OBS compiled from source and installed into /usr/local.But
whereis libobs_glcapture.so
command shows only 64-bit library. I checked/etc/ld.so.conf.d/i386-linux-gnu.conf
file and it said that/usr/local/lib/i686-linux-gnu
directory is used by 'ldconfig', so 32-bit library must appear inwhereis
command output too./usr/local/lib/i686-linux-gnu:
So, how to make obs-glcapture script work for Debian 11?
The text was updated successfully, but these errors were encountered: