Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unsupported Xinerama library version on Linux, Nvidia card with 2 monitors NOT running Twinview #80194

Closed
blaskey opened this issue Aug 2, 2023 · 4 comments · Fixed by #80240

Comments

@blaskey
Copy link

blaskey commented Aug 2, 2023

Godot version

v4.1.1.stable.official.bd6af8e0e

System information

Linux Gentoo Nvidia GeForce GTX 1660 SUPER

Issue description

When I try to start Godot 4.1.1 I get:

Xlib:  extension "XINERAMA" missing on display ":0".
ERROR: Unsupported Xinerama library version.
   at: DisplayServerX11 (platform/linuxbsd/x11/display_server_x11.cpp:5527)
ERROR: Unable to create DisplayServer, all display drivers failed.
   at: setup2 (main/main.cpp:2216)

My config is a single Nvidia card with two identical monitors. I run in a non-twinview mode which is essentially like two video cards and two screens run independently of each other (no moving windows between monitors). I've run this setup for years. xorg.conf is attached. I CAN run Godot 3.5.2 (though I see errors in the output like 'ERROR: Index p_screen = 0 is out of bounds (get_screen_count() = 0).')

My guess is Godot is seeing two screens and automatically requiring xinerama to be present. AFAIK xinerama should not be enabled on Nvidia multi-monitor setups. Another clue is if I enable xinerama in the xorg.conf (Nvidia warns me this is a really bad idea and that randr is now disabled in the xorg.logs) I get something like extension RandR missing on display ":0"

xorg.conf.txt

Steps to reproduce

Execute Godot_v4.1.1-stable_linux.x86_64 which was downloaded from the Godot site.

Minimal reproduction project

Can't start Godot, so project is not involved.

@Calinou
Copy link
Member

Calinou commented Aug 3, 2023

I've run this setup for years.

Out of curiosity, why not use TwinView?

@blaskey
Copy link
Author

blaskey commented Aug 3, 2023

I've run this setup for years.

Out of curiosity, why not use TwinView?

It's been a while since I tried it, but when I did, lots of apps didn't behave. I'd constantly get popups split between screens. Certain games would try to stretch across both monitors when fullscreen.

@Calinou
Copy link
Member

Calinou commented Aug 3, 2023

Certain games would try to stretch across both monitors when fullscreen.

In my experience, this is only really a thing with SDL 1.x games, and using sdl2-compat on those might fix it. Pretty much all modern games use SDL 2 nowadays, so it won't be an issue there.

@bruvzg
Copy link
Member

bruvzg commented Aug 4, 2023

Xinerama is only used for getting screen count / rects, so we should be able to make it optional and fallback to X screen info.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants