You are not logged in.

#1 2019-04-07 01:46:26

mvaughan
Member
Registered: 2019-04-07
Posts: 2

[SOLVED] Dual Radeon Card - 6 monitor setup with xrandr

A few weeks ago, I bought two Radeon Pro WX5100 cards that each have 4x Display Port and capable of running 4K at 60Hz:
https://www.amd.com/Documents/radeon-pr … asheet.pdf

My goal was to run six 4K monitors at 60hz each. Nothing to intensive on the screens (no gaming, rendering, etc.). I'm running i3 as my wm.

I currently have 3 monitors plugged into each card to split the load evenly. I'm using mesa drivers to run the card.

When trying to configure the outputs with xrandr, I'm seeing two providers, but only three outputs:

$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x88 cap: 0x0 crtcs: 6 outputs: 4 associated providers: 0 name:AMD Radeon (TM) Pro WX 5100 Graphics @ pci:0000:01:00.0
Provider 1: id: 0x49 cap: 0x0 crtcs: 6 outputs: 4 associated providers: 0 name:AMD Radeon (TM) Pro WX 5100 Graphics @ pci:0000:02:00.0
$ xrandr
Screen 0: minimum 320 x 200, current 7680 x 4320, maximum 16384 x 16384
DisplayPort-0 disconnected
DisplayPort-1 connected 3840x2160+3840+2160 600mm x 340mm
   3840x2160     60.00*+  30.00  
   2560x1440     59.95  
   1920x1200     60.00  
   1920x1080     60.00    59.94  
   1600x1200     60.00  
   1680x1050     60.00  
   1600x900      60.00  
   1280x1024     60.02  
   1440x900      60.00  
   1280x800      59.81  
   1152x864      59.97  
   1280x720      60.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   720x480       60.00    59.94  
   640x480       60.00    59.94  
DisplayPort-2 connected 3840x2160+0+0 600mm x 340mm
   3840x2160     60.00*+  30.00  
   2560x1440     59.95  
   1920x1200     60.00  
   1920x1080     60.00    59.94  
   1600x1200     60.00  
   1680x1050     60.00  
   1600x900      60.00  
   1280x1024     60.02  
   1440x900      60.00  
   1280x800      59.81  
   1152x864      59.97  
   1280x720      60.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   720x480       60.00    59.94  
   640x480       60.00    59.94  
DisplayPort-3 connected 3840x2160+0+2160 600mm x 340mm
   3840x2160     60.00*+  30.00  
   2560x1440     59.95  
   1920x1200     60.00  
   1920x1080     60.00    59.94  
   1600x1200     60.00  
   1680x1050     60.00  
   1600x900      60.00  
   1280x1024     60.02  
   1440x900      60.00  
   1280x800      59.81  
   1152x864      59.97  
   1280x720      60.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   720x480       60.00    59.94  
   640x480       60.00    59.94  

As I read more about how to get this working here:
https://wiki.archlinux.org/index.php/mu … te_screens
https://wiki.archlinux.org/index.php/PRIME

I got a little more insight into how X is working behind the scenes and I'm beginning to question if I was a little naive when I purchased these cards. So my first question is:

Is it even possible to have each card handle the rendering of the outputs connected to it?

In trying to get all six screens to be detected by xrandr, I attempted:

$ xrandr --setprovideroutputsource 1 0 
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  35 (RRSetProviderOutputSource)
  Value in failed request:  0x49
  Serial number of failed request:  16
  Current serial number in output stream:  17

Even if that had succeeded, it sounds like all the load would have been on one card for six screens.

Is it even possible to achieve 6 screens with my setup
If it is, can the load be split across two cards?

Thanks for any insights you can give! I'll post a little more system info below (glancing at the output, maybe I'm not using the mesa drivers???):

$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)
00:01.1 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x8) (rev 07)
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)
00:17.0 SATA controller: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] (rev 31)
00:1b.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #17 (rev f1)
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #1 (rev f1)
00:1c.2 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #3 (rev f1)
00:1d.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Z170 Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V (rev 31)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon Pro WX 5100]
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 580]
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon Pro WX 5100]
02:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 580]
04:00.0 USB controller: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller
05:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 04)
06:00.0 Network controller: Ralink corp. RT2800 802.11n PCI
$ inxi -Fxz
System:    Host: mattarch Kernel: 5.0.5-arch1-1-ARCH x86_64 bits: 64 compiler: gcc v: 8.2.1 Desktop: N/A Distro: Arch Linux 
Machine:   Type: Desktop Mobo: ASUSTeK model: Z170-A v: Rev 1.xx serial: <filter> UEFI: American Megatrends v: 1902 
           date: 06/24/2016 
CPU:       Topology: Quad Core model: Intel Core i7-6700K bits: 64 type: MT MCP arch: Skylake-S rev: 3 L2 cache: 8192 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 64152 
           Speed: 4200 MHz min/max: 800/4200 MHz Core speeds (MHz): 1: 4200 2: 4200 3: 4200 4: 4200 5: 4200 6: 4200 7: 4200 
           8: 4200 
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon Pro WX 5100] driver: amdgpu v: kernel bus ID: 01:00.0 
           Device-2: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon Pro WX 5100] driver: amdgpu v: kernel bus ID: 02:00.0 
           Display: x11 server: X.Org 1.20.4 driver: amdgpu unloaded: modesetting 
           resolution: 3840x2160~60Hz, 3840x2160~60Hz, 3840x2160~60Hz 
           OpenGL: renderer: N/A v: N/A direct render: N/A 
Audio:     Device-1: Intel 100 Series/C230 Series Family HD Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel 
           bus ID: 00:1f.3 
           Device-2: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 580] driver: snd_hda_intel v: kernel 
           bus ID: 01:00.1 
           Device-3: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 580] driver: snd_hda_intel v: kernel 
           bus ID: 02:00.1 
           Device-4: Kingston type: USB driver: hid-generic,snd-usb-audio,usbhid bus ID: 1-13:6 
           Sound Server: ALSA v: k5.0.5-arch1-1-ARCH 
Network:   Device-1: Intel Ethernet I219-V vendor: ASUSTeK driver: e1000e v: 3.2.6-k port: f000 bus ID: 00:1f.6 
           IF: enp0s31f6 state: up speed: 1000 Mbps duplex: full mac: <filter> 
           Device-2: Ralink RT2800 802.11n PCI vendor: Linksys driver: rt2800pci v: 2.3.0 port: d000 bus ID: 06:00.0 
           IF: wlp6s0 state: down mac: <filter> 
Drives:    Local Storage: total: 465.76 GiB used: 14.71 GiB (3.2%) 
           ID-1: /dev/sda vendor: Samsung model: SSD 860 EVO 500GB size: 465.76 GiB 
Partition: ID-1: / size: 456.95 GiB used: 14.71 GiB (3.2%) fs: ext4 dev: /dev/sda2 
Sensors:   System Temperatures: cpu: 64.0 C mobo: 27.8 C 
           Fan Speeds (RPM): cpu: 0 
           GPU: device: amdgpu temp: 40 C fan: 1231 device: amdgpu temp: 71 C fan: 1302 
Info:      Processes: 205 Uptime: 4h 08m Memory: 15.58 GiB used: 3.24 GiB (20.8%) Init: systemd Compilers: gcc: 8.2.1 
           Shell: zsh v: 5.7.1 inxi: 3.0.33 

Last edited by mvaughan (2019-04-17 03:51:07)

Offline

#2 2019-04-07 12:08:44

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: [SOLVED] Dual Radeon Card - 6 monitor setup with xrandr

https://ark.intel.com/content/www/us/en … 0-ghz.html

Your processor should have an intel HD630 integrated gpu .
It's not listed in lspci, inxi and xrandr --listproviders  , did you disable it ?

If so, PRIME won't be able to do anything.
N.B. for your usecase that's not a bad thing, keep it disabled.

remove any xorg config files, then run startx with a non-intrusive wm like twm (i3 tends to do non-standard stuff with monitors / cards complicating things  a lot).

post xorg log.

Last edited by Lone_Wolf (2019-04-07 12:09:31)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2019-04-17 03:47:39

mvaughan
Member
Registered: 2019-04-07
Posts: 2

Re: [SOLVED] Dual Radeon Card - 6 monitor setup with xrandr

I can't pinpoint what fixed this for me. I uninstalled every driver package I installed previously, and just installed the amdgpu package. This seems to have fixed the FPS and mouse lag. I didn't see any red flags in the xorg logs, but if I run into this again, I'll include the logs.

Offline

Board footer

Powered by FluxBB