You are not logged in.

#1 2022-09-16 19:05:58

jkarch
Member
Registered: 2022-09-16
Posts: 1

Xorg multiple GPU (nvidia and virtual) screen mirroring

Hello community,

for the last few days, i've tried my best to setup my arch vm. I want to mirror my GPU output (Displayport plugged in to TV) to my virtual display adapter. The GPU is "passthroughed" from my host and it's working very fine.

So far i've got this to work with the Xinerama extension as seen in my xorg.conf below.

But poorly no openGL content is mirrored to my virtual display.
The OpenGL window content only shown on my TV plugged into the DisplayPort.

That seems to be normal behaviour as this document states https://download.nvidia.com/XFree86/Lin … maglx.html here:

...
Using identical GPUs is recommended. Some combinations of non-identical, but similar, GPUs are supported. If a GPU is incompatible with the rest of a Xinerama desktop then no OpenGL rendering will appear on the screens driven by that GPU. Rendering will still appear normally on screens connected to other supported GPUs.
...

Here is the xorg config i've got so far:

[arch@aserver ~]$ cat /etc/X11/xorg.conf
Section "ServerLayout"
        Identifier "ScreenLayout"
        Screen      0  "Screen0" 0 0
        Screen      1  "Screen1" 0 0
        Option "Xinerama" "1"
EndSection

Section "Files"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "/usr/share/fonts/misc"
        FontPath     "/usr/share/fonts/TTF"
        FontPath     "/usr/share/fonts/OTF"
        FontPath     "/usr/share/fonts/Type1"
        FontPath     "/usr/share/fonts/100dpi"
        FontPath     "/usr/share/fonts/75dpi"
EndSection

Section "Module"
        Load  "glx"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Device"
        Identifier  "Card0"
        Driver      "nvidia"
        BusID       "PCI:1:0:0"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "SWcursor"                  # [<bool>]
        #Option     "kmsdev"                    # <str>
        #Option     "ShadowFB"                  # [<bool>]
        #Option     "AccelMethod"               # <str>
        #Option     "PageFlip"                  # [<bool>]
        #Option     "ZaphodHeads"               # <str>
        #Option     "DoubleShadow"              # [<bool>]
        #Option     "Atomic"                    # [<bool>]
        #Option     "VariableRefresh"           # [<bool>]
        #Option     "UseGammaLUT"               # [<bool>]
        #Option     "AsyncFlipSecondaries"      # [<bool>]
        Identifier  "Card1"
        Driver      "modesetting"
        BusID       "PCI:0:1:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Modes "1920x1080"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "Card1"
        Monitor    "Monitor1"
        SubSection "Display"
                Modes "1920x1080"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

The VGA controller (lspci -v):

[arch@aserver ~]$ sudo lspci -v

...

00:01.0 VGA compatible controller: Red Hat, Inc. Virtio GPU (rev 01) (prog-if 00 [VGA controller])
        Subsystem: Red Hat, Inc. Device 1100
        Flags: bus master, fast devsel, latency 0, IRQ 21
        Memory at c1800000 (32-bit, prefetchable) [size=8M]
        Memory at 812100000 (64-bit, prefetchable) [size=16K]
        Memory at c308b000 (32-bit, non-prefetchable) [size=4K]
        Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: [98] MSI-X: Enable+ Count=3 Masked-
        Capabilities: [84] Vendor Specific Information: VirtIO: <unknown>
        Capabilities: [70] Vendor Specific Information: VirtIO: Notify
        Capabilities: [60] Vendor Specific Information: VirtIO: DeviceCfg
        Capabilities: [50] Vendor Specific Information: VirtIO: ISR
        Capabilities: [40] Vendor Specific Information: VirtIO: CommonCfg
        Kernel driver in use: virtio-pci
        Kernel modules: virtio_pci


...

01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Device 85a4
        Physical Slot: 0
        Flags: bus master, fast devsel, latency 0, IRQ 49
        Memory at c0000000 (32-bit, non-prefetchable) [size=16M]
        Memory at 800000000 (64-bit, prefetchable) [size=256M]
        Memory at 810000000 (64-bit, prefetchable) [size=32M]
        I/O ports at d000 [size=128]
        Expansion ROM at c1080000 [virtual] [disabled] [size=512K]
        Capabilities: [60] Power Management version 3
        Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [78] Express Legacy Endpoint, MSI 00
        Capabilities: [100] Virtual Channel
        Capabilities: [250] Latency Tolerance Reporting
        Capabilities: [128] Power Budgeting <?>
        Capabilities: [420] Advanced Error Reporting
        Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia

...

I've looked for another possibilities and found this: https://download.nvidia.com/XFree86/Lin … ndr14.html

That gave me some glimmer of hope.. But i can't get it to work either.

After i try setting the "xrandr --setprovideroutputsource":

[arch@aserver ~]$ DISPLAY=:0 xrandr --setprovideroutputsource modesetting NVIDIA-0
[arch@aserver ~]$ DISPLAY=:0 xrandr --auto --verbose
crtc 4:    1920x1080  60.00 +0+0 "Virtual-1-1"
xrandr: Configure crtc 4 failed
crtc 0: disable
crtc 1: disable
crtc 2: disable
crtc 3: disable
crtc 4: disable
screen 0: revert
crtc 0: revert
crtc 1: revert
crtc 2: revert
crtc 3: revert
crtc 4: revert

This is what config i've been using in this case:

xorg.conf:

Section "Device"
        Identifier  "Card0"
        Driver      "nvidia"
        BusID       "PCI:1:0:0"
EndSection

Section "Device"
        Identifier  "Card1"
        Driver      "modesetting"
        BusID       "PCI:0:1:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Modes "1920x1080"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "Card1"
        Monitor    "Monitor1"
        SubSection "Display"
                Modes "1920x1080"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

xrandr output:

[arch@aserver ~]$ DISPLAY=:0 xrandr
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DVI-D-0 disconnected primary (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 2210mm x 1250mm
   2880x576      50.00 +
   2880x480      59.94
   1920x1080     59.94*   50.00    24.00    23.98
   1440x576      50.00
   1440x480      59.94
   1280x720      60.00    59.94    50.00
   720x576       50.00
   720x480       59.94
   640x480       59.93
DP-3 disconnected (normal left inverted right x axis y axis)
Virtual-1-1 connected (normal left inverted right x axis y axis)
   1920x1080     60.00 +  50.00
   1280x800      74.99 +
   5120x2160     50.00
   4096x2160     50.00
   3840x2160     60.00    50.00    59.94
   1920x1440     60.00
   2560x1080     50.00
   1856x1392     60.00
   1792x1344     60.00
   2048x1152     60.00
   1920x1200     59.88
   1600x1200     60.00
   1680x1050     59.95
   1400x1050     59.98
   1280x1024     60.02
   1440x900      59.89
   1280x960      60.00
   1360x768      60.02
   1280x768      59.87
   1024x768      60.00
   800x600       60.32
   640x480       60.00    59.94
  1920x1080 (0x1c5) 148.500MHz +HSync +VSync
        h: width  1920 start 2448 end 2492 total 2640 skew    0 clock  56.25KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  50.00Hz

xrandr --listproviders:

[arch@aserver ~]$ DISPLAY=:0 xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x1b7 cap: 0x1, Source Output crtcs: 4 outputs: 7 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x1f1 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 1 outputs: 1 associated providers: 1 name:modesetting

Anyone have a guess what i can try to get this running?
Thanks.

Offline

Board footer

Powered by FluxBB