Interrupt / systemshock

Shockolate - A minimalist and cross platform System Shock source port.
GNU General Public License v3.0
803 stars 62 forks source link

[Error] SIGSEGV (Address boundary error) on Fedora 28 -- possible dynamic library loading issue #233

Open laleksic opened 5 years ago

laleksic commented 5 years ago

Hello, having some trouble running this on Fedora 28. Tried both latest binary release and compiling from source. Both times the binary terminates with:

> ./systemshock
11:14:06 INFO  InitMac.c:100: Starting Shockolate
fish: “./systemshock” terminated by signal SIGSEGV (Address boundary error)

If relevant, here's some output from gdb (the binary release):

(gdb) r
Starting program: /laleksic/sources/shockolate/systemshock 
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.27-30.fc28.i686
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
11:18:43 INFO  InitMac.c:100: Starting Shockolate
[New Thread 0xf75adb40 (LWP 3019)]
warning: Error reading shared library list entry at 0x2e80
warning: Error reading shared library list entry at 0x3200
warning: Error reading shared library list entry at 0x3580
warning: Error reading shared library list entry at 0x3970
warning: Error reading shared library list entry at 0x4060
warning: Error reading shared library list entry at 0x50f0
warning: Error reading shared library list entry at 0x53e0
warning: Error reading shared library list entry at 0x56d0
warning: Error reading shared library list entry at 0x59b0
warning: Error reading shared library list entry at 0x4ae0
warning: Corrupted shared library list: 0x83c68b0 != 0xffffca38

Thread 1 "systemshock" received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
Missing separate debuginfos, use: dnf debuginfo-install dbus-libs-1.12.10-1.fc28.i686 libXcursor-1.1.15-1.fc28.i686 libXfixes-5.0.3-5.fc28.i686 libXi-1.7.9-6.fc28.i686 libXinerama-1.1.3-10.fc28.i686 libXrandr-1.5.1-5.fc28.i686 libXrender-0.9.10-5.fc28.i686 libXxf86vm-1.1.4-7.fc28.i686 libblkid-2.32.1-1.fc28.i686 libcap-2.25-9.fc28.i686 libgcrypt-1.8.3-1.fc28.i686 libgpg-error-1.31-1.fc28.i686 libmount-2.32.1-1.fc28.i686 libselinux-2.8-1.fc28.i686 libuuid-2.32.1-1.fc28.i686 lz4-libs-1.8.1.2-4.fc28.i686 pcre2-10.31-10.fc28.i686 systemd-libs-238-9.git0e0aa59.fc28.i686 xz-libs-5.2.4-2.fc28.i686
(gdb) bt
#0  0x00000000 in ?? ()
#1  0xf787a84e in __pthread_once_slow () from /lib/libpthread.so.0
#2  0xf6404f58 in ?? () from /lib/libGLX_nvidia.so.0
#3  0xf63cc9fe in ?? () from /lib/libGLX_nvidia.so.0
#4  0xf7fe4f89 in call_init.part () from /lib/ld-linux.so.2
#5  0xf7fe50bd in _dl_init () from /lib/ld-linux.so.2
#6  0xf7fe903b in dl_open_worker () from /lib/ld-linux.so.2
#7  0xf79b1bea in _dl_catch_exception () from /lib/libc.so.6
#8  0xf7fe8866 in _dl_open () from /lib/ld-linux.so.2
#9  0xf788bcc3 in dlopen_doit () from /lib/libdl.so.2
#10 0xf79b1bea in _dl_catch_exception () from /lib/libc.so.6
#11 0xf79b1c80 in _dl_catch_error () from /lib/libc.so.6
#12 0xf788c461 in _dlerror_run () from /lib/libdl.so.2
#13 0xf788bd66 in dlopen@@GLIBC_2.1 () from /lib/libdl.so.2
#14 0xf78466e7 in __glXLookupVendorByName (vendorName=0x83ca220 "nvidia") at libglxmapping.c:430
#15 0xf7847b21 in __glXLookupVendorByScreen (dpy=dpy@entry=0x83a6ff0, screen=screen@entry=0) at libglxmapping.c:574
#16 0xf7847c47 in __glXLookupVendorByScreen (screen=0, dpy=0x83a6ff0) at libglxmapping.c:612
#17 __glXGetDynDispatch (dpy=0x83a6ff0, screen=0) at libglxmapping.c:612
#18 0xf7841119 in glXChooseVisual (dpy=0x83a6ff0, screen=0, attrib_list=0xffffcccc) at libglx.c:215
#19 0xf7f7210a in X11_GL_GetVisual () from /usr/local/lib/libSDL2-2.0.so.0
#20 0xf7f715e5 in X11_GL_InitExtensions () from /usr/local/lib/libSDL2-2.0.so.0
#21 0xf7f71305 in X11_GL_LoadLibrary () from /usr/local/lib/libSDL2-2.0.so.0
#22 0xf7e6b942 in SDL_GL_LoadLibrary_REAL () from /usr/local/lib/libSDL2-2.0.so.0
#23 0xf7e675c8 in SDL_CreateWindow_REAL () from /usr/local/lib/libSDL2-2.0.so.0
#24 0xf7e64775 in ShouldUseTextureFramebuffer () from /usr/local/lib/libSDL2-2.0.so.0
#25 0xf7e65316 in SDL_VideoInit_REAL () from /usr/local/lib/libSDL2-2.0.so.0
#26 0xf7da142d in SDL_InitSubSystem_REAL () from /usr/local/lib/libSDL2-2.0.so.0
#27 0xf7da1576 in SDL_Init_REAL () from /usr/local/lib/libSDL2-2.0.so.0
#28 0xf7db785e in SDL_Init () from /usr/local/lib/libSDL2-2.0.so.0
#29 0x0807c10d in InitSDL ()
#30 0x08090c52 in init_all ()
#31 0x0807bf8c in main ()
(gdb) 

And when running the built from source:

(gdb) r
Starting program: /laleksic/sources/systemshock/build/systemshock 
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.27-30.fc28.i686
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
11:33:03 INFO  InitMac.c:100: Starting Shockolate
[New Thread 0xf7532b40 (LWP 4361)]
warning: Corrupted shared library list: 0x846d350 != 0x772e2a3a
warning: Corrupted shared library list: 0x846d7f0 != 0x6c6576
warning: Corrupted shared library list: 0x846db70 != 0x54414553
warning: Error reading shared library list entry at 0xffffe2e0
warning: Error reading shared library list entry at 0xffffe9d0
warning: Error reading shared library list entry at 0xfffffa60
warning: Error reading shared library list entry at 0xfffffd50
warning: Error reading shared library list entry at 0x40
warning: Error reading shared library list entry at 0x320
warning: Error reading shared library list entry at 0xfffff4b0
warning: Error reading shared library list entry at 0x7240

Thread 1 "systemshock" received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
Missing separate debuginfos, use: dnf debuginfo-install dbus-libs-1.12.10-1.fc28.i686 libXcursor-1.1.15-1.fc28.i686 libXfixes-5.0.3-5.fc28.i686 libXi-1.7.9-6.fc28.i686 libXinerama-1.1.3-10.fc28.i686 libXrandr-1.5.1-5.fc28.i686 libXrender-0.9.10-5.fc28.i686 libXxf86vm-1.1.4-7.fc28.i686 libblkid-2.32.1-1.fc28.i686 libcap-2.25-9.fc28.i686 libgcrypt-1.8.3-1.fc28.i686 libgpg-error-1.31-1.fc28.i686 libmount-2.32.1-1.fc28.i686 libselinux-2.8-1.fc28.i686 libuuid-2.32.1-1.fc28.i686 lz4-libs-1.8.1.2-4.fc28.i686 mesa-libGLU-9.0.0-14.fc28.i686 pcre2-10.31-10.fc28.i686 systemd-libs-238-9.git0e0aa59.fc28.i686 xz-libs-5.2.4-2.fc28.i686
(gdb) bt
#0  0x00000000 in ?? ()
#1  0xf7d5984e in __pthread_once_slow () from /lib/libpthread.so.0
#2  0xf6389f58 in ?? () from /lib/libGLX_nvidia.so.0
#3  0xf63519fe in ?? () from /lib/libGLX_nvidia.so.0
#4  0xf7fe4f89 in call_init.part () from /lib/ld-linux.so.2
#5  0xf7fe50bd in _dl_init () from /lib/ld-linux.so.2
#6  0xf7fe903b in dl_open_worker () from /lib/ld-linux.so.2
#7  0xf7917bea in _dl_catch_exception () from /lib/libc.so.6
#8  0xf7fe8866 in _dl_open () from /lib/ld-linux.so.2
#9  0xf77f1cc3 in dlopen_doit () from /lib/libdl.so.2
#10 0xf7917bea in _dl_catch_exception () from /lib/libc.so.6
#11 0xf7917c80 in _dl_catch_error () from /lib/libc.so.6
#12 0xf77f2461 in _dlerror_run () from /lib/libdl.so.2
#13 0xf77f1d66 in dlopen@@GLIBC_2.1 () from /lib/libdl.so.2
#14 0xf77c96e7 in __glXLookupVendorByName (vendorName=0x8494bf0 "nvidia") at libglxmapping.c:430
#15 0xf77cab21 in __glXLookupVendorByScreen (dpy=dpy@entry=0x8471960, screen=screen@entry=0) at libglxmapping.c:574
#16 0xf77cac47 in __glXLookupVendorByScreen (screen=0, dpy=0x8471960) at libglxmapping.c:612
#17 __glXGetDynDispatch (dpy=0x8471960, screen=0) at libglxmapping.c:612
#18 0xf77c4119 in glXChooseVisual (dpy=0x8471960, screen=0, attrib_list=0xffffccdc) at libglx.c:215
#19 0xf7f7210a in X11_GL_GetVisual () from /laleksic/sources/systemshock/build_ext/built_sdl/lib/libSDL2-2.0.so.0
#20 0xf7f715e5 in X11_GL_InitExtensions () from /laleksic/sources/systemshock/build_ext/built_sdl/lib/libSDL2-2.0.so.0
#21 0xf7f71305 in X11_GL_LoadLibrary () from /laleksic/sources/systemshock/build_ext/built_sdl/lib/libSDL2-2.0.so.0
#22 0xf7e6b942 in SDL_GL_LoadLibrary_REAL () from /laleksic/sources/systemshock/build_ext/built_sdl/lib/libSDL2-2.0.so.0
#23 0xf7e675c8 in SDL_CreateWindow_REAL () from /laleksic/sources/systemshock/build_ext/built_sdl/lib/libSDL2-2.0.so.0
#24 0xf7e64775 in ShouldUseTextureFramebuffer () from /laleksic/sources/systemshock/build_ext/built_sdl/lib/libSDL2-2.0.so.0
#25 0xf7e65316 in SDL_VideoInit_REAL () from /laleksic/sources/systemshock/build_ext/built_sdl/lib/libSDL2-2.0.so.0
#26 0xf7da142d in SDL_InitSubSystem_REAL () from /laleksic/sources/systemshock/build_ext/built_sdl/lib/libSDL2-2.0.so.0
#27 0xf7da1576 in SDL_Init_REAL () from /laleksic/sources/systemshock/build_ext/built_sdl/lib/libSDL2-2.0.so.0
#28 0xf7db785e in SDL_Init () from /laleksic/sources/systemshock/build_ext/built_sdl/lib/libSDL2-2.0.so.0
#29 0x080bd93d in InitSDL ()
#30 0x080d58d3 in init_all ()
#31 0x080bd7c2 in main ()

It would seem something is wrong with dlopen or dynamic library loading.

In both the case of running the binary build and building from source I ran the SDL script (install_32bit_sdl.sh/build_deps.sh respectively) as root.

donnierussellii commented 5 years ago

I'm far from a Linux expert, but maybe a library is corrupt, missing or Linux can't find it. Maybe try sudo ldconfig or specify a path to the library LD_LIBRARY_PATH= or install the -dev version of the package the library is in.

Manuel-K commented 5 years ago

Running those scripts isn't a great idea. You should definitely reinstall the distros lib32-sdl2 and lib32-sdl2-mixer packages although the latter will probably break voc support which means that you will not have digital sounds in the game.

Can you post the output of ldd (and valgrind)?

Manuel-K commented 5 years ago

Is your Fedora installation 32-bits? Otherwise the library paths in the trace are very weird.

Interrupt commented 5 years ago

Hopefully the a new SDL_Mixer release gets cut soon and we don't have to deal with compiling the dependencies ourselves anymore, although making sure that linking picks up a 32bit lib over a 64bit one is still going to be an issue.

laleksic commented 5 years ago

@donnierussellii

I'm far from a Linux expert, but maybe a library is corrupt, missing or Linux can't find it. Maybe try sudo ldconfig or specify a path to the library LD_LIBRARY_PATH= or install the -dev version of the package the library is in.

sudo ldconfig should have been run by the SDL install scripts, no? Anyway, running it again doesn't help. Also setting LD_LIBRARY_PATH manually didn't help either, though the output of gdb shows it was actually linking to the custom built libraries (built from source by the scripts).

@Manuel-K

Is your Fedora installation 32-bits? Otherwise the library paths in the trace are very weird.

Nope. It's 64bit. But I don't see why the paths are strange? When I build shockolate from source it linked to SDL & Mixer libs in /laleksic/sources/systemshock/build_ext/built_sdl/lib/ which is where the SDL build scripts put it. And when I ran the binary release it linked to SDL & Mixer libs in /usr/local/lib/, again where the script is supposed to put them.

Running those scripts isn't a great idea.

Heh, I thought the point of them is that they are preferred to the default SDL packages?

You should definitely reinstall the distros lib32-sdl2 and lib32-sdl2-mixer packages although the latter will probably break voc support which means that you will not have digital sounds in the game.

I installed now the distro 32bit SDL & Mixer.

Can you post the output of ldd (and valgrind)?

And now, ldd shows its linking to the correct distro packaged 32bit SDL in /lib/. (This is for the binary release of shockolate only now)

laleksic@fedora /l/s/shockolate> ldd ./systemshock
    linux-gate.so.1 (0xf7f62000)
    libSDL2-2.0.so.0 => /lib/libSDL2-2.0.so.0 (0xf7dfb000)
    libSDL2_mixer-2.0.so.0 => /lib/libSDL2_mixer-2.0.so.0 (0xf7dd7000)
    libGL.so.1 => /lib/libGL.so.1 (0xf7d73000)
    libstdc++.so.6 => /lib/libstdc++.so.6 (0xf7be3000)
    libm.so.6 => /lib/libm.so.6 (0xf7ae1000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf7ac3000)
    libc.so.6 => /lib/libc.so.6 (0xf791f000)
    libdl.so.2 => /lib/libdl.so.2 (0xf791a000)
    libpthread.so.0 => /lib/libpthread.so.0 (0xf78fb000)
    librt.so.1 => /lib/librt.so.1 (0xf78f1000)
    libGLX.so.0 => /lib/libGLX.so.0 (0xf78ce000)
    libX11.so.6 => /lib/libX11.so.6 (0xf777b000)
    libXext.so.6 => /lib/libXext.so.6 (0xf7765000)
    libGLdispatch.so.0 => /lib/libGLdispatch.so.0 (0xf7704000)
    /lib/ld-linux.so.2 (0xf7f64000)
    libxcb.so.1 => /lib/libxcb.so.1 (0xf76d7000)
    libXau.so.6 => /lib/libXau.so.6 (0xf76d2000)

These are definitely 32bit libraries (Fedora stores 64bit libs in /lib64/), and I did check this:

laleksic@fedora /l/s/shockolate> file /lib/libSDL2-2.0.so.0 
/lib/libSDL2-2.0.so.0: symbolic link to libSDL2-2.0.so.0.8.0
laleksic@fedora /l/s/shockolate> file /lib/libSDL2-2.0.so.0.8.0 
/lib/libSDL2-2.0.so.0.8.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=3789210b88f132659769e3902fcfe7eebfa4ae16, stripped, too many notes (256)
laleksic@fedora /l/s/shockolate> file /lib/libSDL2_mixer-2.0.so.0 
/lib/libSDL2_mixer-2.0.so.0: symbolic link to libSDL2_mixer-2.0.so.0.2.0
laleksic@fedora /l/s/shockolate> file /lib/libSDL2_mixer-2.0.so.0.2.0 
/lib/libSDL2_mixer-2.0.so.0.2.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=25d785449b481c4292f4a2597465ffd40dc9cf2f, stripped, too many notes (256)

Though none of this helps, since I'm still getting the same error.

Here's the valgrind output:

valgrind ./systemshock 
==4741== Memcheck, a memory error detector
==4741== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==4741== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==4741== Command: ./systemshock
==4741== 
12:47:47 INFO  InitMac.c:100: Starting Shockolate
==4741== Conditional jump or move depends on uninitialised value(s)
==4741==    at 0x816B3EF: ResProcDirEntry (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x816B342: ResReadDirEntries (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x816B0A7: ResOpenResFile (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x8089029: init_strings (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x8090ACE: init_all (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x807BF8B: main (in /laleksic/sources/shockolate/systemshock)
==4741== 
==4741== Conditional jump or move depends on uninitialised value(s)
==4741==    at 0x816B3EF: ResProcDirEntry (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x816B342: ResReadDirEntries (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x816B0A7: ResOpenResFile (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x8091734: init_load_resources (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x8090B7A: init_all (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x807BF8B: main (in /laleksic/sources/shockolate/systemshock)
==4741== 
==4741== Conditional jump or move depends on uninitialised value(s)
==4741==    at 0x816B3EF: ResProcDirEntry (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x816B342: ResReadDirEntries (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x816B0A7: ResOpenResFile (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x8091760: init_load_resources (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x8090B7A: init_all (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x807BF8B: main (in /laleksic/sources/shockolate/systemshock)
==4741== 
==4741== Conditional jump or move depends on uninitialised value(s)
==4741==    at 0x816B3EF: ResProcDirEntry (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x816B342: ResReadDirEntries (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x816B0A7: ResOpenResFile (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x8091796: init_load_resources (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x8090B7A: init_all (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x807BF8B: main (in /laleksic/sources/shockolate/systemshock)
==4741== 
==4741== Conditional jump or move depends on uninitialised value(s)
==4741==    at 0x816B3EF: ResProcDirEntry (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x816B342: ResReadDirEntries (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x816B0A7: ResOpenResFile (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x80917C2: init_load_resources (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x8090B7A: init_all (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x807BF8B: main (in /laleksic/sources/shockolate/systemshock)
==4741== 
==4741== Conditional jump or move depends on uninitialised value(s)
==4741==    at 0x816B3EF: ResProcDirEntry (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x816B342: ResReadDirEntries (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x816B0A7: ResOpenResFile (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x80917EE: init_load_resources (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x8090B7A: init_all (in /laleksic/sources/shockolate/systemshock)
==4741==    by 0x807BF8B: main (in /laleksic/sources/shockolate/systemshock)
==4741== 
==4741== Jump to the invalid address stated on the next line
==4741==    at 0x0: ???
==4741==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==4741== 
==4741== 
==4741== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==4741==  Bad permissions for mapped region at address 0x0
==4741==    at 0x0: ???
==4741== Jump to the invalid address stated on the next line
==4741==    at 0x60BB46D0: ???
==4741==    by 0xFEC57FCB: ???
==4741==  Address 0x60bb46d0 is not stack'd, malloc'd or (recently) free'd
==4741== 
==4741== 
==4741== Process terminating with default action of signal 11 (SIGSEGV)
==4741==  Access not within mapped region at address 0x60BB46D0
==4741==    at 0x60BB46D0: ???
==4741==    by 0xFEC57FCB: ???
==4741==  If you believe this happened as a result of a stack
==4741==  overflow in your program's main thread (unlikely but
==4741==  possible), you can try to increase the size of the
==4741==  main thread stack using the --main-stacksize= flag.
==4741==  The main thread stack size used in this run was 8388608.
==4741== 
==4741== HEAP SUMMARY:
==4741==     in use at exit: 1,380,233 bytes in 1,541 blocks
==4741==   total heap usage: 17,533 allocs, 15,992 frees, 346,375,212 bytes allocated
==4741== 
==4741== LEAK SUMMARY:
==4741==    definitely lost: 8 bytes in 1 blocks
==4741==    indirectly lost: 104 bytes in 4 blocks
==4741==      possibly lost: 144,211 bytes in 4 blocks
==4741==    still reachable: 1,235,910 bytes in 1,532 blocks
==4741==         suppressed: 0 bytes in 0 blocks
==4741== Rerun with --leak-check=full to see details of leaked memory
==4741== 
==4741== For counts of detected and suppressed errors, rerun with: -v
==4741== Use --track-origins=yes to see where uninitialised values come from
==4741== ERROR SUMMARY: 510 errors from 8 contexts (suppressed: 0 from 0)
fish: “valgrind ./systemshock” terminated by signal SIGSEGV (Address boundary error)

@Interrupt

Hopefully the a new SDL_Mixer release gets cut soon and we don't have to deal with compiling the dependencies ourselves anymore, although making sure that linking picks up a 32bit lib over a 64bit one is still going to be an issue.

Just to point out this wasn't an issue for me when compiling from source. I tried to do so before running the SDL install script and without a 32bit SDL2/Mixer, but with a 64bit SDL2/Mixer, and it failed to link to them.


By the way everyone, thank you all for your time helping me now, and thank you for working on this. Even though I can't run it yet I'm still very happy about this actually being a thing.

It's off-topic but are there any plans to integrate the TSHHP Irrlicht renderer with the logic from the released System shock sources?

Interrupt commented 5 years ago

RE: an Irrlicht renderer: Now that we have the sources for the game there's not much reason to bolt on another game engine to do the rendering. What we could do and have done already in the case of OpenGL support is to add new rendering backends that support different hardware accelerated features.

janisozaur commented 5 years ago

FYI: I worked with downstream maintainers and SDL_Mixer just got updated to 2.0.2 (and SDL2 2.0.8), should you need it, for F28 & F29, see https://bodhi.fedoraproject.org/updates/FEDORA-2018-f0923138c6

Manuel-K commented 5 years ago

@janisozaur The critical change is this: https://github.com/SDL-mirror/SDL_mixer/commit/7cad09d4d479df2b21b3e489f8e155bdf8254fd4

Without this commit there are not digital sounds. What we really need is a new stable release of SDL_Mixer.

janisozaur commented 5 years ago

Ah, I misunderstood you then.

Manuel-K commented 5 years ago

I'm confused. I've installed Fedora 28 x86_64 in VirtualBox, had a fight with yum and the guest additions, compiled master and I cannot reproduce @laleksic's problem. Everything works as expected modulo serious lag.

laleksic commented 5 years ago

@Manuel-K If that's so, something must be broken in my installation. I'll try to get to the bottom of it and if I get any results I'll post what I did here for others (in case someone else has the same problem).

Manuel-K commented 5 years ago

I would check the nvidia driver first (e.g. /lib/libGLX_nvidia.so.0).