Skip to content

GLXBadWindow in legacy GLX games (LWJGL) and RandR errors in Steam on master #3325

Description

@zukrmn

Select the version

Git master branch

Describe your issue

When running legacy OpenGL games (such as Minecraft Alpha running on LWJGL 2) or Steam 32-bit wrappers under XLibre, the applications instantly crash during the OpenGL context/window creation.

The crash log for Minecraft specifically points to a GLX extension failure:
org.lwjgl.LWJGLException: X Error - disp: 0x... serial: 62 error: GLXBadWindow request_code: 138 minor_code: 32

Additionally, Steam games fail to launch, reporting display resolution errors (which points to a regression with RandR failing to report or set modes correctly for legacy 32-bit SDL clients).

Troubleshooting already done:

  • Tested with Option "TearFree" "false" and Option "Atomic" "off" in the modesetting config. The crash persists.
  • Tested completely rootless and without any compositor running (no picom, no xcompmgr). The crash persists.
  • Using the exact same system, drivers, and xinitrc, replacing XLibre with the standard xorg-server makes all games (Steam and Minecraft) work flawlessly.
  • This confirms there is a deep regression within XLibre's libglx.so or RandR implementation compared to upstream Xorg.

System Information:

  • OS: Void Linux (amd64)
  • GPU: Intel UHD Graphics 620
  • Driver: Built-in modesetting (using Mesa iris and DRI3/DRI2)
  • XLibre Build flags: -Dglamor=true -Dudev=true -Dxorg=true

Upstream_Xorg.0.log
XLibre_Xorg.1.log

Steps to reproduce

  1. Compile and install XLibre from the git master branch.
  2. Start an X session (startx) using the built-in modesetting driver on an Intel GPU.
  3. Attempt to launch Steam or a legacy OpenGL game like Minecraft Alpha (using LWJGL 2.9.4).
  4. Observe the immediate GLXBadWindow crash upon OpenGL initialization, or RandR resolution switching failures in Steam.

What did you expect?

I expected legacy GLX applications (like Minecraft / LWJGL 2) and 32-bit wrappers (like Steam) to launch successfully with hardware acceleration, exactly as they do on the upstream xorg-server using the identical driver configuration.

Additional Information

Minecraft crash log snippet:

Minecraft has stopped running because it encountered a problem.
...
org.lwjgl.LWJGLException: X Error - disp: 0x7f6d180308a0 serial: 62 error: GLXBadWindow request_code: 138 minor_code: 32
	at org.lwjgl.opengl.LinuxDisplay.globalErrorHandler(LinuxDisplay.java:320)
	at org.lwjgl.opengl.LinuxDisplay.nCreateWindow(Native Method)
	at org.lwjgl.opengl.LinuxDisplay.createWindow(LinuxDisplay.java:495)
...

Extra fields

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingintel-gpuIntel GPU relatedneed-infoStill need to wait for more informationvoid-linux-os

    Type

    No type

    Projects

    Status
    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions