Opengl在在两个软件上都需要配置成 export LIBGL_ALWAYS_SOFTWARE=1,有没有什么修改的办法?

在云风的soluna游戏引擎,及终端模拟器ghostty上,直接运行都会报错:
soluna报的错是:

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  5 (X_GLXMakeCurrent)
  Serial number of failed request:  168
  Current serial number in output stream:  168

ghostty报的错是:
warning(gtk_ghostty_surface): failed to make GL context current: Unable to create a GL context

但是设置LIBGL_ALWAYS_SOFTWARE=1两者都能正常运行,让人感觉是OpenGL没配置好,想问下坛子里的朋友,有没有遇到相同情况,以及需要如何解决.

显卡是这个:VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV710/M92 [Mobility Radeon HD 4530/4570/5145/530v/540v/545v]

这是什么显卡啊,搜了一下好像很远古的样子(

安装 mesa-utils 看看 glxinfo -Beglinfo -B 的输出?

谢谢大侠关注,下面是两个输出:
glxinfo -B的输出:

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0x1002)
    Device: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7) (0x9553)
    Version: 25.0.7
    Accelerated: yes
    Video memory: 512MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 511 MB, largest block: 511 MB
    VBO free aux. memory - total: 1021 MB, largest block: 1021 MB
    Texture free memory - total: 511 MB, largest block: 511 MB
    Texture free aux. memory - total: 1021 MB, largest block: 1021 MB
    Renderbuffer free memory - total: 511 MB, largest block: 511 MB
    Renderbuffer free aux. memory - total: 1021 MB, largest block: 1021 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 512 MB
    Total available memory: 1533 MB
    Currently available dedicated video memory: 511 MB
OpenGL vendor string: Mesa
OpenGL renderer string: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 25.0.7-2
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.0 Mesa 25.0.7-2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 25.0.7-2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0x1002)
    Device: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7) (0x9553)
    Version: 25.0.7
    Accelerated: yes
    Video memory: 512MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 511 MB, largest block: 511 MB
    VBO free aux. memory - total: 1021 MB, largest block: 1021 MB
    Texture free memory - total: 511 MB, largest block: 511 MB
    Texture free aux. memory - total: 1021 MB, largest block: 1021 MB
    Renderbuffer free memory - total: 511 MB, largest block: 511 MB
    Renderbuffer free aux. memory - total: 1021 MB, largest block: 1021 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 512 MB
    Total available memory: 1533 MB
    Currently available dedicated video memory: 511 MB
OpenGL vendor string: Mesa
OpenGL renderer string: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 25.0.7-2
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.0 Mesa 25.0.7-2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 25.0.7-2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

eglinfo -B的结果:

GBM platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: llvmpipe (LLVM 19.1.7, 128 bits)
OpenGL core profile version: 4.5 (Core Profile) Mesa 25.0.7-2
OpenGL core profile shading language version: 4.50
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: llvmpipe (LLVM 19.1.7, 128 bits)
OpenGL compatibility profile version: 4.5 (Compatibility Profile) Mesa 25.0.7-2
OpenGL compatibility profile shading language version: 4.50
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: llvmpipe (LLVM 19.1.7, 128 bits)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 25.0.7-2
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Wayland platform:
eglinfo: eglInitialize failed

X11 platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7)
OpenGL core profile version: 3.3 (Core Profile) Mesa 25.0.7-2
OpenGL core profile shading language version: 3.30
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7)
OpenGL compatibility profile version: 3.3 (Core Profile) Mesa 25.0.7-2
OpenGL compatibility profile shading language version: 3.30
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7)
OpenGL ES profile version: OpenGL ES 3.0 Mesa 25.0.7-2
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.00

Surfaceless platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7)
OpenGL core profile version: 3.3 (Core Profile) Mesa 25.0.7-2
OpenGL core profile shading language version: 3.30
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7)
OpenGL compatibility profile version: 3.3 (Core Profile) Mesa 25.0.7-2
OpenGL compatibility profile shading language version: 3.30
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7)
OpenGL ES profile version: OpenGL ES 3.0 Mesa 25.0.7-2
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.00

Device platform:
Device #0:

Platform Device platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7)
OpenGL core profile version: 3.3 (Core Profile) Mesa 25.0.7-2
OpenGL core profile shading language version: 3.30
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7)
OpenGL compatibility profile version: 3.3 (Core Profile) Mesa 25.0.7-2
OpenGL compatibility profile shading language version: 3.30
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: AMD RV710 (DRM 2.50.0 / 6.1.112-cjktty, LLVM 19.1.7)
OpenGL ES profile version: OpenGL ES 3.0 Mesa 25.0.7-2
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.00

Device #1:

Platform Device platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: llvmpipe (LLVM 19.1.7, 128 bits)
OpenGL core profile version: 4.5 (Core Profile) Mesa 25.0.7-2
OpenGL core profile shading language version: 4.50
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: llvmpipe (LLVM 19.1.7, 128 bits)
OpenGL compatibility profile version: 4.5 (Compatibility Profile) Mesa 25.0.7-2
OpenGL compatibility profile shading language version: 4.50
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: llvmpipe (LLVM 19.1.7, 128 bits)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 25.0.7-2
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

OpenGL 3.3 啊,确实是比较老了,虽然大部分程序应该没问题,但可能是有应用程序不支持了。比如 ghostty 需要 OpenGL 4.3:https://github.com/ghostty-org/ghostty/blob/v1.2.3/src/renderer/OpenGL.zig#L37

谢谢,暂时还没找到升级opengl的方法,debian里的显卡驱动也是更新过的,安装不上amd的官方驱动。暂时搁置吧。

OpenGL 的版本是硬件决定的,没办法“升级 OpenGL”,除非升级硬件。如果不换硬件的话这个问题是无解的。

另外 Linux 上也不建议从别处安装显卡驱动,参阅 wiki:给新用户的关于如何不去弄坏 Arch Linux 系统的建议#不要“下载”显卡驱动