Xinerama makes graphic libraries crash

Hi there,

I have a multitude of problems on my Arch Linux. I’m trying to run a 6-monitor setup, across 2 identical GPUs (nVidia GTX 670)

KDE no longer works. I can’t even open a session.
I’m actually on XFCE (at least I can open a session). But at this point, all QT-based programs are simply crashing (seg fault).

I can no longer drag and drop, from ANY app! This will make the app crash (seg fault again).

After spending WEEKS of testing/searching/testing, I managed to find where my problem was:
XINERAMA.

Here’s my xorg.conf file:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 415.25

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 1080
    Screen      1  "Screen1" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "1"
    Option         "nvidiaXineramaInfo" "1"
EndSection

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "HPN HP 27b Curved"
    HorizSync       30.0 - 85.0
    VertRefresh     48.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "HPN HP 27b Curved"
    HorizSync       85.0 - 85.0
    VertRefresh     48.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 670"
    BusID          "PCI:3:0:0"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 670"
    BusID          "PCI:4:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-1"
    Option         "metamodes" "DVI-I-1: nvidia-auto-select +0+0, HDMI-0: nvidia-auto-select +1920+0, DP-1: nvidia-auto-select +3840+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    Option "AddARGBGLXVisuals" "True"
    Option "DisableGLXRootClipping" "True"
    Option "DynamicTwinView" "False"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "metamodes" "DP-1: nvidia-auto-select +0+0 {rotation=invert, AllowGSYNC=Off}, DVI-I-1: nvidia-auto-select +1920+0 {rotation=invert}, HDMI-0: nvidia-auto-select +3840+0 {rotation=invert}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    Option "AddARGBGLXVisuals" "True"
    Option "DisableGLXRootClipping" "True"
    Option "DynamicTwinView" "False"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

When I de-activate XINERAMA like this:

Option         "Xinerama" "1"

When I go back to my XFCE session, everything works right! No program is crashing (when drag n’ drop).
Also, KDE works! but I only have 3 monitors :(

As requested, here’s my nvidia-bug-report.log.gz file:


nvidia-bug-report.log.gz (420 KB)

oh well, apparently the nvidia-bug-report.log made my post look awful, sorry about this.

I was asking:

Is the XINERAMA extension broken? I have read online (old forums though) that the XINERAMA extension seems to be “broken”, since binary driver version 313.30. Is it still true today?

Also, is XINERAMA the only option for me, to have those 6 monitors to display one big desktop?

Can I use BaseMosaic instead, since I have 3 monitors on each GPU?

Thanks :)

Please attach the log as file. Hovering the mouse over an existing post of yours will reveal a paperclip icon.
https://devtalk.nvidia.com/default/topic/1043347/announcements/attaching-files-to-forum-topics-posts/

BaseMosaic is limited to 3 monitors on non-Quadro gpus, so that won’t help.
Xinerama is only rarely working anymore with the nvidia driver since xserver 1.17. Did you try with a 390 driver?
Other ways which aren’t useable/don’t work so far:
https://devtalk.nvidia.com/default/topic/1046154/linux/split-kernel-driver-working-now-i-need-to-configure-the-monitors-on-second-gpu-i-m-lost-/

Note: I will post the log as an attachment, when I’ll be back on my computer tomorrow…

BaseMosaic is limited to 3 monitors… I thought this limitation could be PER GPU…

I tried downgrading to 390 and even 340.

Do you think I should try downgrading xserver below 1.17?

Downgrading the Xserver sounds like a horrible task, maybe just do a base install of some older distro to test.

generix, thank you for your help.

I have now uploaded the nvidia-bug-report.log file to my first post.

I am still wondering something though, about BaseMosaic.
As you said, BaseMosaic is limited to 3 monitors on non-Quadro GPUs…

But I need to ask this again: Is the limitation PER GPU?
Since I have two graphic cards, perhaps I could run BaseMosaic anyway, since I have 3 monitors PER CARD?

No, BaseMosaic is limited to three monitors in total, not per gpu.

Funny enough, Xinerama seems to run fine on your system. I suspect the problem is rather with Qt5.12:https://bbs.archlinux.org/viewtopic.php?id=242703 Seems it introduced a Xinerama incompatibility. So you need to downgrade Qt, not X and maybe post a bug report with Qt.
Sidenote: in case other instabilities arise, disable the composite extension, which is the recommended config

Section "Extensions"
    Option         "Composite" "Disable"
EndSection

Damn, what would be my best bet, then?
Should I try the “nouveau” driver?

I was thinking about downgrading xorg-server, but after looking at the versions, 1.17 was in early 2015. Ouch!

About BaseMosaic… I found one guy who’s claiming to run BaseMosaic on 2 GPUs, with more than 3 screens. Have a look:
https://stackoverflow.com/questions/49621498/dual-gpu-configuration-on-ubuntu-16-04
Scroll down the page where it says: " Fully functional xorg.conf "
He has BaseMosaic set to ON… I’m really wondering if this could be working somehow…

Anyway, thanks for your reply. What should I try next?

Same time post…
Just downgrade Qt.
About the stackoverflow post…read the “Catch 22” note.

OK… I will try to downgrade my whole system by using the archive from archlinux.
I can downgrade 6 months, or 12 months back, etc, etc… I will do some testings, and see how my system reacts each and every time.

To be honest, I’ve been working on this for more than 60 days now. I’ve spent more than $4K to have this system working, and still, it does not. (that’s because I also bought a monster of a PC!)
I don’t mind spending even more money, I just want my system to work!

I started with TWO nVidia Quadro FX 3800 cards. I was wondering why they wouldn’t be able to fire up more than 4 monitors… Turns out that each card can work with 2 monitors (this is some limitation), even though they have 3 outputs.

Then I grabbed these two nVidia GTX 670 from eBay. They work very well, but I just learned that it will be impossible for me to do what I want. Xinerama is dying, and BaseMosaic is limited to 3 monitors, for non-Quadro cards.

NVS cards seem expensive.

generix, to your knowledge, what is the “oldest” Quadro card, that would be able to fire up at least 3 monitors? I’m gonna buy TWO. Let’s not lose some time anymore ;)

EDIT: As I can see, the NVS 510 cards are affordable, on eBay… I might grab two.
What should I choose, then? NVS510 or some Quadro card?

I’ll just need to resell my GTX 670s on eBay again.

BTW, your help is really appreciated.

A Quadro P620 has a better value looking at the performance/price ratio, the NVS is available at half the price, though.

Wow, I didn’t know about the Quadro P620.
Thanks for this. I think I’m gonna grab two of them, from eBay.
:)