LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 12-01-2021, 08:18 PM   #1
mrmazda
LQ Guru
 
Registered: Aug 2016
Location: SE USA
Distribution: openSUSE 24/7; Debian, Knoppix, Mageia, Fedora, others
Posts: 5,842
Blog Entries: 1

Rep: Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073
2 NVidia cards & 3 or more displays without NVidia's proprietary drivers


In trying to help someone solve his problem with 4 displays across 2 NVidia cards, I thought I'd try to reproduce with 3 displays across 2 NVidia cards, but with FOSS only. Normally I make do with either the IGP or one card when I need 3 displays, so this is not a configuration I'm at all familiar with.

On openSUSE Leap 15.3 I got a pair of old NVidia cards to produce a nice extended desktop across three displays using only default X settings, purely automagically:
Code:
# inxi -Sy
System:
  Host: ga970 Kernel: 5.3.18-59.34-default x86_64 bits: 64
  Desktop: Trinity R14.0.11 Distro: openSUSE Leap 15.3
# inxi -Gayz
Graphics:
  Device-1: NVIDIA GF108 [GeForce GT 630] vendor: Gigabyte driver: nouveau
  v: kernel bus-ID: 01:00.0 chip-ID: 10de:0f00 class-ID: 0300
  Device-2: NVIDIA G84 [GeForce 8600 GT] vendor: XFX Pine driver: nouveau
  v: kernel bus-ID: 05:00.0 chip-ID: 10de:0402 class-ID: 0300
  Display: x11 server: X.Org 1.20.3 driver: loaded: modesetting
  unloaded: fbdev,vesa alternate: nouveau,nv,nvidia display-ID: :0 screens: 1
  Screen-1: 0 s-res: 6400x1200 s-dpi: 120 s-size: 1354x254mm (53.3x10.0")
  s-diag: 1378mm (54.2")
  Monitor-1: DVI-I-2 res: 1920x1200 hz: 60 dpi: 94
  size: 519x324mm (20.4x12.8") diag: 612mm (24.1")
  Monitor-2: DVI-I-3 res: 2560x1080 hz: 60 dpi: 97
  size: 673x284mm (26.5x11.2") diag: 730mm (28.8")
  Monitor-3: HDMI-1-1 res: 1920x1080 hz: 60 dpi: 70
  size: 700x390mm (27.6x15.4") diag: 801mm (31.5")
  OpenGL: renderer: NV84 v: 3.3 Mesa 20.2.4 direct render: Yes
# xrandr | egrep 'onnect|creen|\*' | grep -v disconn | sort -r
Screen 0: minimum 320 x 200, current 6400 x 1200, maximum 8192 x 8192
HDMI-1-1 connected 1920x1080+4480+0 (normal left inverted right x axis y axis) 700mm x 390mm
DVI-I-3 connected 2560x1080+1920+0 (normal left inverted right x axis y axis) 673mm x 284mm
DVI-I-2 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 519mm x 324mm
   2560x1080     60.00*+
   1920x1200     59.95*+
   1920x1080     60.00*+  60.00    50.00    59.94    59.93
#
I didn't actually have to do anything to make this work. All I had to do was plug the cards in the right slots, and not have any optional display drivers installed. This is the resulting Xorg.0.log.

It's not so simple in TW on same PC using otherwise same settings (e.g.: only defaults). So far I have yet to determine how to get the #2 GPU to both show up as a usable provider and have both GPUs lighting the three displays all at once in TW:
Code:
## TW 20211128
# xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x42; cap: 0x2 (Sink Output); crtcs: 2; outputs: 2; associated providers: 0; name: modesetting
    output DVI-I-2
    output DVI-I-3
Provider 1: id: 0xdb; cap: 0x2 (Sink Output); crtcs: 2; outputs: 3; associated providers: 0; name: modesetting
    output 0xd8
    output 0xd9
    output 0xda
## 15.3
# xrandr --listproviders
Providers: number : 2
Provider 0: id: 0xec; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 2; outputs: 2; associated providers: 1; name: modesetting
    output DVI-I-2
    output DVI-I-3
Provider 1: id: 0x44; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 2; outputs: 3; associated providers: 1; name: modesetting
    output DVI-I-1-1
    output HDMI-1-1
    output VGA-1-1
I tried setting up using /etc/X11/xorg.conf.d/ in TW. This improved output recognition:
Code:
# xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x43; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 2; outputs: 3; associated providers: 1; name: modesetting
    output DVI-I-1
    output HDMI-1
    output VGA-1
Provider 1: id: 0xea; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 2; outputs: 2; associated providers: 1; name: modesetting
    output DVI-I-1-2
    output DVI-I-1-3
However, instead of the two DVI connections working as expected with the HDMI blank (no input signal), the HDMI port's display lights up, and the other two go ("no signal") black, producing this Xorg.0.log. Similar attempts with Debian Bullseye, Fedora 35 and Mageia have been similarly fruitless.

TW does initially light up all three displays to login prompts on the vttys, just not X. Once the greeter appears on vtty7, a return to any of the other vttys only lights up the same two displays as X.

My most recent iteration of /etc/xorg.conf can be found here.

If anyone is familiar with successful configuration via /etc/X11/xorg.con* for dual GPUs using only FOSS, I'd much appreciate seeing the config file(s) used.
 
Old 12-02-2021, 01:41 AM   #2
allend
LQ 5k Club
 
Registered: Oct 2003
Location: Melbourne
Distribution: Slackware64-15.0
Posts: 6,377

Rep: Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757
Not dual GPUs or the 'modesetting' driver (although that driver also accepts the ZaphodHeads option), but this may give you some ideas on using Device sections to link the driver, PCI device and outputs.
 
1 members found this post helpful.
Old 12-06-2021, 08:25 PM   #3
mrmazda
LQ Guru
 
Registered: Aug 2016
Location: SE USA
Distribution: openSUSE 24/7; Debian, Knoppix, Mageia, Fedora, others
Posts: 5,842

Original Poster
Blog Entries: 1

Rep: Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073Reputation: 2073
No fruit produced. It may well be my particular card selection is a problem. I tested multiple distros, plus a pair of AMD cards. Here's a terse summary of just NVidia card tests:
Code:
Host ga970: Gigabyte GA-970A-D3, AM3+ Socket, AMD Phenom(tm) II X4 965
01:00:0 (GPU1) NVidia G84 [GeForce 8600 GT] Tesla
05:00:0 (GPU2) NVidia GF108 [GeForce GT 630] Fermi (400 series)
Server	Distro		Success?
1.10.4	oS 12.1
1.12.3	oS 12.2
1.13.2	oS 12.3
1.14.3	oS 13.1		no, 1 provider found, mirrored outputs
1.15.1	Ubu 14.04	no, 2 providers found, 1 "used"
1.16.1	oS 13.2		no, 2 providers found, 1 "used"
1.16.3	Fedo 21		no, 2 providers found, 1 "used"
1.16.4	Debian 8	no, 2 providers found, 1 "used"
1.16.4	Mageia 5	no, 2 providers found, 1 "used"
1.17.2	oS 42.1		no, 2 providers found, 1 "used"
1.17.4	Fedo 22		no, 2 providers found, 1 "used"
1.17.10	Ubu 15.10	no, 2 providers found, 1 "used"
1.18.3	oS 42.2		no, 2 providers found, 2 "used", 1 functional
1.18.3	oS 42.3		local I/O lockup on GUI init
1.19.2	Debian 9	no, 2 providers found, 1 "used"
1.19.5	Mageia 6	no, 2 providers found, 2 "used", 1 functional
1.19.6	oS 15.0		no, 2 providers found, 1 "used"
1.20.3	oS 15.1		no, 2 providers found, 1 "used"
1.20.3	oS 15.2		Success
1.20.3	oS 15.3		Success
1.20.3	oS 15.4		Success
1.20.4	Debian 10	no, 2 providers found, 1 "used"
1.20.11 Debian 11	no, 2 providers found, 2 "used", 1 functional
1.20.11	Fedo 32		no, 2 providers found, 2 "used", 1 functional
1.20.11	Fedo 33		no, 2 providers found, 2 "used", 1 functional
1.20.11	Fedo 34		no, 2 providers found, 2 "used", 1 functional
1.20.11	Fedo 35		no, 2 providers found, 2 "used", 1 functional
1.20.11	Mageia 7	no, 2 providers found, 2 "used", 1 functional
1.20.12	Mageia 8	no, 2 providers found, 2 "used", 1 functional
1.21.1.1 oS TW		no, 2 providers found, 2 "used", 1 functional
I got tired of tests producing no fruit, so reported a bug on openSUSE, where this failure amounts to a regression rather than abject failure to get anything onto a screen from a second gfxcard. openSUSE Leap 15.2, 15.3 and 15.4 alpha all produce expected output automagically, no manual configuration required. At some point I hope to make productive use of the allend reference provided with a pair of AMD cards.
 
  


Reply

Tags
multihead, xorgconfig



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
nVidia proprietary drivers - different code for different cards? jhwilliams Linux - Hardware 1 06-13-2007 09:59 PM
Need to setup multiple displays on different VGA cards [NVIDIA GeForce] in Debian dianuj Debian 1 12-20-2005 11:27 AM
Phục hồi dữ liệu bị mất???, cứ pollsite General 1 06-27-2005 12:39 PM
Proprietary nvidia drivers vs. generic intel sound and ethernet drivers vharishankar Linux - Hardware 2 02-22-2005 05:32 AM
Gotta love those ٱٱٱٱٱٱٱ&# iLLuSionZ Linux - General 5 11-18-2003 07:14 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 12:21 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration