OldUnreal/Unreal-testing

[Linux] Cannot start the game with XOpenGL on AMD GPU, works fine with regular OpenGL

Closed this issue · 2 comments

Linux 6.7.9
GPU: RX 6750 XT
Mesa 24

Console output:

Developer Backtrace:
[ 1]  /home/vide0hanz/Games/Unreal Gold/System64/Core.so(_Z12HandleSignali+0x25d) [0x72bdae32381d]
[ 2]  /usr/lib/libc.so.6(+0x3c770) [0x72bdae05a770]
[ 3]  /usr/lib/dri/radeonsi_dri.so(+0x3ff8d0) [0x72bdaa5ff8d0]
[ 4]  /usr/lib/dri/radeonsi_dri.so(+0x3cf999) [0x72bdaa5cf999]
[ 5]  /usr/lib/dri/radeonsi_dri.so(+0x3eb5ad) [0x72bdaa5eb5ad]
[ 6]  /usr/lib/dri/radeonsi_dri.so(+0x4036b9) [0x72bdaa6036b9]
[ 7]  /usr/lib/dri/radeonsi_dri.so(+0x3d5f34) [0x72bdaa5d5f34]
[ 8]  /usr/lib/dri/radeonsi_dri.so(+0x3eb5ad) [0x72bdaa5eb5ad]
[ 9]  /usr/lib/dri/radeonsi_dri.so(+0x3eb837) [0x72bdaa5eb837]
[10]  /usr/lib/dri/radeonsi_dri.so(+0x3eb5ad) [0x72bdaa5eb5ad]
[11]  /usr/lib/dri/radeonsi_dri.so(+0x3eb8ae) [0x72bdaa5eb8ae]
[12]  /usr/lib/dri/radeonsi_dri.so(+0x3eb5ad) [0x72bdaa5eb5ad]
[13]  /usr/lib/dri/radeonsi_dri.so(+0x134140f) [0x72bdab54140f]
[14]  /usr/lib/dri/radeonsi_dri.so(+0x33d49a) [0x72bdaa53d49a]
[15]  /usr/lib/dri/radeonsi_dri.so(+0x1da334) [0x72bdaa3da334]
[16]  /usr/lib/dri/radeonsi_dri.so(+0xa2f42) [0x72bdaa2a2f42]
[17]  /usr/lib/dri/radeonsi_dri.so(+0xb1512) [0x72bdaa2b1512]
[18]  /usr/lib/dri/radeonsi_dri.so(+0x1eb7a8) [0x72bdaa3eb7a8]
[19]  /home/vide0hanz/Games/Unreal Gold/System64/XOpenGLDrv.so(_ZN20UXOpenGLRenderDevice13ShaderProgram13CompileShaderEjRjPFvjPS_R14FShaderWriterXPS0_ES7_+0x3bc) [0x72bd8812cb7c]
[20]  /home/vide0hanz/Games/Unreal Gold/System64/XOpenGLDrv.so(_ZN20UXOpenGLRenderDevice13ShaderProgram18BuildShaderProgramEPFvjPS_R14FShaderWriterXPS0_ES6_S6_S6_+0x65) [0x72bd8812e1e5]
[21]  /home/vide0hanz/Games/Unreal Gold/System64/XOpenGLDrv.so(_ZN20UXOpenGLRenderDevice11InitShadersEv+0x94d) [0x72bd8812da2d]
[22]  /home/vide0hanz/Games/Unreal Gold/System64/XOpenGLDrv.so(_ZN20UXOpenGLRenderDevice4InitEP9UViewportiiii+0x868) [0x72bd88130ba8]
[23]  /home/vide0hanz/Games/Unreal Gold/System64/SDL2Drv.so(_ZN13USDL2Viewport15TryRenderDeviceEPKwiiii+0x15d) [0x72bdaf8f5fbd]
[24]  /home/vide0hanz/Games/Unreal Gold/System64/SDL2Drv.so(_ZN13USDL2Viewport10OpenWindowEPviiiiiPKw+0x14d) [0x72bdaf8f3bfd]
[25]  /home/vide0hanz/Games/Unreal Gold/System64/Engine.so(_ZN11UGameEngine4InitEv+0x3c2a) [0x72bdaefaa49a]
[26]  ./UnrealLinux.bin(+0x7ce9) [0x627f04fe1ce9]
[27]  /usr/lib/libc.so.6(+0x25cd0) [0x72bdae043cd0]
[28]  /usr/lib/libc.so.6(__libc_start_main+0x8a) [0x72bdae043d8a]
[29]  ./UnrealLinux.bin(+0x64da) [0x627f04fe04da]
Signal: SIGSEGV [segmentation fault]
Aborting.

Signal: SIGSEGV [segmentation fault]

History: CompileShader <- UXOpenGLRenderDevice::InitShaders <- UXOpenGLRenderDevice::Init <- USDL2Viewport::TryRenderDevice



Exiting due to error

UnrealLinux.log

Log: Log file open, Sat Mar  9 20:24:41 2024
Init: Name subsystem initialized
Init: Version: 227 Subversion: 11
Init: Compiled: Mar  7 2024 15:52:32
Init: Command line: 
Init: Base directory: 
Init: Character set: Unicode
Log: Bound to SDL2Drv.so
Log: Bound to Engine.so
Log: Bound to Core.so
Init: Object subsystem initialized
Init: OS: Linux
Init: Computer: COMPii
Init: User: vide0hanz
Init: Memory total: Phys=32809264K Virt=0K
Init: CPU Speed=4200.014201 MHz
Init: CPU Page size=4096, Processors / Cores 8
Log: Forcing CPU affinity disabled.
Init: Unreal engine initialized
Log: Bound to PhysXPhysics.so
PhysX: Initializing PhysX physics engine (ver 4.1.2)!
Log: Bound to Fire.so
Log: SDL2: Initializing
Init: SDL2: Detected 0 joysticks
Init: SDL2: Client initialized.
Log: Bound to Render.so
Init: Lighting subsystem initialized
Init: Rendering initialized
Log: LoadMap: EntryII.unr
Log: Bound to Emitter.so
Log: Bound to Editor.so
Log: Bringing Level EntryII.MyLevel up for play (165)...
ScriptLog: InitGame: 
ScriptLog: Difficulty 1
ScriptLog: Base Mutator is EntryII.Mutator
Log: Browse: Unreal.unr?Name=Player?Class=UnrealI.FemaleOne
Log: LoadMap: Unreal.unr?Name=Player?Class=UnrealI.FemaleOne
Log: Bringing Level Unreal.MyLevel up for play (165)...
ScriptLog: InitGame: ?Name=Player?Class=UnrealI.FemaleOne
ScriptLog: Difficulty 1
ScriptLog: Base Mutator is Unreal.Mutator
Init: SDL2: Setting up viewport
Init: SDL2: Created and initialized a new viewport.
Log: Bound to IpDrv.so
Log: Possessed PlayerPawn: FemaleOne Unreal.FemaleOne
ServerLog: All inventory from Player is accepted
Init: Input system initialized for SDL2Viewport
Log: SDL2: Opening viewport.
Log: Bound to XOpenGLDrv.so
Log: SDL2: Loaded render device class.
Log: SDL2: Using OpenGL / OpenGLES
Log: SDL2: Changing desktop resolution for fullscreen (2560x1440)
Log: SDL2: Creating new window with 2560x1440
Log: SDL2: Couldn't load icon file Parameter 'src' is invalid
Log: SDL2Drv: Resizing viewport successful!
Init: GL_VENDOR     : AMD
Init: GL_RENDERER   : AMD Radeon RX 6750 XT (radeonsi, navi22, LLVM 17.0.6, DRM 3.57, 6.7.9-arch1-1)
Init: GL_VERSION    : 4.6 (Core Profile) Mesa 24.0.2-arch1.2
Init: GL_SHADING_LANGUAGE_VERSION    : 4.60
Init: XOpenGL: OpenGL 4.6 core context initialized!
Log: XOpenGL: Texture lod bias extension not found!
Init: XOpenGL: VSync Adaptive
Exit: Executing UObject::StaticShutdownAfterError
Exit: SDL2: Executing USDL2Client::ShutdownAfterError
Exit: XOpenGL: ShutdownAfterError
Init: XOpenGL: Setting VSync adaptive has failed. Falling back to SwapInterval 0 (VSync Off).
Init: XOpenGL: Setting VSync off has failed.
Exit: Exiting.
Log: Log file closed, Sat Mar  9 20:24:51 2024

duplicate of #343

Unreal will start with XOpenGL if UseBindlessTextures under [XOpenGLDrv.XOpenGLRenderDevice] is set to false in UnrealLinux.ini.

I would recommend setting UseBindlessTextures to true and UseShaderDrawParameters and UsePersistentBuffers to false. These will also be the default values in the next build.