# XOrg Dual Monitor - Please help



## JohnLWebb (Mar 26, 2009)

I am new to FreeBSD so please bear with me. I'm trying to get a dual monitor setup going. Below is what I think is the relavant information. Could someone please try to help me out. I've searched all over and tried several different possibilities with no luck.

This Xorg.conf causes a fatal error when starting the Xserver;


```
Fatal Server error
Requested entity already in use
Fatal IO error 53
```



```
Section "ServerLayout"
	Identifier     "DualHead"
	Screen         "Screen0" LeftOf "Screen1"
	Screen	       "Screen1"
	#Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
	Option	       "Xinerama" "on"
EndSection

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

Section "Module"
	Load  "GLcore"
	Load  "dbe"
	Load  "dri"
	Load  "extmod"
	Load  "glx"
	Load  "record"
	Load  "xtrap"
	Load  "freetype"
	Load  "type1"
EndSection

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

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	#Option	    "Protocol" "auto"
	Option      "Protocol" "SysMouse"
	Option      "Device" "/dev/sysmouse"
	Option	    "Buttons" "5"
	Option	    "ZAxisMapping" "4 5"
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  "Card0"
	Driver      "nv"
	VendorName  "nVidia Corporation"
	BoardName   "G71 [Quadro FX 2500M]"
	BusID       "PCI:1:0:0"
	Screen 0
EndSection

Section "Device"
        Identifier      "Card1"
        Driver          "nv"
	VendorName  "nVidia Corporation"
	BoardName   "G71 [Quadro FX 2500M]"
        BusID       "PCI:1:0:0"
	Screen 1
        # activate maximum supported througput thrue AGP
        #Option          "AGPMode"               "4"
        # activate fast writes
        #Option          "AGPFastWrite"          "yes"
        # needed for OpenGL support
        #Option          "ColorTiling"           "on"
        # Advanced 3D option
        #Option          "EnablePageFlip"        "yes"
        # Must be enabled to support dual monitor
        #Option         "MergedFB"              "true"
        # Modes for the second minitor
        #Option         "MetaModes"             "1024x768"
        # What monitor is connect where: 1: LCD, 2: CRT
        #Option         "MonitorLayout"         "LVDS, CRT"
        # Advanced power saving option.
        #Option  "DynamicClocks"                 "true"
        # Allow Fn-F4
        #Option          "BIOSHotkeys"           "true"
EndSection 


Section "Monitor"
        Identifier   "MonInt"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        HorizSync       31-54
        VertRefresh     50-120
        Option       "DPMS"
EndSection

Section "Monitor"
        #DisplaySize      330   240     # mm
        Identifier   "MonExt"
        VendorName   "DEL"
        ModelName    "DELL D1025TM"
 ### Comment all HorizSync and VertRefresh values to use DDC:
        HorizSync    30.0 - 85.0
        VertRefresh  50.0 - 120.0
        Option      "DPMS"
EndSection


Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "MonInt"
	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
		Modes	"1600x1200"
		#Virtual 3200 1200
	EndSubSection
EndSection
Section "Screen"
	Identifier "Screen1"
	Device     "Card1"
	Monitor    "MonExt"
	DefaultDepth    24
	SubSection "Display"
		Depth     24
		Modes	"1024x768"
	EndSubSection
EndSection


Section "DRI"
	Group        0
	Mode         0666
EndSection
```


The error does not occur if I remove the Screen Screen1 line server layout section but I don't get dual monitors;


More information;


Hardware;
Dell Precision M90 
NVidia QuadroFX 2500
laptop is docked with external monitor plugged into the docking station. Before i start X, I can cause the virtual terminal to move from the laptop monitor to the external monitor by closing my laptop and move the display back to the laptop by opening it.

KDE 3.5


```
$ uname -a
FreeBSD caracal.webb.local 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Tue Mar 24 22:53:14 CDT 2009     [email]johnwebb@caracal.webb.loca[/email]l:/usr/obj/usr/src/sys/M90KERNEL  i386
```


----------



## DutchDaemon (Mar 26, 2009)

Please surround system output and config files with CODE tags to retain legibility.


----------



## SirDice (Mar 26, 2009)

AFAIK the standard Xorg nv driver doesn't support dual head. The binary nvidia driver does.

http://forums.freebsd.org/showthread.php?t=3038


----------



## JohnLWebb (Mar 26, 2009)

*Thanks*

Thanks SirDice. That was the push I needed. I now have both monitors working.

I downloaded the drivers from nvidia after using their tool to determine the proper driver.

http://www.nvidia.com/Download/index.aspx?lang=en-us

FreeBSD Display Driver â€“ x86
Version: 180.29

I noticed a BIG difference immediately after starting KDE. I immediately went to the Control Center to test an OpenGL screen saver but all my screen savers are gone. Thats a different issue though and not that important. Thought it is weird.

Here is a copy of my new xorg.conf;

```
Section "ServerLayout"
	Identifier     "DualHead"
	Screen         "Screen0" RightOf "Screen1"
	Screen	       "Screen1"
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

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

Section "Module"
	#Load  "GLcore" #remove per nvidia driver instructions
	Load  "dbe"
	#Load  "dri" #remove per nvidia driver instructions
	Load  "extmod"
	Load  "glx"
	Load  "record"
	Load  "xtrap"
	Load  "freetype"
	Load  "type1"
EndSection

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

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	#Option	    "Protocol" "auto"
	Option      "Protocol" "SysMouse"
	Option      "Device" "/dev/sysmouse"
	Option	    "Buttons" "5"
	Option	    "ZAxisMapping" "4 5"
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  "Card0"
	Driver      "nvidia"
	VendorName  "nVidia Corporation"
	BoardName   "G71 [Quadro FX 2500M]"
	BusID       "PCI:1:0:0"
	Screen 0
EndSection

Section "Device"
        Identifier      "Card1"
        Driver          "nvidia"
	VendorName  "nVidia Corporation"
	BoardName   "G71 [Quadro FX 2500M]"
        BusID       "PCI:1:0:0"
	Screen 1
        # activate maximum supported througput thrue AGP
        #Option          "AGPMode"               "4"
        # activate fast writes
        #Option          "AGPFastWrite"          "yes"
        # needed for OpenGL support
        #Option          "ColorTiling"           "on"
        # Advanced 3D option
        #Option          "EnablePageFlip"        "yes"
        # Must be enabled to support dual monitor
        #Option         "MergedFB"              "true"
        # Modes for the second minitor
        #Option         "MetaModes"             "1024x768"
        # What monitor is connect where: 1: LCD, 2: CRT
        #Option         "MonitorLayout"         "LVDS, CRT"
        # Advanced power saving option.
        #Option  "DynamicClocks"                 "true"
        # Allow Fn-F4
        #Option          "BIOSHotkeys"           "true"
EndSection 


Section "Monitor"
        Identifier   "MonInt"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        HorizSync       31-54
        VertRefresh     50-120
        Option       "DPMS"
EndSection

Section "Monitor"
        #DisplaySize      330   240     # mm
        Identifier   "MonExt"
        VendorName   "DEL"
        ModelName    "DELL D1025TM"
 ### Comment all HorizSync and VertRefresh values to use DDC:
        HorizSync    30.0 - 85.0
        VertRefresh  50.0 - 120.0
        Option      "DPMS"
EndSection


Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "MonInt"
	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
		Modes	"1600x1200"
		#Virtual 3200 1200
	EndSubSection
EndSection
Section "Screen"
	Identifier "Screen1"
	Device     "Card1"
	Monitor    "MonExt"
	DefaultDepth    24
	SubSection "Display"
		Depth     24
		Modes	"1024x768"
	EndSubSection
EndSection


Section "DRI"
	Group        0
	Mode         0666
EndSection
```


----------



## JohnLWebb (Mar 26, 2009)

*xorg addendum*

So I installed Nvidia drivers from the Nvidia website and then the nvidia-settings and nvidia-config from the ports. The nvidia-settings is a cool gui that helped me to tweak my dual monitor setup by altering my xorg.conf so I thought I'd post it as it is after nvidia-settings modified it.

Thanks again


```
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 1.0  (root@caracal.webb.local)  Thu Mar 26 13:03:02 CDT 2009

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (root@caracal.webb.local)  Thu Mar 26 12:44:02 CDT 2009

Section "ServerLayout"
    Identifier     "DualHead"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

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

Section "Module"

	#Load  "GLcore" #remove per nvidia driver instructions
    Load           "dbe"
	#Load  "dri" #remove per nvidia driver instructions
    Load           "extmod"
    Load           "glx"
    Load           "record"
    Load           "xtrap"
    Load           "freetype"
    Load           "type1"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

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

Section "InputDevice"

	#Option	    "Protocol" "auto"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "SysMouse"
    Option         "Device" "/dev/sysmouse"
    Option         "Buttons" "5"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
    Identifier     "MonInt"
    VendorName     "Monitor Vendor"
    ModelName      "Monitor Model"
    HorizSync       31.0 - 54.0
    VertRefresh     50.0 - 120.0
    Option         "DPMS"
EndSection

Section "Monitor"

        #DisplaySize      330   240     # mm
 ### Comment all HorizSync and VertRefresh values to use DDC:
    Identifier     "MonExt"
    VendorName     "DEL"
    ModelName      "DELL D1025TM"
    HorizSync       30.0 - 85.0
    VertRefresh     50.0 - 120.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL M781s"
    HorizSync       30.0 - 85.0
    VertRefresh     50.0 - 160.0
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     "Card0"
    Driver         "nvidia"
    VendorName     "nVidia Corporation"
    BoardName      "G71 [Quadro FX 2500M]"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"

        # activate maximum supported througput thrue AGP
        #Option          "AGPMode"               "4"
        # activate fast writes
        #Option          "AGPFastWrite"          "yes"
        # needed for OpenGL support
        #Option          "ColorTiling"           "on"
        # Advanced 3D option
        #Option          "EnablePageFlip"        "yes"
        # Must be enabled to support dual monitor
        #Option         "MetaModes"             "1024x768"
        # What monitor is connect where: 1: LCD, 2: CRT
        #Option         "MonitorLayout"         "LVDS, CRT"
        # Advanced power saving option.
        #Option  "DynamicClocks"                 "true"
        # Allow Fn-F4
        #Option          "BIOSHotkeys"           "true"
    Identifier     "Card1"
    Driver         "nvidia"
    VendorName     "nVidia Corporation"
    BoardName      "G71 [Quadro FX 2500M]"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro FX 2500M"
EndSection

Section "Screen"

# Removed Option "metamodes" "CRT: 1024x768 +1920+0, DFP: nvidia-auto-select +0+0"
# Removed Option "metamodes" "CRT: 1024x768 +0+0, DFP: 1600x1024 +1024+0"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "TwinViewXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "CRT: 1600x1200 +0+0, DFP: 1600x1024 +1600+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Card1"
    Monitor        "MonExt"
    DefaultDepth    24
    Option         "MergedFB" "true"
        # Modes for the second minitor
    SubSection     "Display"
        Depth       24
        Modes      "1024x768"
    EndSubSection
EndSection
```


----------



## Lego (Mar 26, 2009)

does it work? because that file looks weird to me... or is it a different setup for diver to driver?


----------



## adamk (Mar 26, 2009)

Now that he's using twinview, he doesn't need both screen, monitor, and device sections.  One of each would be fine (but he would have to remove the correct one of each).  

Having two of each, though, is harmeless since the ServerLayout section only uses one Screen.

Adam


----------



## Lego (Mar 26, 2009)

ah. wish it was that easy with Radeon  (soon *crosses fingers*)


----------



## adamk (Mar 26, 2009)

It's pretty simple with radeon.  The radeon driver fully supports xrandr 1.2 and gnome even comes with a nice utility to setup your monitors using xrandr.


----------



## Lego (Mar 26, 2009)

I haven't been able to get it working... but since I moved back to the intel card until the radeon has the proper support for 3d I guess it doesn't matter... I have like 1 or 2 articles regarding the radeon with TV out. I've tried everything.


----------



## SirDice (Mar 26, 2009)

Here's mine, as you can see there's no mouse or keyboard section. Hal picks up my mouse and keyboard. There's also no monitor section as EDID does the right thing.

```
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
EndSection

Section "Files"
    FontPath        "/usr/local/lib/X11/fonts/misc/:unscaled"
    FontPath        "/usr/local/lib/X11/fonts/100dpi/:unscaled"
    FontPath        "/usr/local/lib/X11/fonts/75dpi/:unscaled"
    FontPath        "/usr/local/lib/X11/fonts/misc/"
    FontPath        "/usr/local/lib/X11/fonts/Type1/"
    FontPath        "/usr/local/lib/X11/fonts/100dpi/"
    FontPath        "/usr/local/lib/X11/fonts/75dpi/"
    FontPath        "/usr/local/lib/X11/fonts/cyrillic/"
    FontPath        "/usr/local/lib/X11/fonts/TTF/"
    FontPath        "/usr/local/lib/X11/fonts/OTF/"
    FontPath        "/usr/local/lib/X11/fonts/bitstream-vera"
    FontPath        "/usr/local/lib/X11/fonts/webfonts/"
    FontPath        "/usr/local/share/ghostscript/fonts/"
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "MSI"
    BoardName      "NX7600GT"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    DefaultDepth    24
    Option         "AddARGBGLXVisuals" "True"
    #Option        "DisableGLXRootClipping" "True"
    #Option        "AllowGLXWithComposite" "True"
    #Option        "TwinView"
    Option         "MetaModes" "1600x1200,1600x1200;1280x1024,1280x1024;1024x768,1024x768;800x600,800x600"
    #Option        "TwinViewXineramaInfoOrder" "DFP,CRT"
    Option         "ConnectedMonitor" "DFP"
    SubSection     "Display"
        Depth       24
        Modes      "1600x1200" "1280x1024" "1024x768" "800x600"
    EndSubSection
EndSection
```

Currently it only uses 1 screen because my old CRT died


----------



## adamk (Mar 26, 2009)

Lego said:
			
		

> I haven't been able to get it working... but since I moved back to the intel card until the radeon has the proper support for 3d I guess it doesn't matter... I have like 1 or 2 articles regarding the radeon with TV out. I've tried everything.



TV-out is a different matter.  It requires a rather new version of the 2D radeon driver and a special option in your xorg.conf file.  And it's still considered experimental.

Adam


----------



## Lego (Mar 26, 2009)

yes the 'Option "ATOMTvOUT" "true" (might have it wrong but you know the one im talking about).  Isn't TV out same as twinview ?? I don't want and extended desktop just a duplicate of whatever is on my monitor..


----------



## adamk (Mar 26, 2009)

twinview is having a extended desktop over multiple ports on a single nvidia card.  One of those can be a TV, but it certainly doesn't have to be.

Adam


----------



## DutchDaemon (Mar 26, 2009)

JohnLWebb said:
			
		

> I downloaded the drivers from nvidia after using their tool to determine the proper driver.
> 
> http://www.nvidia.com/Download/index.aspx?lang=en-us
> 
> ...



Uhmm, you do know that 180.29 is in the ports tree (/usr/ports/x11/nvidia-driver -> DISTVERSION?=   180.29)? Using it will keep it up to date when you update your ports and will pull in a few patches.


----------



## tangram (Mar 27, 2009)

The FreeBSD way: HOWTO: Install and configure NVIDIA drivers


----------



## JohnLWebb (Mar 27, 2009)

Wow! Thanks for all the replies.



			
				Lego said:
			
		

> does it work? because that file looks weird to me... or is it a different setup for diver to driver?



Yep. It works good. I am sharing both screens and can move windows from one to the other. They have different resolutions and I can position them virtually using nvidia-settings so that one monitor is a little high and to the right of the other. The nvidia-settings gui lets you do it graphically by moving little screens around. 

Apparently there is some stuff in the xorg.conf that is not needed based on what I am reading in some of your posts. I will look at removing the unnecessary parts tomorrow.

Again, thanks for all the replies. I really like FreeBSD so far and am very glad there is an active following out there. I'm hoping I can make it my primary workstation OS.


----------



## donald1000 (May 23, 2009)

Sorry to bring this thread up again, but is it right, (also according to this http://forums.freebsd.org/showthread.php?t=3038) that there is no way to get dual head view to work on a AMD64 system and a NVidia Card? Or is there any other driver that support it?


----------



## Oko (May 23, 2009)

This thread should be correctly renamed to "Xinerama with the single video card". He is trying to get Xinerama not Dual Monitor. Dual monitor set up is when you have multiple video cards and multiple monitors showing *IDENTICAL* screen. XOrg will automatically do that. That is trivial.


Xinerama is when you have multiple video cards and multiple monitors showing you *DIFFERENT* content and *DIFFERENT* resolutions. You have to be careful about selection of the window manager which supports that. That is also trivial to do.

And finally the last post talks about Xinerama with a *SINGLE* video card which might have multiple outputs (VGA, DVI) and multiple monitors showing you *DIFFERENT* content and *DIFFERENT* resolutions. That is highly non-trivial to do and is supported only by few video cards. 

There is also concept of virtual screens with different resolutions on the top of each other but that is different story. That was useful before xrandr
for changing resolution on the fly for Laptop presentations.

My recommendation is if you want Xinerama stick as many video cards as possible into your motherboard.


----------



## adamk (May 23, 2009)

Oko said:
			
		

> This thread should be correctly renamed to "Xinerama with the single video card". He is trying to get Xinerama not Dual Monitor. Dual monitor set up is when you have multiple video cards and multiple monitors showing *IDENTICAL* screen. XOrg will automatically do that. That is trivial.



dual monitor/head can refer to having multiple monitors, each displaying a separate screen, but not displaying one large screen extended over them.  Many drivers support this.  The 'nv' driver is not one of them, to my knowledge.

To donald1000...  You may be out of luck.  It is possible that the nouveau driver supports dual head and/or xrandr 1.2 (allow for one large screen across two monitors on a single video card), but it can be largely hit or miss as the driver is being reverse engineered.

Adam


----------



## donald1000 (May 24, 2009)

Hi!
Interesting. Never heard about nouveau driver. Maybe i will give it a try and post my results. When nothing helps i have to wait for nvidia 64bit driver...... the never ending story


----------



## JohnLWebb (May 24, 2009)

Just to clarify...

I have a NVidia Quadro 2500 in a Dell Precision M90. Its a single video card but allows me to use two monitors, the laptop screen and an additional monitor pluged in the back of the laptop. 

Its called "Twin View" in the nvidia-settings app. It is not a shared screen. When I maximize a window it maximizes to fill only one monitor. However, I can move windows from one monitor to another. Monitors can be of different resolution and positioned virtually.

A third mode called, "Separate X Screen", allows me to have two separate monitors where each have their own start menu. It like running two separate instances of KDE. I can not move windows from one screen to another but my mouse can transition accross the monitor boundaries...


----------



## phoenix (May 24, 2009)

Just some info to hopefully help clarify some things.

There's a lot of confusion over what to call multi-monitor support, as there have been many, many ways to do it over the years.  I've given up trying to use the correct terminalogy, and just describe what I want done.  Others tell me what that's "correctly" called.  

1) You can have a single video card connected to a single monitor, with a single X display.

2) You can have a single video card connected to multiple monitors, with:
  a) a single large desktop that spans across all the monitors (usually all the same resolution)
  b) separate desktops on each monitor, possibly with different resolutions and bit-depths
  c) the exact same desktop "mirrored" onto each display

3) You can have multiple video cards connected to multiple monitors, each showing a different desktop, at different resolutions.


1) uses a single X Server to manage the display, with a single window manager.  This is the normal "desktop" setup that everyone is familiar with.

2a) uses a single X Server to manage the display, with a single window manager.  This is the current multi-monitor setup using the Rotate and Resize extension (randr).  This is also the easiest to configure.  In the past, the ATi fglrx driver included MergedFB to support this, and the nVidia driver include TwinView to support this.  This is also what Windows supports out-of-the-box.

2b) uses separate X Servers to manage each display, with separate window managers running on each.  I've never done this, so don't know much about it.

2c) uses a single X Server to manage the display, with a single window manager.  This is the default mode for X when you haven't configured things and it detects multiple monitors.

3) uses separate X Servers running on each display, with separate window managers on each.  I believe this is the "old" way of getting multi-monitor support, and uses Xinerama to spread a single desktop across multiple X Servers and X displays.  I've never used it, though, so can't really comment on it.


I started my multi-monitor quest with ATi's MergedFB (radeon and fglrx drivers), which just worked out-of-the-box.  Connect two monitors to the video card, boot into X (mirrored mode), run the ATi control centre, tell it to use "Single Desktop" mode, tell it which monitor is on the right, and reboot.

Since then, I've moved to using randr with the radeon driver.  Configuration was a snap (add two monitors to the xorg.conf, tell it which is on the right, tell it which resolutions to use, reboot).

I've heard too many stories from people using nVidia and Xinerama, and have always been glad I used ATi cards.


----------



## phoenix (May 24, 2009)

donald1000 said:
			
		

> Sorry to bring this thread up again, but is it right, (also according to this http://forums.freebsd.org/showthread.php?t=3038) that there is no way to get dual head view to work on a AMD64 system and a NVidia Card? Or is there any other driver that support it?



There's no 64-bit drivers for nVidia graphics cards.  However, you should be able to get basic 2D desktops working using the nv or nouveau drivers.  Hopefully they'll support randr, in which case, getting a single desktop across multiple monitors is very easy to do.


----------



## donald1000 (May 25, 2009)

Hi!
Thanks for the detailed information. The use of one single desktop with nv and randr is problematic in my case, because as you mentioned above this is usually for monitors with same resolutions. I have two different TFTs (17' und 23') so the single desktop is not a good solution. I need a seperate desktop as you wrote in point 2b - If I have understood correctly is not available in nv, but maybe in nouveau [http://nouveau.freedesktop.org/wiki/FAQ#head-42e2327d6b83012233899069788d550f63d92ce6]


Best regards


----------



## donald1000 (May 25, 2009)

Cool, i figured it out. nouveau with xrandr support does what i want. Now i have one huuuuuge virtual desktop with two monitors on one NVidia 9800. 1920x1080 and 1280x1024 

Works well so far. Thanks for all replies.


----------



## Oko (May 25, 2009)

donald1000 said:
			
		

> Cool, i figured it out. nouveau with xrandr support does what i want. Now i have one huuuuuge virtual desktop with two monitors on one NVidia 9800. 1920x1080 and 1280x1024
> 
> Works well so far. Thanks for all replies.



Can you finish off the thread by posting detailed how to please.


----------



## donald1000 (May 26, 2009)

Of course.

I have made a portupgrade to xorg-server-1.6.0
Then i installed to nouveau driver port: /usr/ports/x11-drivers/xf86-video-nouveau/
You also need xrandr-1.3.0 or at least 1.2

Here are the relevant parts from xorg.conf


```
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
	Option	     "PreferredMode" "1280x1024"
EndSection

Section "Monitor"
	Identifier   "Monitor1"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
	Option	     "PreferredMode" "1920x1080"
	Option	     "LeftOf" "DVI-3"
EndSection

Section "Device"
	Identifier  "Card0"
	Driver      "nouveau"
	VendorName  "nVidia Corporation"
	BoardName   "Unknown Board"
	BusID       "PCI:2:0:0"
	Option	    "Randr12" "true"
	Option	    "monitor-DVI-0"	"Monitor0"
	Option	    "monitor-DVI-1"	"Monitor1"
EndSection

Section "Screen"
	Identifier 	"Screen0"
	DefaultDepth 	24
	SubSection 	"Display"
	Depth 	24
	EndSubSection
	Device     	"Card0"
EndSection
```

Note that the monitor-DVI options can varite depending on other systems, of course. If you want to 
see your output devices just type "xrandr" and adjust these settings. You can also set the dual view after
X startet: 

```
xrandr --output DVI-3 --right-of DVI-1
```
But then i was unable to move windows in the right corner of the secondary screen. So it's better to make this 
in xorg.conf like in the above config. 

Best regards.


----------

