LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Desktop
User Name
Password
Linux - Desktop This forum is for the discussion of all Linux Software used in a desktop context.

Notices

Reply
 
Search this Thread
Old 06-27-2012, 01:28 AM   #1
metaf5
LQ Newbie
 
Registered: Aug 2011
Distribution: I'm kind of fond of Crunchbang...
Posts: 19

Rep: Reputation: Disabled
Xorg.conf for 3 monitors, 2 cards


I hate to rely on the goodwill of others for this, as there seems to be a ton of information about getting xorg.conf right out there...but I can't seem to get this to work, and I'm fed up.

Basics:
I want 3 monitors, running as one 'thing'(don't want to use any reserved words here...), so I can maximize a window in each one, but also drag windows between them.

I have an Nvidia GeForce 2 MX 200(1 vga, and an ATI Radeon HD4850( 1vga, 1 dvi). I have 3 monitors, a crappy old 800x600 CRT(vga), 1024x768 LCD (vga) and 1680x1050 LCD (DVI).

Things I'm considering:
Am I using the wrong nvidia driver? How do I know which one is right?
Are there parameters I should have in my device sections that I don't?
What is a 'screen', and do I want 1...or 3?
I've heard of xinerama, is that a thing I want to use, and could you provide information or point out a source/tutorial?

Thanks.

Here's my config: (apologies if it's an atrocity, as I expect it is)
Code:
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	Screen      1  "Screen1" RightOf "Screen0"
	Screen	    2  "Screen2" RightOf "Screen1"
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
	ModulePath   "/usr/lib/xorg/modules"
	FontPath     "/usr/share/fonts/X11/misc"
	FontPath     "/usr/share/fonts/X11/cyrillic"
	FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
	FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
	FontPath     "/usr/share/fonts/X11/Type1"
	FontPath     "/usr/share/fonts/X11/100dpi"
	FontPath     "/usr/share/fonts/X11/75dpi"
	FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
	FontPath     "built-ins"
EndSection

Section "Module"
	Load  "dri"
	Load  "FGL.renamed.libglx"
	Load  "record"
	Load  "extmod"
	Load  "dbe"
	Load  "glx"
	Load  "dri2"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
	#DisplaySize	  470   300	# mm
	Identifier   "bLCD"
	VendorName   "WDE"
	ModelName    "LCM-22w3"
	HorizSync    30.0 - 82.0
	VertRefresh  56.0 - 76.0
	Option	    "DPMS"
EndSection

Section "Monitor"
	Identifier   "sLCD"
	VendorName   "Compaq"
	ModelName    "5017"
	Option       "DPMS"
EndSection

Section "Monitor"
	Identifier   "CRT"
	VendorName   "Samsung"
	ModelName    "SyncMaster"
	Option       "DPMS"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"            	# [<bool>]
        #Option     "SWcursor"           	# [<bool>]
        #Option     "Dac6Bit"            	# [<bool>]
        #Option     "Dac8Bit"            	# [<bool>]
        #Option     "BusType"            	# [<str>]
        #Option     "CPPIOMode"          	# [<bool>]
        #Option     "CPusecTimeout"      	# <i>
        #Option     "AGPMode"            	# <i>
        #Option     "AGPFastWrite"       	# [<bool>]
        #Option     "AGPSize"            	# <i>
        #Option     "GARTSize"           	# <i>
        #Option     "RingSize"           	# <i>
        #Option     "BufferSize"         	# <i>
        #Option     "EnableDepthMoves"   	# [<bool>]
        #Option     "EnablePageFlip"     	# [<bool>]
        #Option     "NoBackBuffer"       	# [<bool>]
        #Option     "DMAForXv"           	# [<bool>]
        #Option     "FBTexPercent"       	# <i>
        #Option     "DepthBits"          	# <i>
        #Option     "PCIAPERSize"        	# <i>
        #Option     "AccelDFS"           	# [<bool>]
        #Option     "IgnoreEDID"         	# [<bool>]
        #Option     "CustomEDID"         	# [<str>]
        #Option     "DisplayPriority"    	# [<str>]
        #Option     "PanelSize"          	# [<str>]
        #Option     "ForceMinDotClock"   	# <freq>
        #Option     "ColorTiling"        	# [<bool>]
        #Option     "VideoKey"           	# <i>
        #Option     "RageTheatreCrystal" 	# <i>
        #Option     "RageTheatreTunerPort" 	# <i>
        #Option     "RageTheatreCompositePort" 	# <i>
        #Option     "RageTheatreSVideoPort" 	# <i>
        #Option     "TunerType"          	# <i>
        #Option     "RageTheatreMicrocPath" 	# <str>
        #Option     "RageTheatreMicrocType" 	# <str>
        #Option     "ScalerWidth"        	# <i>
        #Option     "RenderAccel"        	# [<bool>]
        #Option     "SubPixelOrder"      	# [<str>]
        #Option     "ClockGating"        	# [<bool>]
        #Option     "VGAAccess"          	# [<bool>]
        #Option     "ReverseDDC"         	# [<bool>]
        #Option     "LVDSProbePLL"       	# [<bool>]
        #Option     "AccelMethod"        	# <str>
        #Option     "DRI"                	# [<bool>]
        #Option     "ConnectorTable"     	# <str>
        #Option     "DefaultConnectorTable" 	# [<bool>]
        #Option     "DefaultTMDSPLL"     	# [<bool>]
        #Option     "TVDACLoadDetect"    	# [<bool>]
        #Option     "ForceTVOut"         	# [<bool>]
        #Option     "TVStandard"         	# <str>
        #Option     "IgnoreLidStatus"    	# [<bool>]
        #Option     "DefaultTVDACAdj"    	# [<bool>]
        #Option     "Int10"              	# [<bool>]
        #Option     "EXAVSync"           	# [<bool>]
        #Option     "ATOMTVOut"          	# [<bool>]
        #Option     "R4xxATOM"           	# [<bool>]
        #Option     "ForceLowPowerMode"  	# [<bool>]
        #Option     "DynamicPM"          	# [<bool>]
        #Option     "NewPLL"             	# [<bool>]
        #Option     "ZaphodHeads"        	# <str>
	Identifier  "Card0"
	Driver      "radeon"
	VendorName  "ATI Technologies Inc"
	BoardName   "M98L [Mobility Radeon HD 4850]"
	BusID       "PCI:2:0:0"
	Screen      0
EndSection

Section "Device"
	Identifier  "Card01"
	Driver      "radeon"
	VendorName  "ATI Technologies Inc"
	BoardName   "M98L [Mobility Radeon HD 4850]"
	BusID       "PCI:2:0:0"
	Screen     1
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "SWcursor"           	# [<bool>]
        #Option     "HWcursor"           	# [<bool>]
        #Option     "NoAccel"            	# [<bool>]
        #Option     "ShadowFB"           	# [<bool>]
        #Option     "UseFBDev"           	# [<bool>]
        #Option     "Rotate"             	# [<str>]
        #Option     "VideoKey"           	# <i>
        #Option     "FlatPanel"          	# [<bool>]
        #Option     "FPDither"           	# [<bool>]
        #Option     "CrtcNumber"         	# <i>
        #Option     "FPScale"            	# [<bool>]
        #Option     "FPTweak"            	# <i>
        #Option     "DualHead"           	# [<bool>]
	Identifier  "Card1"
	Driver      "nv"
	VendorName  "nVidia Corporation"
	BoardName   "NV11DDR [GeForce2 MX200]"
	BusID       "PCI:1:0:0"
	Screen      2
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "bLCD"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Section "Screen"
	Identifier "Screen1"
	Device     "Card0"
	Monitor    "sLCD"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Section "Screen"
	Identifier "Screen2"
	Device     "Card1"
	Monitor    "CRT"
	Subsection "Display"
		Viewport 0 0
		Depth    1
	EndSubSection
	Subsection "Display"
		Viewport 0 0
		Depth    4
	EndSubSection
	Subsection "Display"
		Viewport 0 0
		Depth	 8
	EndSubSection
	SubSection "Display"
		Viewport 0 0
		Depth 	 15
	EndSubSection
	SubSection "Display"
		Viewport 0 0
		Depth 	 16
	EndSubSection
	SubSection "Display"
		Viewport 0 0
		Depth	 24
	EndSubSection
EndSection
 
Old 06-27-2012, 06:12 AM   #2
adamk75
Senior Member
 
Registered: May 2006
Posts: 3,091

Rep: Reputation: 397Reputation: 397Reputation: 397Reputation: 397
You do not want to use any proprietary drivers. The ones to use are 'radeon' and 'nouveau' (assuming nouveau supports such an old video card... You'll have to determine that on your own). The 'nv' driver is an open source (though obfuscated) driver that nvidia used to develop, but has stopped supporting. It might work in dual GPU setups, or it might not.

In this case a 'screen' is a single output port. You have three monitor sections (good), three device sections (good) and three screen sections (good), but your screen sections don't all match up to a single device section. Your device sections have the following identifiers: Card0, Card01, Card1. Your Screen sections are associated with Devices Card0, Card0, Card1. See the difference?

Xinerama is essentially combining the three individual screens into one screen and, yes, according to what you listed as the desired outcome, you want to use it. As far as the X applications and window manager are concerned, you'll have one large screen and can move windows between them. Any xinerama-aware window manager (and they are nearly all xinerama-aware these days) will maximize windows to just one monitor.

Your ability to get this working will largely depend in the ability of Xorg or the kernel to POST the video card that your computer's BIOS isn't posting. I believe this is generally well supported these days.

Also, bear in mind that once you will not have any 2D or 3D acceleration on such a setup.

Adam
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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 Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Various xorg.conf examples for using (multiple) cards + (multiple) monitors GrapefruiTgirl Linux - Hardware 5 09-01-2009 10:22 PM
how to configure xorg.conf for 3 monitors masuter Linux - Desktop 1 01-08-2009 01:04 PM
Noob needing xorg.conf help dual monitors sixgauge Linux - Hardware 3 05-22-2007 01:15 PM
xorg.conf - Dual Monitors rizhun Linux - Hardware 0 04-14-2006 11:47 AM
Auto Selecting/Switching monitors via xorg.conf suguru Linux - Hardware 0 11-07-2005 02:19 AM


All times are GMT -5. The time now is 12:40 AM.

Main Menu
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
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration