<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED - Divinity: Original Sin Enhanced Edition(Native) crash on start"
href="https://bugs.freedesktop.org/show_bug.cgi?id=93551#c34">Comment # 34</a>
on <a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED - Divinity: Original Sin Enhanced Edition(Native) crash on start"
href="https://bugs.freedesktop.org/show_bug.cgi?id=93551">bug 93551</a>
from <span class="vcard"><a class="email" href="mailto:stilriv@gmail.com" title="Mikhail Korolev <stilriv@gmail.com>"> <span class="fn">Mikhail Korolev</span></a>
</span></b>
<pre>(In reply to Thomas J. Moore from <a href="show_bug.cgi?id=93551#c32">comment #32</a>)
<span class="quote">> Created <span class=""><a href="attachment.cgi?id=125302" name="attach_125302" title="Simple LD_PRELOAD shim to apply necessary patches for divos">attachment 125302</a> <a href="attachment.cgi?id=125302&action=edit" title="Simple LD_PRELOAD shim to apply necessary patches for divos">[details]</a></span>
> Simple LD_PRELOAD shim to apply necessary patches for divos
>
> Game works great for me with the above patches (thanks to those who figured
> this out!). However, since they are not likely to be incorporated into
> Mesa, and patching my system Mesa just for one poorly written game is a bad
> idea, I think one of two alternate solutions needs to be provided. My
> preference would be to patch the game binaries. I don't really want to mess
> with that right now, though (especially since I can't easily locate where it
> does the vendor check). The other would be to provide the patches in the
> form of an LD_PRELOAD shim. I have attached the source code for one that
> seems to work for me.</span >
As for vendor check location:
[ /media/Storage/Games/GOG/Linux/DivinityOriginalSinEnhancedEdition/game ] $
GAME_DIR="/media/Storage/Games/GOG/Linux/DivinityOriginalSinEnhancedEdition"
MESA_GL_VERSION_OVERRIDE=4.2 MESA_GLSL_VERSION_OVERRIDE=420
LD_PRELOAD="${GAME_DIR}/workaround/divos-hack-f.so"
LD_LIBRARY_PATH="${GAME_DIR}/game" gdb -q ${GAME_DIR}/game/EoCApp
Reading symbols from
/media/Storage/Games/GOG/Linux/DivinityOriginalSinEnhancedEdition/game/EoCApp...(no
debugging symbols found)...done.
(gdb) b divos-hack-f.c:38
No symbol table is loaded. Use the "file" command.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (divos-hack-f.c:38) pending.
(gdb) ru
Starting program:
/media/Storage/Games/GOG/Linux/DivinityOriginalSinEnhancedEdition/game/EoCApp
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe4827700 (LWP 1452)]
Thread 1 "EoCApp" hit Breakpoint 1, glGetString (name=7936) at
divos-hack-f.c:38
38 return (const GLubyte *)vendor;
(gdb) bt
#0 glGetString (name=7936) at divos-hack-f.c:38
#1 0x00007ffff4624dce in api::OpenGLRenderer::OpenGLRenderer(api::IAPI*,
void*) ()
from
/media/Storage/Games/GOG/Linux/DivinityOriginalSinEnhancedEdition/game/libOGLBinding.so
#2 0x00007ffff4623f79 in api::OpenGLAPI::CreateRenderer() () from
/media/Storage/Games/GOG/Linux/DivinityOriginalSinEnhancedEdition/game/libOGLBinding.so
#3 0x00007ffff4623b23 in api::OpenGLAPI::Init() () from
/media/Storage/Games/GOG/Linux/DivinityOriginalSinEnhancedEdition/game/libOGLBinding.so
#4 0x00007ffff44309aa in BaseApp::InitAPI() () from
/media/Storage/Games/GOG/Linux/DivinityOriginalSinEnhancedEdition/game/libGameEngine.so
#5 0x00007ffff442f578 in BaseApp::Start(ls::InitStruct*) () from
/media/Storage/Games/GOG/Linux/DivinityOriginalSinEnhancedEdition/game/libGameEngine.so
#6 0x00000000006d5160 in main ()
(gdb)</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>