Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
gcc -s -O2 -shared -fPIC -o divos-hack.{so,c} -ldl divos-hack.c
I get this output:
/tmp/ccTGMAs4.o: In function `glGetString':
divos-hack.c:(.text+0x0): multiple definition of `glGetString'
/tmp/cckouI08.o:divos-hack.c:(.text+0x0): first defined here
/tmp/ccTGMAs4.o: In function `glXGetProcAddressARB':
divos-hack.c:(.text+0x50): multiple definition of `glXGetProcAddressARB'
/tmp/cckouI08.o:divos-hack.c:(.text+0x50): first defined here
collect2: error: ld returned 1 exit status
From what i understand, if the process returns 1, it failed to compile. Am i at all heading in the right direction here?
If you look at the top of divos-hack.c, you can see three includes. The "GL/gl.h" include is what's tripping you up, since you do not have /usr/include/GL/gl.h installed.
I'll update the OP to name the dependencies.
core/mhwd 0.5.7-1 (base) [installed]
Manjaro Linux Hardware Detection library and application
extra/glu 9.0.0-4 [installed]
Mesa OpenGL Utility library
extra/libtxc_dxtn 1.0.1-6 [installed]
S3 Texture Compression (S3TC) library for Mesa
extra/libva-mesa-driver 12.0.1-2
VA-API implementation for gallium
extra/mesa 12.0.1-2 [installed]
an open-source implementation of the OpenGL specification
extra/mesa-demos 8.3.0-1 [installed]
Mesa demos and tools
extra/mesa-vdpau 12.0.1-2
Mesa VDPAU drivers
extra/opencl-mesa 12.0.1-2
OpenCL support for AMD/ATI Radeon mesa drivers
extra/vulkan-intel 12.0.1-2
Intel's Vulkan mesa driver
community/i810-dri 7.11.2-9
Mesa DRI drivers for Intel i810
community/mach64-dri 7.11.2-9
Mesa DRI drivers for ATI Mach64
community/mga-dri 7.11.2-9
Mesa DRI drivers for Matrox
community/r128-dri 7.11.2-9
Mesa DRI drivers for ATI Rage128
community/savage-dri 7.11.2-9
Mesa DRI drivers for S3 Sraphics/VIA Savage
community/sis-dri 7.11.2-9
Mesa DRI drivers for SiS
community/tdfx-dri 7.11.2-9
Mesa DRI drivers for 3dfx
community/unichrome-dri 7.11.2-9
Mesa DRI drivers for S3 Graphics/VIA Unichrome
multilib/lib32-glu 9.0.0-3 [installed]
Mesa OpenGL utility library (32 bits)
multilib/lib32-libtxc_dxtn 1.0.1-5 [installed]
S3 Texture Compression (S3TC) library for Mesa (32-bit)
multilib/lib32-mesa 12.0.1-2 [installed]
an open-source implementation of the OpenGL specification (32-bit)
multilib/lib32-mesa-demos 8.3.0-1 [installed]
Mesa demos and tools (32-bit)
multilib/lib32-mesa-vdpau 12.0.1-2
Mesa VDPAU drivers (32-bit)
Can't really find anything on it on google too.
If that doesn't help I can give you my binary and it should probably work for you as well, since the versions of the involved libraries in Debian testing and Arch should be compatible from what I can see.
Anyway. You can just download my build[paste.debian.net] as "shim.so.base64" and decode it with:
sudo gcc -s -O2 -shared -fPIC -o divos-hack.{so,c} -ldl divos-hack.c
I removed the {so,c} and instead did it the way you have just posted:
sudo gcc -s -O2 -shared -fPIC -o divos-hack.so -ldl divos-hack.c
This seemed to work with no error or warrning outputs, i now have a file named "divos-hack.so"
NP: you shouldn't need sudo in front of a GCC invocation. Every user can usually compile code.
ERROR: ld.so: object
'/home/ais/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from
LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Now to make sure i have the launch options set correctly:
-fullscreen allow_glsl_extension_directive_midshader=true LD_PRELOAD=/home/ais/Documents/divos-hack.so %command%
Do i need to add anything here (also what does the " %command%" do)?
By the way, you should be able to drop the "-fullscreen" part. Just set that in the game options. This way the game will launch the first time windowed and afterwards always fullscreen without the explicit command line option.
The error line you're seeing is pretty common. I'm seeing that with all 64-bit games. That is a Steam bug/issue. They try to load the 32 bit version of the gameoverlayrenderer.so file.
Call stack:
(0) /usr/lib/libpthread.so.0 : +0x10f00 [0x7fad73eb8f00]
/home/ais/.local/share/Steam/steamapps/common/Divinity Original Sin Enhanced Edition/runner.sh: line 3: 6051 Segmentation fault (core dumped) LD_LIBRARY_PATH="." ./EoCApp
Hm.. no idea what's wrong now.
Edit:
I enter this command " glxinfo | grep "OpenGL version" " and got:
OpenGL version string: 3.0 Mesa 12.0.1
I heard that this game needs version 4.1, can it be that i'm missing the amdgpu driver?
For Divinity: Original Sin I've renamed the following libraries (I've appended ".bak") in the installation folder of the game:
But there might be something else happening. As I wrote in the OP, the port is somewhat shoddy, so there might be other issues burried in there.
find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete
or else steam does not run.
I also tried your proposed method of renaming those libraries in Dvinity Original Sin directory. I first searched them with the modified command posted above:
find ~/.steam/root/ \( -name "libc++abi.so.1*" -o -name "libGLEW.so.1.1*" -o -name "libjpeg.so.8*" -o -name "libopenal.so.1*" -o -name "libXss.so.1*" \) -print
This gave me:
/home/ais/.steam/root/steamapps/common/Divinity Original Sin Enhanced Edition/libGLEW.so.1.10
/home/ais/.steam/root/steamapps/common/Divinity Original Sin Enhanced Edition/libGLEW.so.1.10.0
/home/ais/.steam/root/steamapps/common/Divinity Original Sin Enhanced Edition/libjpeg.so.8
/home/ais/.steam/root/steamapps/common/Divinity Original Sin Enhanced Edition/libjpeg.so.8.0.2
/home/ais/.steam/root/steamapps/common/Divinity Original Sin Enhanced Edition/libopenal.so.1
/home/ais/.steam/root/steamapps/common/Divinity Original Sin Enhanced Edition/libopenal.so.1.15.1
/home/ais/.steam/root/steamapps/common/Divinity Original Sin Enhanced Edition/libXss.so.1
/home/ais/.steam/root/steamapps/common/Divinity Original Sin Enhanced Edition/libXss.so.1.0.0
/home/ais/.steam/root/steamapps/common/Divinity Original Sin Enhanced Edition/libc++abi.so.1
/home/ais/.steam/root/steamapps/common/Divinity Original Sin Enhanced Edition/libc++abi.so.1.0
I renamed them all (the game does not run, it wants those libraries back), but i'm not sure i understand the how to check if all the dependencies are there?
libc++abi.so.1 => not found
libicuuc.so.54 => ./libicuuc.so.54 (0x00007ff893e58000)
libicudata.so.54 => ./libicudata.so.54 (0x00007ff892628000)
libSDL2-2.0.so.1 => ./libSDL2-2.0.so.1 (0x00007ff892318000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007ff892100000)
libpcre.so.3 => ./libpcre.so.3 (0x00007ff891e90000)
libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0x00007ff891c20000)
libpng16.so.16 => ./libpng16.so.16 (0x00007ff8919e8000)
libosiris.so.2 => ./libosiris.so.2 (0x00007ff8916f8000)
libopenal.so.1 => not found
libbink2.so => ./libbink2.so (0x00007ff891498000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007ff891220000)
libGLEW.so.1.10 => not found
libsteam_api.so => ./libsteam_api.so (0x00007ff890ff8000)
libOGLBinding.so => ./libOGLBinding.so (0x00007ff894208000)
libGameEngine.so => ./libGameEngine.so (0x00007ff890ce0000)
libRenderFramework.so => ./libRenderFramework.so (0x00007ff8941b0000)
libCoreLib.so => ./libCoreLib.so (0x00007ff890b10000)
libc++.so.1 => not found
libm.so.6 => /usr/lib/libm.so.6 (0x00007ff890808000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007ff8905f0000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007ff8903d0000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007ff890028000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007ff88fe20000)
libc++.so.1 => not found
libc++abi.so.1 => not found
libc++abi.so.1 => not found
libc++.so.1 => not found
librt.so.1 => /usr/lib/librt.so.1 (0x00007ff88fc18000)
libopenal.so.1 => not found
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007ff88f9e8000)
libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0 (0x00007ff88f7e0000)
libxcb-present.so.0 => /usr/lib/libxcb-present.so.0 (0x00007ff88f5d8000)
libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007ff88f3d0000)
libxshmfence.so.1 => /usr/lib/libxshmfence.so.1 (0x00007ff88f1c8000)
libglapi.so.0 => /usr/lib/libglapi.so.0 (0x00007ff88ef98000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007ff88ed80000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007ff88eb78000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007ff88e970000)
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007ff88e768000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007ff88e420000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007ff88e1f0000)
libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007ff88dfd0000)
libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0x00007ff88ddc8000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007ff88dbc0000)
libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007ff88d9b0000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007ff88d628000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff894048000)
libc++abi.so.1 => not found
libGLEW.so.1.10 => not found
libc++.so.1 => not found
libc++abi.so.1 => not found
libc++.so.1 => not found
libc++abi.so.1 => not found
libc++.so.1 => not found
libc++abi.so.1 => not found
libc++.so.1 => not found
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007ff88d420000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007ff88d218000)
Oh well, thanks for the help, although i still can't run the game on open source drivers, at least it was a good learning process!