Three monitor setup not working
Three monitor setup not working
I have a setup with 3 monitors. Two 1080p displays on the left and in the center with a 720p display on the right. For some reason wine doesn't work anywhere from the right side of the middle of the center monitor. The left monitor works fine and half of the center monitor works fine, but placing a window anywhere past the middle of the center monitor, including the right monitor, results in the window not being rendered properly and clicking on buttons does not do anything. By not rendering properly i mean that the window is either black, or just shows whatever was last displayed.
I have tried
running other Windows applications
disabling the right monitor.
running wine without the window manager
reinstalling wine
I am using Arch Linux x86_64 with a Nvidia 770 using the latest Nvidia drivers.
I have tried
running other Windows applications
disabling the right monitor.
running wine without the window manager
reinstalling wine
I am using Arch Linux x86_64 with a Nvidia 770 using the latest Nvidia drivers.
Re: Three monitor setup not working
The Nvidia drivers don't always play nice... Since the proprietary drivers do not correctly supported the latest xrandr protocols.blaze157 wrote: ...
I am using Arch Linux x86_64 with a Nvidia 770 using the latest Nvidia drivers.
Whats the output from:
Code: Select all
xrandr
grep -A 30 -R 'Section "Screen"' /etc/X11/xorg.conf*
Ta
Bob
Re: Three monitor setup not working
xrandr returns
and grep -A 30 -R 'Section "Screen"' /etc/X11/xorg.conf* doesn't return anything.
I don't have an /etc/X11/xorg.conf file, and the only file in xorg.conf.d is 51-joystick.conf.
Code: Select all
Screen 0: minimum 8 x 8, current 5120 x 1080, maximum 16384 x 16384
DVI-I-0 connected 1280x720+3840+312 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00 +
720 59.86*
800x600 72.19 60.32 56.25
640x480 59.94
512x384 60.00
400x300 72.19
320x240 60.05
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 287mm
1920x1080 60.00*+ 59.94 50.00 60.00 50.04
1280x1024 75.02 60.02
1280x960 60.00
1280x800 59.81
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
720x576 50.00
720x480 59.94
640x480 75.00 72.81 59.94 59.93
DP-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 531mm x 299mm
1920x1080 60.00*+ 144.00 119.98 99.93 84.90
1680x1050 59.95
1440x900 59.89
1280x1024 75.02 60.02
1280x960 60.00
1280x800 59.81
1280x720 60.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
640x480 75.00 59.94
DP-1 disconnected (normal left inverted right x axis y axis)
I don't have an /etc/X11/xorg.conf file, and the only file in xorg.conf.d is 51-joystick.conf.
Re: Three monitor setup not working
@blaze157,
So I checked the Nvidia Linux manual - which confirms that Keplar and above supports ≤4 monitors (under TwinView - well more like QuadView ).
But clearly wine is only seeing the setup as though your left-a-most monitor does not exist. So it's drawing to a canvas that is 1920+1280 x 1080.
Hence why your Wine windows get flaky - when they hit 2/3 across the middle screen (i.e. 1280 pixels) and the right-hand screen is persona non grata!
What's the output from:
?
It might be worth trying to manually set the meta-modes for your Nvidia driver...
For my setup with laptop DisplayPort builtin (RHS) and an external 1440p TFT monitor (LHS) I've got:
I knocked that stuff together from the Nvidia manual (page linked above). Some stuff isn't need (e.g. TwinView defaults to True).
Bob
So I checked the Nvidia Linux manual - which confirms that Keplar and above supports ≤4 monitors (under TwinView - well more like QuadView ).
But clearly wine is only seeing the setup as though your left-a-most monitor does not exist. So it's drawing to a canvas that is 1920+1280 x 1080.
Hence why your Wine windows get flaky - when they hit 2/3 across the middle screen (i.e. 1280 pixels) and the right-hand screen is persona non grata!
What's the output from:
Code: Select all
export WINEDEBUG=+xrandr
winecfg
It might be worth trying to manually set the meta-modes for your Nvidia driver...
For my setup with laptop DisplayPort builtin (RHS) and an external 1440p TFT monitor (LHS) I've got:
Code: Select all
/etc/X11/xorg.conf.d/70-screen.conf
# xrandr -s 0 : both internal laptop display & external monitor on
# xrandr -s 1 : internal laptop display off & external monitor on
# xrandr -s 2 : internal laptop display on & external monitor off
# xrandr -s 3 : both internal laptop display & external monitor on
Section "Screen"
Identifier "xscreen0"
Device "nvidia"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "DP-2: 1920x1080 +2560+506, HDMI-0: 2560x1440 +0+0 ; DP-2: NULL, HDMI-0: 2560x1440 +0+0 ; DP-2: 1920x1080 +0+0, HDMI-0: NULL ; DP-2: nvidia-auto-select +2560+506, HDMI-0: nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
Option "TwinView" "True"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Bob
Re: Three monitor setup not working
That outputs
Is it supposed to output the same thing twice?
Ill try writing that Xorg file and see if it helps.
Code: Select all
trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.5.
trace:xrandr:xrandr12_init_modes CRTC 0: mode 0x289, 1920x1080+1920+0.
trace:xrandr:xrandr12_init_modes OUTPUT 0: name "DVI-D-0".
trace:xrandr:xrandr12_init_modes Adding mode 0x289: 1920x1080@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x2a0: 1920x1080@144.
trace:xrandr:xrandr12_init_modes Adding mode 0x2a1: 1920x1080@120.
trace:xrandr:xrandr12_init_modes Adding mode 0x2a2: 1920x1080@100.
trace:xrandr:xrandr12_init_modes Adding mode 0x2a3: 1920x1080@85.
trace:xrandr:xrandr12_init_modes Adding mode 0x2a4: 1680x1050@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x2a5: 1440x900@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x28e: 1280x1024@75.
trace:xrandr:xrandr12_init_modes Adding mode 0x28f: 1280x1024@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x290: 1280x960@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x291: 1280x800@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x292: 1280x720@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x295: 1152x864@75.
trace:xrandr:xrandr12_init_modes Adding mode 0x296: 1024x768@75.
trace:xrandr:xrandr12_init_modes Adding mode 0x297: 1024x768@70.
trace:xrandr:xrandr12_init_modes Adding mode 0x27f: 1024x768@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x298: 800x600@75.
trace:xrandr:xrandr12_init_modes Adding mode 0x280: 800x600@72.
trace:xrandr:xrandr12_init_modes Adding mode 0x281: 800x600@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x282: 800x600@56.
trace:xrandr:xrandr12_init_modes Adding mode 0x29b: 640x480@75.
trace:xrandr:xrandr12_init_modes Adding mode 0x283: 640x480@60.
trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.5.
trace:xrandr:xrandr12_init_modes CRTC 0: mode 0x289, 1920x1080+1920+0.
trace:xrandr:xrandr12_init_modes OUTPUT 0: name "DVI-D-0".
trace:xrandr:xrandr12_init_modes Adding mode 0x289: 1920x1080@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x2a0: 1920x1080@144.
trace:xrandr:xrandr12_init_modes Adding mode 0x2a1: 1920x1080@120.
trace:xrandr:xrandr12_init_modes Adding mode 0x2a2: 1920x1080@100.
trace:xrandr:xrandr12_init_modes Adding mode 0x2a3: 1920x1080@85.
trace:xrandr:xrandr12_init_modes Adding mode 0x2a4: 1680x1050@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x2a5: 1440x900@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x28e: 1280x1024@75.
trace:xrandr:xrandr12_init_modes Adding mode 0x28f: 1280x1024@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x290: 1280x960@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x291: 1280x800@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x292: 1280x720@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x295: 1152x864@75.
trace:xrandr:xrandr12_init_modes Adding mode 0x296: 1024x768@75.
trace:xrandr:xrandr12_init_modes Adding mode 0x297: 1024x768@70.
trace:xrandr:xrandr12_init_modes Adding mode 0x27f: 1024x768@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x298: 800x600@75.
trace:xrandr:xrandr12_init_modes Adding mode 0x280: 800x600@72.
trace:xrandr:xrandr12_init_modes Adding mode 0x281: 800x600@60.
trace:xrandr:xrandr12_init_modes Adding mode 0x282: 800x600@56.
trace:xrandr:xrandr12_init_modes Adding mode 0x29b: 640x480@75.
trace:xrandr:xrandr12_init_modes Adding mode 0x283: 640x480@60.
Ill try writing that Xorg file and see if it helps.
Re: Three monitor setup not working
Yes.blaze157 wrote:That outputs
...
Is it supposed to output the same thing twice?
Ill try writing that Xorg file and see if it helps.
However your output should definitely have a unified mode, created by the Nvidia driver, that spans multiple monitors. So something has gone wrong there...
For reference my output from running winecfg is:
Code: Select all
WINEDEBUG=+xrandr winecfg
fixme:winediag:start_process Wine Staging 2.0 is a testing version containing experimental patches.
fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.5.
trace:xrandr:xrandr12_init_modes CRTC 0: mode 0x1c2, 1920x1080+2560+506.
trace:xrandr:xrandr12_init_modes OUTPUT 0: name "DP-2".
trace:xrandr:xrandr12_init_modes Adding mode 0x1c2: 1920x1080@60.
trace:xrandr:xrandr10_init_modes XRandR: found 12 sizes.
trace:xrandr:xrandr10_init_modes - at 0: 4480x1586 (2 rates): 50, 53 Hz
trace:xrandr:xrandr10_init_modes - at 1: 2560x1440 (1 rates): 51 Hz
trace:xrandr:xrandr10_init_modes - at 2: 1920x1080 (1 rates): 52 Hz
trace:xrandr:xrandr10_init_modes - at 3: 1680x1050 (1 rates): 54 Hz
trace:xrandr:xrandr10_init_modes - at 4: 1440x900 (1 rates): 55 Hz
trace:xrandr:xrandr10_init_modes - at 5: 1366x768 (1 rates): 56 Hz
trace:xrandr:xrandr10_init_modes - at 6: 1280x1024 (1 rates): 57 Hz
trace:xrandr:xrandr10_init_modes - at 7: 1280x800 (1 rates): 58 Hz
trace:xrandr:xrandr10_init_modes - at 8: 1280x720 (1 rates): 59 Hz
trace:xrandr:xrandr10_init_modes - at 9: 1024x768 (1 rates): 60 Hz
trace:xrandr:xrandr10_init_modes - at 10: 800x600 (1 rates): 61 Hz
trace:xrandr:xrandr10_init_modes - at 11: 640x480 (1 rates): 62 Hz
trace:xrandr:xrandr10_init_modes XRandR modes: count=13
trace:xrandr:xrandr10_init_modes Available DD modes: count=39
trace:xrandr:xrandr10_init_modes Enabling XRandR
trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.5.
trace:xrandr:xrandr12_init_modes CRTC 0: mode 0x1c2, 1920x1080+2560+506.
trace:xrandr:xrandr12_init_modes OUTPUT 0: name "DP-2".
trace:xrandr:xrandr12_init_modes Adding mode 0x1c2: 1920x1080@60.
trace:xrandr:xrandr10_init_modes XRandR: found 12 sizes.
trace:xrandr:xrandr10_init_modes - at 0: 4480x1586 (2 rates): 50, 53 Hz
trace:xrandr:xrandr10_init_modes - at 1: 2560x1440 (1 rates): 51 Hz
trace:xrandr:xrandr10_init_modes - at 2: 1920x1080 (1 rates): 52 Hz
trace:xrandr:xrandr10_init_modes - at 3: 1680x1050 (1 rates): 54 Hz
trace:xrandr:xrandr10_init_modes - at 4: 1440x900 (1 rates): 55 Hz
trace:xrandr:xrandr10_init_modes - at 5: 1366x768 (1 rates): 56 Hz
trace:xrandr:xrandr10_init_modes - at 6: 1280x1024 (1 rates): 57 Hz
trace:xrandr:xrandr10_init_modes - at 7: 1280x800 (1 rates): 58 Hz
trace:xrandr:xrandr10_init_modes - at 8: 1280x720 (1 rates): 59 Hz
trace:xrandr:xrandr10_init_modes - at 9: 1024x768 (1 rates): 60 Hz
trace:xrandr:xrandr10_init_modes - at 10: 800x600 (1 rates): 61 Hz
trace:xrandr:xrandr10_init_modes - at 11: 640x480 (1 rates): 62 Hz
trace:xrandr:xrandr10_init_modes XRandR modes: count=13
trace:xrandr:xrandr10_init_modes Available DD modes: count=39
trace:xrandr:xrandr10_init_modes Enabling XRandR
trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.5.
trace:xrandr:xrandr12_init_modes CRTC 0: mode 0x1c2, 1920x1080+2560+506.
trace:xrandr:xrandr12_init_modes OUTPUT 0: name "DP-2".
trace:xrandr:xrandr12_init_modes Adding mode 0x1c2: 1920x1080@60.
trace:xrandr:xrandr10_init_modes XRandR: found 12 sizes.
trace:xrandr:xrandr10_init_modes - at 0: 4480x1586 (2 rates): 50, 53 Hz
trace:xrandr:xrandr10_init_modes - at 1: 2560x1440 (1 rates): 51 Hz
trace:xrandr:xrandr10_init_modes - at 2: 1920x1080 (1 rates): 52 Hz
trace:xrandr:xrandr10_init_modes - at 3: 1680x1050 (1 rates): 54 Hz
trace:xrandr:xrandr10_init_modes - at 4: 1440x900 (1 rates): 55 Hz
trace:xrandr:xrandr10_init_modes - at 5: 1366x768 (1 rates): 56 Hz
trace:xrandr:xrandr10_init_modes - at 6: 1280x1024 (1 rates): 57 Hz
trace:xrandr:xrandr10_init_modes - at 7: 1280x800 (1 rates): 58 Hz
trace:xrandr:xrandr10_init_modes - at 8: 1280x720 (1 rates): 59 Hz
trace:xrandr:xrandr10_init_modes - at 9: 1024x768 (1 rates): 60 Hz
trace:xrandr:xrandr10_init_modes - at 10: 800x600 (1 rates): 61 Hz
trace:xrandr:xrandr10_init_modes - at 11: 640x480 (1 rates): 62 Hz
trace:xrandr:xrandr10_init_modes XRandR modes: count=13
trace:xrandr:xrandr10_init_modes Available DD modes: count=39
trace:xrandr:xrandr10_init_modes Enabling XRandR
trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.5.
trace:xrandr:xrandr12_init_modes CRTC 0: mode 0x1c2, 1920x1080+2560+506.
trace:xrandr:xrandr12_init_modes OUTPUT 0: name "DP-2".
trace:xrandr:xrandr12_init_modes Adding mode 0x1c2: 1920x1080@60.
trace:xrandr:xrandr10_init_modes XRandR: found 12 sizes.
trace:xrandr:xrandr10_init_modes - at 0: 4480x1586 (2 rates): 50, 53 Hz
trace:xrandr:xrandr10_init_modes - at 1: 2560x1440 (1 rates): 51 Hz
trace:xrandr:xrandr10_init_modes - at 2: 1920x1080 (1 rates): 52 Hz
trace:xrandr:xrandr10_init_modes - at 3: 1680x1050 (1 rates): 54 Hz
trace:xrandr:xrandr10_init_modes - at 4: 1440x900 (1 rates): 55 Hz
trace:xrandr:xrandr10_init_modes - at 5: 1366x768 (1 rates): 56 Hz
trace:xrandr:xrandr10_init_modes - at 6: 1280x1024 (1 rates): 57 Hz
trace:xrandr:xrandr10_init_modes - at 7: 1280x800 (1 rates): 58 Hz
trace:xrandr:xrandr10_init_modes - at 8: 1280x720 (1 rates): 59 Hz
trace:xrandr:xrandr10_init_modes - at 9: 1024x768 (1 rates): 60 Hz
trace:xrandr:xrandr10_init_modes - at 10: 800x600 (1 rates): 61 Hz
trace:xrandr:xrandr10_init_modes - at 11: 640x480 (1 rates): 62 Hz
trace:xrandr:xrandr10_init_modes XRandR modes: count=13
trace:xrandr:xrandr10_init_modes Available DD modes: count=39
trace:xrandr:xrandr10_init_modes Enabling XRandR
Bob
Re: Three monitor setup not working
@blaze157,
Just to add to my previous post, I've listed all the relevant files in /etc/X11/xorg.conf.d/, so full list is:
I checked and Arch Linux saves a local copy of the html manual for the current Nvidia Driver: [url=file://usr/share/doc/nvidia/html/index.html]/usr/share/doc/nvidia/html/index.html[/url].
So you can just bookmark that link...
It occured to me yesterday, after playing Doom 2016 and Wine messed my X resolution settings...
The other obvious advantage of setting up explicit Metamodes, with the Nvidia proprietary drivers, is I just had to type:
to correctly restore the correct default resolutions for 2 monitor, TwinView desktop (as noted in the 70-screen.conf file comments)! Very handy!!
If you get stuck I'm sure there are plenty of "Nvidia experts" on the Arch Linux forums...
Bob
Just to add to my previous post, I've listed all the relevant files in /etc/X11/xorg.conf.d/, so full list is:
Code: Select all
/etc/X11/xorg.conf.d/10-nvidia.conf
Section "Device"
Identifier "nvidia"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 970M"
Option "TripleBuffer" "True"
Option "TwinView" "1"
EndSection
Code: Select all
/etc/X11/xorg.conf.d/10-server.conf
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "xscreen0" 0 0
Option "Xinerama" "0"
EndSection
Code: Select all
/etc/X11/xorg.conf.d/70-screen.conf
# xrandr -s 0 : both internal laptop display & external monitor on
# xrandr -s 1 : internal laptop display off & external monitor on
# xrandr -s 2 : internal laptop display on & external monitor off
# xrandr -s 3 : both internal laptop display & external monitor on
Section "Screen"
Identifier "xscreen0"
Device "nvidia"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "DP-2: 1920x1080 +2560+506, HDMI-0: 2560x1440 +0+0 ; DP-2: NULL, HDMI-0: 2560x1440 +0+0 ; DP-2: 1920x1080 +0+0, HDMI-0: NULL ; DP-2: nvidia-auto-select +2560+506, HDMI-0: nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
Option "TwinView" "True"
SubSection "Display"
Depth 24
EndSubSection
EndSection
I checked and Arch Linux saves a local copy of the html manual for the current Nvidia Driver: [url=file://usr/share/doc/nvidia/html/index.html]/usr/share/doc/nvidia/html/index.html[/url].
So you can just bookmark that link...
It occured to me yesterday, after playing Doom 2016 and Wine messed my X resolution settings...
The other obvious advantage of setting up explicit Metamodes, with the Nvidia proprietary drivers, is I just had to type:
Code: Select all
xrandr -s 0
If you get stuck I'm sure there are plenty of "Nvidia experts" on the Arch Linux forums...
Bob