Hi,
Thanks for your advice..! I have a few follow-up questions (tagged
below Q1, Q2 and Q3). Any help highly/extremely appreciated.
Regarding to "reverse prime", etc. I have read the following page:
https://nouveau.freedesktop.org/wiki/Optimus/
So, if we want a single "macro" xscreen that spans two cards, for example:
Card 0, connected to monitor 0
Card 1, connected to monitor 1
=> a single xscreen
the only (possible) way to do this, is ..
* Card 0 composes the "macro" framebuffer
* .. and sends the relevant parts to Card 1
(Q1) Is this interpretation correct?
The command
xrandr --listproviders
gives me
Providers: number : 3
Provider 0: id: 0xd0 cap: 0x9, Source Output, Sink Offload crtcs: 4
outputs: 4 associated providers: 2 name:modesetting
Provider 1: id: 0x47 cap: 0x6, Sink Output, Source Offload crtcs: 4
outputs: 4 associated providers: 2 name:modesetting
Provider 2: id: 0x47 cap: 0x6, Sink Output, Source Offload crtcs: 4
outputs: 4 associated providers: 2 name:modesetting
I am a bit confused that the name is not "Intel" and/or "nouveau".. and
"modesetting" is a kernel module that finds display modes, right?
(Q2) Am I doing something wrong here?
I made a simple test and, indeed, the data transfer (as pointed out by
Karol) from card 0 => 1 manifested itself in glxgears:
* Open glxgears in monitor 0. Gears roll about fine.
* .. drag the glxgears to monitor 1. Gears start to be choppy with
occasional freezing
However, there is an easy way to avoid this problem, by using the
good'old xscreens
Card 0, connected to monitor 0 => xscreen 0 (i.e., DISPLAY=:0.0)
Card 1, connected to monitor 1 => xscreen 1 (i.e., DISPLAY=:0.1)
This fixed the issue when using nv$dia's proprietary driver. When I do
DISPLAY=:0.1 glxgears
The gears appear in the second screen (card 1) and roll fine. :)
However, to my great disappointment, it seems that noveau is not
supporting separate xscreens any more. There was no way around this ..
I am using lightdm display manager and the xcfe4 window manager. With
nv$idia prop. drivers I could get two separate xscreens, but never with
nouveau. When testing the two cases, I used (almost) identical xorg
files (see below).
(Q3) Has the support for separate xscreens been scrapped from the noveau
driver?
I was also playing around with the "zaphod heads" option (as per
http://blog.timmattison.com/archives/2012/01/16/how-to-set-up-multi-head-x-in-debian-using-nvidia-cards/
), but with little success
Regards,
Sampsa
The following xorg file was used succesfully for "nvidia" (removing "#"
and replacing "noveau" with "nvidia") and not-so-succesfully for
noveau. I could get two separate xscreens only for the "nvidia" case.
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
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 "BenQ GL2450"
HorizSync 30.0 - 83.0
VertRefresh 50.0 - 76.0
Option "DPMS"
EndSection
Section "Monitor"
# HorizSync source: unknown, VertRefresh source: unknown
Identifier "Monitor1"
VendorName "Unknown"
ModelName "DFP-1"
HorizSync 0.0 - 0.0
VertRefresh 0.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nouveau"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 750 Ti"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "Device1"
Driver "nouveau"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 750 Ti"
BusID "PCI:2:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
#Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "1920x1080 +0+0"
#Option "SLI" "Off"
#Option "MultiGPU" "Off"
#Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "1024x768 +0+0"
#Option "SLI" "Off"
#Option "MultiGPU" "Off"
#Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
On 08.05.2017 09:41, Karol Herbst wrote:
On 8 May 2017 12:10:13 a.m. GMT+02:00, Ben Skeggs <[email protected]> wrote:
On 05/07/2017 11:12 PM, Ilia Mirkin wrote:
On Sun, May 7, 2017 at 7:17 AM, Sampsa Riikonen
<[email protected]> wrote:
Dear Devs,
We have achieved a desktop of up to six monitors, with openGL
running
succesfully on the desktop, with the following setup/features:
* Ubuntu 16+
* Xrandr
* Noveau driver
* Two gtx750 graphic cards
Each (identical) graphic card has 2xHDMI + 2xDVI connectors, which
we
connect to the monitor array.
So far it works with six monitors, but we'd like to achieve eight.
However, throwing in more monitors, results in monitors starting to
drop
out (black screen). However, xrandr sees them correctly.
The nv$dia proprietary driver is not an option - they have
artificially
restricted the amount of monitors in the "base mosaic" feature (ref.
https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/x-org-drm/46705-linux-multi-head-success-with-8-monitors-in-1-x-screen-without-xinerama
).
What might cause the monitors to drop out? I can provide some logs
later next week (which file should I look at?)
Could using nv$dia's proprietary firmware in noveau help?
Regards,
Sampsa
P.S. This seems to be a bit outdated.. ?
https://nouveau.freedesktop.org/wiki/MultiMonitorDesktop/
.. it implies that xinerama must be used to combine screens from two
different graphics cards into a single screen which implies that
opengl
should not work, right?
Using reverse prime with a ton of screens has had a questionable
success rate. Using Xinerama Just Works (tm). But you do lose direct
rendering (but you still get OpenGL via indirect GLX, assuming the X
server has that enabled). However in the past, this hasn't been an
issue for the people trying to create such arrangements.
With reverse prime, I believe it's all just one big framebuffer, so
you run into fb size limits. I think we restrict it to 16k x 16k in
size.
Another possibility is running into memory bandwidth limitations.
And PCIe bandwidth, especially if only on 2.5 GT/s speed. So if this is done
through Reverse Prime, reclocking is a must.
Cheers,
-ilia
_______________________________________________
Nouveau mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/nouveau
_______________________________________________
Nouveau mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/nouveau
_______________________________________________
Nouveau mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/nouveau
_______________________________________________
Nouveau mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/nouveau