WolfireGames / overgrowth

Open Source codebase of the game Overgrowth by Wolfire Games LLC
Apache License 2.0
2.48k stars 256 forks source link

Hang launching game on Linux + AMD GPU #125

Open DJs3000 opened 6 months ago

DJs3000 commented 6 months ago

Hello. I use a custom Linux. Most of the open source games work for me. I want to launch your game too. Compiling clang 13. See the startup log. What could be the problem? Overgrowth.txt

image

shinymerlyn commented 6 months ago

I suspect there may not really be an error in the graphics code or GPU driver, and the AMD GPU driver is just calling arb_debug_callback with some form of data it isn't expecting. Then it tries to display a window because the application treats those as errors, and for some reason the error window isn't popping up correctly this early in the program's lifecycle, so it just hangs.

You could try this setting in the config file: opengl_callback_error_dialoge: 1. Then save it and start the application again. This will disable the error popup, which may get the game to run farther.

Note that there is already a value in the config file called opengl_callback_error_dialog. However the code currently has a typo and isn't going to read that value in the config. I am going to check in a fix for that right now, but in case you don't rebuild, be aware that the config value the program is looking for is misspelled ("opengl_callback_error_dialoge").

If you know what you're doing with programming, then I suggest debugging arb_debug_callback and seeing what data is being passed in. If it indeed isn't an error, then you can add another special case and early return for that combination of values, which would prevent this from happening on other AMD GPUs.

shinymerlyn commented 6 months ago

The contents of the text file the OP pasted in:

# DISPLAY=:0 build/Overgrowth.bin.x86_64
[i][__]: filesystem.cpp: 490: Adding data path build/
[i][__]: filesystem.cpp: 490: Adding data path /root/dev2/overgrowth/
[i][__]: filesystem.cpp: 481: Adding write path /root/.local/share/Overgrowth/
[i][__]: filesystem.cpp: 490: Adding data path /root/dev2/overgrowth/Auxiliary/
[i][__]: filesystem.cpp: 490: Adding data path /root/disk-2T/root/Games2/overgrowth/
Preserving 16474 of data from previous log file, starting at pos 0
[i][__]:       main.cpp: 190: Starting program. Version 64d9371e_none 2024-03-13 13:04:07 UTC amd64 Linux
[i][__]:       main.cpp: 195: Debug
[i][__]:     engine.cpp:5980: Initializing SDL
[i][__]:     engine.cpp:5982: SDL Initialized successfully
[i][__]:     engine.cpp:5997: Initializing SDL_net
[i][__]:      input.cpp: 230: Added 3 controller mappings.
[i][__]:      input.cpp:  72: Current controllers:
[e][__]:     engine.cpp:5466: No extra_data_path was specified.
[i][__]: modloading.cpp:2515: Looking for mods in /root/.local/share/Overgrowth/Data/Mods/
[i][__]: modloading.cpp:2438: Added mod: /root/disk-2T/root/Games2/overgrowth/Data/Mods/wolfire_arena
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-arena"
[i][__]: modloading.cpp:2438: Added mod: /root/disk-2T/root/Games2/overgrowth/Data/Mods/wolfire_drika
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-drika"
[i][__]: modloading.cpp:2438: Added mod: /root/disk-2T/root/Games2/overgrowth/Data/Mods/wolfire_lugaru_campaign
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-lugaru-campaign"
[i][__]: modloading.cpp:2438: Added mod: /root/disk-2T/root/Games2/overgrowth/Data/Mods/wolfire_machine_translations
[e][__]: filesystem.cpp: 357: Unable to find "/root/disk-2T/root/Games2/overgrowth/Data/Mods/wolfire_machine_translations/Data/Images/wolfire_sandbox_levels/thumb.jpg" in any of the requested locations.
[e][__]: modloading.cpp: 842: Error when parsing mod.xml for mod com-wolfire-machine-translations error kValidityMissingThumbnailFile on row 8
[i][__]: modloading.cpp:2438: Added mod: /root/disk-2T/root/Games2/overgrowth/Data/Mods/wolfire_overgrowth_campaign
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-overgrowth-campaign"
[i][__]: modloading.cpp:2438: Added mod: /root/disk-2T/root/Games2/overgrowth/Data/Mods/wolfire_overgrowth_core
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-overgrowth-core"
[i][__]: modloading.cpp:2438: Added mod: /root/disk-2T/root/Games2/overgrowth/Data/Mods/wolfire_overgrowth_prototype
[i][__]: modloading.cpp:2438: Added mod: /root/disk-2T/root/Games2/overgrowth/Data/Mods/wolfire_sandbox_levels
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-sandbox-levels"
[i][__]: modloading.cpp:2438: Added mod: /root/disk-2T/root/Games2/overgrowth/Data/Mods/wolfire_timbles_therium
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-timbles-therium"
[i][__]: modloading.cpp:2438: Added mod: /root/disk-2T/root/Games2/overgrowth/Data/Mods/wolfire_versus
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-versus"
[i][__]: modloading.cpp:2438: Added mod: /root/disk-2T/root/Games2/overgrowth/Data/Mods/wolfire_versus_online
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-versus-online"
[w][__]:threaded_sound_wrapper.cpp: 561: Sound system isn't initialized yet, putting message into the queue.
[i][__]:   graphics.cpp: 880: There are 6 available video drivers.
[i][__]:   graphics.cpp: 881: Video drivers are following:
[w][__]:threaded_sound_wrapper.cpp: 561: Sound system isn't initialized yet, putting message into the queue.
[i][__]:   graphics.cpp: 884: Video driver 0: x11
[i][__]:   graphics.cpp: 884: Video driver 1: wayland
[i][__]:   graphics.cpp: 884: Video driver 2: KMSDRM
[i][al]:   al_audio.cpp: 212: ALC_ENUMERATION_EXT is available
[i][__]:   graphics.cpp: 884: Video driver 3: offscreen
[i][al]:   al_audio.cpp: 221: === Available sound devices ===
[i][__]:   graphics.cpp: 884: Video driver 4: dummy
[i][al]:   al_audio.cpp: 226: OpenAL Soft
[i][__]:   graphics.cpp: 884: Video driver 5: evdev
[i][al]:   al_audio.cpp: 234: ===                         ===
[i][al]:   al_audio.cpp: 238: Opening default audio device: OpenAL Soft.
[i][al]:   al_audio.cpp: 254: Opened and using audio device: OpenAL Soft
[i][al]:   al_audio.cpp: 278: We have 32 audio sources available.
[i][__]:   graphics.cpp: 891: Initialized video driver: x11
[i][__]:   graphics.cpp: 911: Attribute group 1 set
[e][__]: soundtrack.cpp:1193: Unable to stream data from file
[i][__]:   graphics.cpp:1007: Created window
[i][__]:   graphics.cpp:1009: Set minimum size
[i][__]:   graphics.cpp:1021: Set display mode
[i][__]:   graphics.cpp:1024: Created OpenGL Context
[i][__]:   graphics.cpp:1036: RGBA bits, depth: 8 8 8 8 24
[i][__]:   graphics.cpp:1043: Anti-aliasing samples: 0
[i][__]:   graphics.cpp:1049: SDL OpenGL Context Result: 3.2 With a SDL_GL_CONTEXT_PROFILE_CORE profile context
[i][__]:   graphics.cpp:1055: GLAD loaded succesfully
[i][__]:   graphics.cpp:1064: OpenGL Self Reported version string: 4.6 (Core Profile) Mesa 21.3.9
[i][__]:   graphics.cpp:1065: OpenGL Self Reported version values: 4.6
[i][__]:   graphics.cpp:1077: Context seems acceptable for running the application, continuing.
[i][__]:detect_settings.cpp:  37: Verified support for S3TC DXT5 compressed textures
[i][__]:   graphics.cpp:1093: Activating OpenGL callback errors, [opengl_callback_errors]
[w][__]:   graphics.cpp: 864: Source: Shader Compiler
Type: Other
ID: 1
Unknown ARB Debug Enum
Shader Stats: SGPRS: 16 VGPRS: 8 Code Size: 192 LDS: 0 Scratch: 0 Max Waves: 10 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0
[i][__]:      error.cpp: 182: Displaying message: GL debug error, Source: Shader Compiler
Type: Other
ID: 1
Unknown ARB Debug Enum
Shader Stats: SGPRS: 16 VGPRS: 8 Code Size: 192 LDS: 0 Scratch: 0 Max Waves: 10 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0
[w][__]:   graphics.cpp: 864: Source: Shader Compiler
Type: Other
ID: 1
Unknown ARB Debug Enum
Shader Stats: SGPRS: 16 VGPRS: 8 Code Size: 40 LDS: 0 Scratch: 0 Max Waves: 10 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0
[i][__]:      error.cpp: 183: build(_Z18GenerateStacktraceB5cxx11v+0x60) [0x7b8b30]
build(_Z12DisplayErrorPKcS0_9ErrorTypeb+0x338) [0x7b4260]
build(_Z18arb_debug_callbackjjjjiPKcPKv+0x498) [0x1018f08]
/usr/lib/dri/radeonsi_dri.so(+0x6e3408) [0x457ca06e3408]
/usr/lib/dri/radeonsi_dri.so(+0x1f9fa0) [0x457ca01f9fa0]
/usr/lib/dri/radeonsi_dri.so(+0x216a548) [0x457ca216a548]
/usr/lib/dri/radeonsi_dri.so(+0x1f6288) [0x457ca01f6288]
/usr/lib/dri/radeonsi_dri.so(+0x1f47f0) [0x457ca01f47f0]
/lib64/libpthread.so.0(+0x11048) [0x457c7a86e048]
/lib64/libc.so.6(+0x387f28) [0x457c7d3e8f28]
DJs3000 commented 6 months ago

~/.local/share/Overgrowth/Data/config.txt I found and corrected the line: opengl_callback_error_dialoge: true No additional ARB data appeared in the log.

Maybe it is possible to set the level of detail of the logs?

Apteryks commented 5 months ago

Hi! I've built from commit ba9913e68c7a40b7cccdeeec5002d85dc398ee09 on GNU/Linux (GNU Guix), and I am facing the same situation, despite using a different GPU (nVIDIA with nouveau driver from Mesa):

$ sh -c 'cd ~/Overgrowth && /gnu/store/l09ian96rrh7ws8jrqii4vqlm66pffa5-overgrowth-0.0.0-0.ba9913e/bin/overgrowth'
[i][__]: filesystem.cpp: 490: Adding data path /gnu/store/l09ian96rrh7ws8jrqii4vqlm66pffa5-overgrowth-0.0.0-0.ba9913e/bin/
[i][__]: filesystem.cpp: 490: Adding data path /home/maxim/Overgrowth/
[i][__]: filesystem.cpp: 481: Adding write path /home/maxim/.local/share/Overgrowth/
[i][__]: filesystem.cpp: 490: Adding data path /home/maxim/Overgrowth/Auxiliary/
Preserving 3066 of data from previous log file, starting at pos 0
[i][__]:       main.cpp: 190: Starting program. Version ba9913e6_none 1970-01-01 00:00:01 UTC amd64 Linux
[i][__]:       main.cpp: 193: Deploy (Release)
[i][__]:     engine.cpp:5980: Initializing SDL
[i][__]:     engine.cpp:5982: SDL Initialized successfully
[i][__]:     engine.cpp:5997: Initializing SDL_net
[i][__]:      input.cpp: 230: Added 3 controller mappings.
[i][__]:      input.cpp: 139: Attached controller 0:Logitech Logitech Dual Action
[w][__]:keyTranslator.cpp: 945: Got default
[w][__]:keyTranslator.cpp: 945: Got default
[w][__]:keyTranslator.cpp: 945: Got default
[w][__]:keyTranslator.cpp: 945: Got default
[w][__]:keyTranslator.cpp: 945: Got default
[w][__]:keyTranslator.cpp: 945: Got default
[i][__]:      input.cpp: 171: Attached joystick 0:Logitech Dual Action
[i][__]:      input.cpp:  72: Current controllers:
[i][__]:      input.cpp:  76: Joystick0,Logitech Dual Action
[i][__]:     config.cpp: 489: Saving config to: /home/maxim/.local/share/Overgrowth/Data/config.txt
[e][__]:     engine.cpp:5466: No extra_data_path was specified.
[e][__]:unix_compat.cpp: 340: Could not lstat /home/maxim/.local/share/Overgrowth/modconfig.xml
[i][__]: modloading.cpp:2515: Looking for mods in /home/maxim/.local/share/Overgrowth/Data/Mods/
[i][__]: modloading.cpp:2438: Added mod: /home/maxim/Overgrowth/Data/Mods/wolfire_arena
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-arena"
[i][__]: modloading.cpp:2438: Added mod: /home/maxim/Overgrowth/Data/Mods/wolfire_drika
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-drika"
[i][__]: modloading.cpp:2438: Added mod: /home/maxim/Overgrowth/Data/Mods/wolfire_lugaru_campaign
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-lugaru-campaign"
[i][__]: modloading.cpp:2438: Added mod: /home/maxim/Overgrowth/Data/Mods/wolfire_machine_translations
[e][__]: filesystem.cpp: 357: Unable to find "/home/maxim/Overgrowth/Data/Mods/wolfire_machine_translations/Data/Images/wolfire_sandbox_levels/thumb.jpg" in any of the requested locations.
[e][__]: modloading.cpp: 842: Error when parsing mod.xml for mod com-wolfire-machine-translations error kValidityMissingThumbnailFile on row 8
[i][__]: modloading.cpp:2438: Added mod: /home/maxim/Overgrowth/Data/Mods/wolfire_overgrowth_campaign
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-overgrowth-campaign"
[i][__]: modloading.cpp:2438: Added mod: /home/maxim/Overgrowth/Data/Mods/wolfire_overgrowth_core
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-overgrowth-core"
[i][__]: modloading.cpp:2438: Added mod: /home/maxim/Overgrowth/Data/Mods/wolfire_sandbox_levels
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-sandbox-levels"
[i][__]: modloading.cpp:2438: Added mod: /home/maxim/Overgrowth/Data/Mods/wolfire_timbles_therium
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-timbles-therium"
[i][__]: modloading.cpp:2438: Added mod: /home/maxim/Overgrowth/Data/Mods/wolfire_versus
[i][__]: modloading.cpp:1429: Added mod path to filesystem
[w][__]: modloading.cpp:1351: FAILED ACTIVATING CORE MOD "com-wolfire-versus"
[i][__]:   graphics.cpp: 880: There are 6 available video drivers.
[i][__]:   graphics.cpp: 881: Video drivers are following:
[i][__]:   graphics.cpp: 884: Video driver 0: x11
[i][__]:   graphics.cpp: 884: Video driver 1: wayland
[i][__]:   graphics.cpp: 884: Video driver 2: KMSDRM
[i][__]:   graphics.cpp: 884: Video driver 3: offscreen
[i][__]:   graphics.cpp: 884: Video driver 4: dummy
[i][__]:   graphics.cpp: 884: Video driver 5: evdev
[w][__]:threaded_sound_wrapper.cpp: 561: Sound system isn't initialized yet, putting message into the queue.
[w][__]:threaded_sound_wrapper.cpp: 561: Sound system isn't initialized yet, putting message into the queue.
[i][al]:   al_audio.cpp: 212: ALC_ENUMERATION_EXT is available
[i][al]:   al_audio.cpp: 221: === Available sound devices ===
[i][al]:   al_audio.cpp: 226: OpenAL Soft
[i][al]:   al_audio.cpp: 234: ===                         ===
[i][al]:   al_audio.cpp: 238: Opening default audio device: OpenAL Soft.
[i][al]:   al_audio.cpp: 254: Opened and using audio device: OpenAL Soft
[i][al]:   al_audio.cpp: 278: We have 32 audio sources available.
[i][__]:   graphics.cpp: 891: Initialized video driver: x11
[i][__]:   graphics.cpp: 911: Attribute group 1 set
[e][__]: soundtrack.cpp:1193: Unable to stream data from file
[i][__]:   graphics.cpp:1007: Created window
[i][__]:   graphics.cpp:1009: Set minimum size
[i][__]:   graphics.cpp:1021: Set display mode
[i][__]:   graphics.cpp:1024: Created OpenGL Context
[i][__]:   graphics.cpp:1036: RGBA bits, depth: 8 8 8 8 24
[i][__]:   graphics.cpp:1043: Anti-aliasing samples: 0
[i][__]:   graphics.cpp:1049: SDL OpenGL Context Result: 3.2 With a SDL_GL_CONTEXT_PROFILE_CORE profile context
[i][__]:   graphics.cpp:1055: GLAD loaded succesfully
[i][__]:   graphics.cpp:1064: OpenGL Self Reported version string: 3.3 (Core Profile) Mesa 23.3.2
[i][__]:   graphics.cpp:1065: OpenGL Self Reported version values: 3.3
[i][__]:   graphics.cpp:1077: Context seems acceptable for running the application, continuing.
[i][__]:detect_settings.cpp:  37: Verified support for S3TC DXT5 compressed textures
[i][__]:   graphics.cpp:1093: Activating OpenGL callback errors, [opengl_callback_errors]
[i][__]:textureatlas.cpp:  40: Creating a decal texture atlas with dimensions ivec2(8192,8192)
[i][__]:textureatlas.cpp:  40: Creating a decal texture atlas with dimensions ivec2(8192,8192)
[i][__]:   graphics.cpp: 340: Created framebuffer: 1 generic
[i][__]:   graphics.cpp: 340: Created framebuffer: 2 post_effects
[i][__]:   graphics.cpp: 340: Created framebuffer: 3 static_shadow_fb
[i][__]:   graphics.cpp:1307: 64 texture units supported.
[i][__]:   graphics.cpp:1323: GL_MAX_VERTEX_UNIFORM_COMPONENTS: 16384
[i][__]:   graphics.cpp:1347: GLAD_ARB_texture_cube_map_array is NOT available
[i][__]:   graphics.cpp:1361: Unassuming that any EBO or VBO is bound
[i][__]:detect_settings.cpp:  46: Detecting hardware and setting graphics settings to match hardware
[i][__]:detect_settings.cpp:  52: Limited texture samplers, disabling reflection capture
[i][__]:hardware_specs.cpp: 303: Printing specs:
[i][__]:hardware_specs.cpp: 304: ---------------
[i][__]:    shaders.cpp: 781: Binding out color for /home/maxim/Overgrowth/Data/GLSL/simple_2d.frag
[w][__]:   graphics.cpp: 864: Source: Shader Compiler
Type: Other
ID: 1
Unknown ARB Debug Enum
type: 0, local: 0, shared: 0, gpr: 4, inst: 14, loops: 0, bytes: 112
[i][__]:      error.cpp: 182: Displaying message: GL debug error, Source: Shader Compiler
Type: Other
ID: 1
Unknown ARB Debug Enum
type: 0, local: 0, shared: 0, gpr: 4, inst: 14, loops: 0, bytes: 112
[i][__]:      error.cpp: 183: /gnu/store/l09ian96rrh7ws8jrqii4vqlm66pffa5-overgrowth-0.0.0-0.ba9913e/bin(_Z12DisplayErrorPKcS0_9ErrorTypeb+0xf5) [0x6498e5]
/gnu/store/l09ian96rrh7ws8jrqii4vqlm66pffa5-overgrowth-0.0.0-0.ba9913e/bin(_Z18arb_debug_callbackjjjjiPKcPKv+0x12a) [0x7979da]
/gnu/store/438liya8d4wp2vmssab0hdq33j4iyqhc-mesa-23.3.2/lib/dri/nouveau_dri.so(+0x41dcd4) [0x7f4e4a04acd4]
/gnu/store/438liya8d4wp2vmssab0hdq33j4iyqhc-mesa-23.3.2/lib/dri/nouveau_dri.so(+0x397400) [0x7f4e49fc4400]
/gnu/store/438liya8d4wp2vmssab0hdq33j4iyqhc-mesa-23.3.2/lib/dri/nouveau_dri.so(+0x16faaf) [0x7f4e49d9caaf]
/gnu/store/438liya8d4wp2vmssab0hdq33j4iyqhc-mesa-23.3.2/lib/dri/nouveau_dri.so(+0xc3be10) [0x7f4e4a868e10]
/gnu/store/438liya8d4wp2vmssab0hdq33j4iyqhc-mesa-23.3.2/lib/dri/nouveau_dri.so(+0xc47fe1) [0x7f4e4a874fe1]
/gnu/store/438liya8d4wp2vmssab0hdq33j4iyqhc-mesa-23.3.2/lib/dri/nouveau_dri.so(+0x25bd45) [0x7f4e49e88d45]
/gnu/store/438liya8d4wp2vmssab0hdq33j4iyqhc-mesa-23.3.2/lib/dri/nouveau_dri.so(+0x25c683) [0x7f4e49e89683]
/gnu/store/438liya8d4wp2vmssab0hdq33j4iyqhc-mesa-23.3.2/lib/dri/nouveau_dri.so(+0x25cb27) [0x7f4e49e89b27]
/gnu/store/438liya8d4wp2vmssab0hdq33j4iyqhc-mesa-23.3.2/lib/dri/nouveau_dri.so(+0x53135d) [0x7f4e4a15e35d]
/gnu/store/438liya8d4wp2vmssab0hdq33j4iyqhc-mesa-23.3.2/lib/dri/nouveau_dri.so(+0x4dec0f) [0x7f4e4a10bc0f]
/gnu/store/l09ian96rrh7ws8jrqii4vqlm66pffa5-overgrowth-0.0.0-0.ba9913e/bin(_ZN7Shaders13createProgramEi+0x11a) [0x7e299a]
/gnu/store/l09ian96rrh7ws8jrqii4vqlm66pffa5-overgrowth-0.0.0-0.ba9913e/bin(_ZN17TextAtlasRenderer4InitEv+0xcc) [0x81537c]
/gnu/store/l09ian96rrh7ws8jrqii4vqlm66pffa5-overgrowth-0.0.0-0.ba9913e/bin(_ZN6Engine10InitializeEv+0x1c9f) [0x8ce52f]
/gnu/store/l09ian96rrh7ws8jrqii4vqlm66pffa5-overgrowth-0.0.0-0.ba9913e/bin(_Z8GameMainiPPc+0x243) [0x8e1783]
/gnu/store/l09ian96rrh7ws8jrqii4vqlm66pffa5-overgrowth-0.0.0-0.ba9913e/bin(main+0x10c6) [0x631a26]
/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6(+0x291f7) [0x7f4e76c931f7]
/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6(__libc_start_main+0x7c) [0x7f4e76c932ac]
/gnu/store/l09ian96rrh7ws8jrqii4vqlm66pffa5-overgrowth-0.0.0-0.ba9913e/bin(_start+0x21) [0x635751]

The game data is from Overgrowth version 1.4.

Apteryks commented 5 months ago

By setting opengl_callback_error_dialoge to 1 as hinted earlier in ~/.local/share/Overgrowth/Data/config.txt, the game progresses to the main menu. I still need to ack a few dialog boxes with the ARB Debug errors; is there a way to disable these? The same information is visible in the log.

kavika13 commented 5 months ago

The game data is from Overgrowth version 1.4.

May not be related to your flavor of the problem, but you need the data from the internal_testing beta if you're building from source. Not the 1.4 data.

This requirement is a bit buried in the first paragraph on the compiling wiki page. But it is a necessary step

Apteryks commented 5 months ago

By setting opengl_callback_error_dialoge to 1 as hinted earlier in ~/.local/share/Overgrowth/Data/config.txt, the game progresses to the main menu. I still need to ack a few dialog boxes with the ARB Debug errors; is there a way to disable these? The same information is visible in the log.

I managed to get rid of the pop-ups with the following configs:

3 matches for "opengl" in buffer: config.txt
    134:opengl_callback_error_dialog: false
    155:opengl_callback_errors: false
    156:opengl_callback_error_dialoge: false

But it looks like I'm now facing bugs in the free software nouveau nvidia driver, as seen in the kernel messages via dmesg:

[5351971.080735] nouveau 0000:07:00.0: gr: TRAP_TEXTURE - TP3: 00000003 [ FAULT]
[5351971.080741] nouveau 0000:07:00.0: gr: magic set 4:
[5351971.080745] nouveau 0000:07:00.0: gr:      0040c904: 10047f01
[5351971.080749] nouveau 0000:07:00.0: gr:      0040c908: 00000000
[5351971.080754] nouveau 0000:07:00.0: gr:      0040c90c: 40000d40
[5351971.080758] nouveau 0000:07:00.0: gr:      0040c910: 00000000
[5351971.080763] nouveau 0000:07:00.0: gr: TRAP_TEXTURE - TP4: 00000003 [ FAULT]
[5351971.080768] nouveau 0000:07:00.0: gr: magic set 5:
[5351971.080772] nouveau 0000:07:00.0: gr:      0040d904: 10047f01
[5351971.080777] nouveau 0000:07:00.0: gr:      0040d908: 00000000
[5351971.080781] nouveau 0000:07:00.0: gr:      0040d90c: 40000d40
[5351971.080786] nouveau 0000:07:00.0: gr:      0040d910: 00000000
[5351971.080790] nouveau 0000:07:00.0: gr: TRAP_TEXTURE - TP5: 00000003 [ FAULT]
[5351971.080796] nouveau 0000:07:00.0: gr: magic set 6:
[5351971.080800] nouveau 0000:07:00.0: gr:      0040e904: 10047f01
[5351971.080804] nouveau 0000:07:00.0: gr:      0040e908: 00000000
[5351971.080809] nouveau 0000:07:00.0: gr:      0040e90c: 40000d40
[5351971.080813] nouveau 0000:07:00.0: gr:      0040e910: 00000000
[5351971.080817] nouveau 0000:07:00.0: gr: TRAP_TEXTURE - TP6: 00000003 [ FAULT]
[5351971.080822] nouveau 0000:07:00.0: gr: 00200000 [] ch 4 [0027942000 overgrowth[22786]] subc 3 class 5097 mthd 15e0 data 00000000
[5351971.080836] nouveau 0000:07:00.0: fb: trapped read at 0000000000 on channel 4 [27942000 overgrowth[22786]] engine 00 [PGRAPH] client 0a [TEXTURE] subclient 00 [] reason 00000002 [PAGE_NOT_PRESENT]
[5351971.095642] nouveau 0000:07:00.0: gr: TRAP_MP_EXEC - TP 1 MP 0: 00000010 [INVALID_OPCODE] at 07ac80 warp 5, opcode 00000000 00000000
[5351971.095661] nouveau 0000:07:00.0: gr: TRAP_MP_EXEC - TP 1 MP 1: 00000010 [INVALID_OPCODE] at 03f9c0 warp 1, opcode 00000000 00000000
[5351971.095692] nouveau 0000:07:00.0: gr: TRAP_MP_EXEC - TP 2 MP 0: 00000010 [INVALID_OPCODE] at 07ac80 warp 20, opcode 00000000 00000000
[5351971.095701] nouveau 0000:07:00.0: gr: TRAP_MP_EXEC - TP 2 MP 1: 00000010 [INVALID_OPCODE] at 03f9c0 warp 1, opcode 00000000 00000000
[5351971.095711] nouveau 0000:07:00.0: gr: TRAP_MP_EXEC - TP 3 MP 0: 00000010 [INVALID_OPCODE] at 07ac80 warp 23, opcode 00000000 00000000
[5351971.095720] nouveau 0000:07:00.0: gr: TRAP_MP_EXEC - TP 3 MP 1: 00000010 [INVALID_OPCODE] at 03f9c0 warp 1, opcode 00000000 00000000
[5351971.095730] nouveau 0000:07:00.0: gr: TRAP_MP_EXEC - TP 4 MP 0: 00000010 [INVALID_OPCODE] at 07ac80 warp 5, opcode 00000000 00000000
[5351971.095738] nouveau 0000:07:00.0: gr: TRAP_MP_EXEC - TP 4 MP 1: 00000010 [INVALID_OPCODE] at 07ac80 warp 7, opcode 00000000 00000000
[5351971.095748] nouveau 0000:07:00.0: gr: TRAP_MP_EXEC - TP 5 MP 0: 00000010 [INVALID_OPCODE] at 03f9c0 warp 1, opcode 00000000 00000000
[5351971.095756] nouveau 0000:07:00.0: gr: TRAP_MP_EXEC - TP 5 MP 1: 00000010 [INVALID_OPCODE] at 07ac80 warp 1, opcode 00000000 00000000
[5351971.095766] nouveau 0000:07:00.0: gr: TRAP_MP_EXEC - TP 6 MP 0: 00000010 [INVALID_OPCODE] at 07ac80 warp 18, opcode 00000000 00000000
[5351971.095775] nouveau 0000:07:00.0: gr: TRAP_MP_EXEC - TP 6 MP 1: 00000010 [INVALID_OPCODE] at 03f9c0 warp 1, opcode 00000000 00000000
[5351971.095780] nouveau 0000:07:00.0: gr: 00200000 [] ch 4 [0027942000 overgrowth[22786]] subc 3 class 5097 mthd 15e0 data 00000000
[5351974.108053] nouveau 0000:07:00.0: overgrowth[22786]: nv50cal_space: -16
[5351975.108365] nouveau 0000:07:00.0: overgrowth[22786]: nv50cal_space: -16
[5351975.271953] nouveau 0000:07:00.0: gr: magic set 1:
[5351975.271964] nouveau 0000:07:00.0: gr:      00409904: 10047f01
[5351975.271970] nouveau 0000:07:00.0: gr:      00409908: 00000000
[5351975.271975] nouveau 0000:07:00.0: gr:      0040990c: 40000d40
[5351975.271980] nouveau 0000:07:00.0: gr:      00409910: 00000000
[5351975.271985] nouveau 0000:07:00.0: gr: TRAP_TEXTURE - TP1: 00000003 [ FAULT]
[5351975.272008] nouveau 0000:07:00.0: gr: magic set 2:
[5351975.272012] nouveau 0000:07:00.0: gr:      0040a904: 10047f01
[5351975.272017] nouveau 0000:07:00.0: gr:      0040a908: 00000000
[5351975.272021] nouveau 0000:07:00.0: gr:      0040a90c: 40000d40
[5351975.272026] nouveau 0000:07:00.0: gr:      0040a910: 00000000
[5351975.272031] nouveau 0000:07:00.0: gr: TRAP_TEXTURE - TP2: 00000003 [ FAULT]
[5351975.272036] nouveau 0000:07:00.0: gr: magic set 3:
[5351975.272040] nouveau 0000:07:00.0: gr:      0040b904: 10047f01
[5351975.272045] nouveau 0000:07:00.0: gr:      0040b908: 00000000
[5351975.272050] nouveau 0000:07:00.0: gr:      0040b90c: 40000d40
[5351975.272054] nouveau 0000:07:00.0: gr:      0040b910: 00000000
[5351975.272058] nouveau 0000:07:00.0: gr: TRAP_TEXTURE - TP3: 00000003 [ FAULT]
[...]

The GPU is a vintage nVIDIA 8800 GTS 640 Mo running with nouveau on a 5.15.147 Linux kernel.

The game runs but is unplayable (very slow). Where can I get the data for the internal_testing version? I have my original purchase key but no longer have access to Steam; can I download an archive from the Wolfire website? Thank you!

Apteryks commented 5 months ago

Hi again,

I managed to get the internal_testing from steam, using the steam client from an extra channel (nonguix) for my Guix System machine, and could test both the Steam build as well as mine from source, and both works the same, but the performance is abysmal (low single digit FPS most of the time). I'll have to wait for a PC upgrade or try with the proprietary nvidia driver. I sometimes had this kernel message from my nouveau driver:

[5420019.753917] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420020.447682] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420021.141578] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420021.835739] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420022.082374] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420022.850519] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420023.565226] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420024.309666] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420025.012672] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420025.646953] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420026.341067] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420027.125180] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420027.851493] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420028.904797] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420033.502428] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420034.264715] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
[5420034.943274] nouveau 0000:07:00.0: Overgrowth.bin.[10631]: nv50cal_space: -16
kavika13 commented 5 months ago

Where can I get the data for the internal_testing version? I have my original purchase key but no longer have access to Steam; can I download an archive from the Wolfire website? Thank you!

The open source codebase isn't kept in sync with 1.4 or backported to support that version. It may be possible to do that, if demand increases for such a thing, but that isn't currently the case. Right now the only way the bleeding-edge data is distributed is that internal_testing branch on Steam.

The GPU is a vintage nVIDIA 8800 GTS 640 Mo running with nouveau on a 5.15.147 Linux kernel.

This is VERY low spec. The minimum advertised supported GPU passmark rating is 500, which was a low-end GPU in the 2012 era.

https://www.techpowerup.com/gpu-specs/geforce-8800-gts-640.c757

I can't find passmark ratings directly for that GPU. But it looks like a higher end GPU from the 2006 era. Considering GPU architecture became a bit more homogenous in the 2010s, I suspect it's going to be a crapshoot whether it's going to be possible to leverage the performance of a "more powerful" GPU that is that much older or not, without additional work. It probably would require someone who was willing to put in effort to tune it specifically to that era of cards.

I personally am only working at a 2012ish cutoff, and have bought a bunch of very low end hardware to do that tuning, and am still working on it. (very slowly. between work, and other modder focused features and bugfixes I feel like working on)

It's also hard to tell if the nVidia nouveau drivers are part of the slowdown or not.

You could try lowering all the graphics settings, then going into the graphic debug menu to enable some things that will drive down the quality even further. It might get you better results - https://steamcommunity.com/sharedfiles/filedetails/?id=940734324

I also recommend getting a newer gaming computer if you really want to run this project.

Apteryks commented 5 months ago

Hi! Thanks for the detailed response. It looks like the 8800 GTS should score about 420 in the passmark 3D benchmark, according to: https://www.videocardbenchmark.net/gpu.php?gpu=GeForce+8800+GTS&id=101. That's still below the minimum requirements, so ] won't expect nor high nor steady framerates.

I'll try to put the proprietary nvidia driver to the test to see how it compares to nouveau, if I manage to get it installed, and report.

Apteryks commented 5 months ago

By the way, is there an online chat for the wolfire community? On IRC or somewhere else?

kavika13 commented 5 months ago

By the way, is there an online chat for the wolfire community? On IRC or somewhere else?

https://discord.gg/wolfire

There's channels specifically for Overgrowth modding and the Overgrowth open source project on there. I am frequently on there. You can feel free to ping me once you see me there. I am kavika in there (not kavika13).

kavika13 commented 3 months ago

I just built this on Linux myself, and it runs fine using the proprietary nVidia drivers. I don't think this is a generic Linux problem, and we've already determined that the GPU that Apteryks was using was insufficient to run the game.

I probably need more information about the OP's GPU. @DJs3000

DJs3000 commented 3 months ago

I just built this on Linux myself, and it runs fine using the proprietary nVidia drivers. I don't think this is a generic Linux problem, and we've already determined that the GPU that Apteryks was using was insufficient to run the game.

I probably need more information about the OP's GPU. @DJs3000

I now use AMD Radeon RX 7900 XT in my Linux system. I will try to run the game on a new graphics card, a new Linux kernel and a new mesa. I have an exotic processor architecture and this may be a problem.

image

DJs3000 commented 3 months ago

@kavika13 now there is such an error at startup.

image