<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>