Dual-Monitors (Clone) from a Linux Machine.
HOME

First my big thanks to all the online resources that I have consulted and may use parts of in this HowTo. All copyrights are acknowledged.

My setup
Dell Inspiron 2650 Notepad
I am using Mandrake 9.2 currently, KDE 3.1, Linux version 2.4.22-10mdk. XFRee86 version 4.3.0


[root@mordor Quick Launch]# lspci -vv
00:00.0 Host bridge: Intel Corp. 82845 845 (Brookdale) Chipset Host Bridge (rev 05)
Subsystem: Dell Computer Corporation: Unknown device 00f3


01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 Go] (rev b2) (prog-if 00 [VGA])
Subsystem: Dell Computer Corporation: Unknown device 00f3


OK, worked for a week on this, with lots of help to Clone my Notepad Monitor (LCD), to an external CRT Monitor.
Heres how!
I checked my BIOS Settings to allow external screen.
I downloaded the latest Linux NVIDIA Driver from ftp://download.nvidia.com called nvidia-linux-x86-1.0-5336-pkg1.run
I installed the package (NB Mandrake 9.2 does not ship with Kernel Source, I downloaded that previously), according to the readme file. Kill X (GUI) with either FailSafe Logon or execute telinit 3 for a shell telinit 5 is GUI.

After you have downloaded NVIDIA-Linux-x86-1.0-5336-pkg1.run, begin installation by exiting X, cd'ing into the directory containing the downloaded file, and run:
sh NVIDIA-Linux-x86-1.0-5336-pkg1.run
The .run file is a self-extracting archive. When the .run file is executed, it extracts the contents of the archive, and runs the contained `nvidia-installer` utility, which will walk you through installation of the NVIDIA driver.
If you can not run it, you may have to install some utilities from your CDs. Rpmdrake in Mandrake. Or you may not have the Kernel Source installed. Try cat /proc/version to see what Kernel you have.

Now you need to change the GUI Xfree86 file to get the changes to take effect. (see my file later on page)
It lives at /etc/X11/XF86Config-4 Edit with an Editor like Emacs (F10 for menu)
If you already have an XF86Config file working with a different driver (such as the 'nv' or 'vesa' driver), then all you need to do is find the relevant Device section and replace the line:
Driver "nv" (or Driver "vesa") with Driver "nvidia"
In the Module section, make sure you have:
Load "glx"

You should also remove the following lines:
Load "dri"
Load "GLcore"

You need 2 Devices, 2 Monitors, 2 Screens and change the Section "ServerLayout" section. The file below works for me!

Now save and also make a back up, Execute Startx to see what happens. It may take some tinkering to get it to rock and roll but finally mine is!


You should see the NVIDIA Logon Logo if it is going to happen.

Here is my /etc/X11/XF86Config-4 file contents;

# File generated by XFdrake.

Section "Files"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath "unix/:-1"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
EndSection

Section "ServerFlags"
#DontZoom # disable <Crtl><Alt><KP_+>/<KP_-> (resolution switching)
AllowMouseOpenFail # allows the server to start up even if the mouse doesn't work
#DontZap # disable <Crtl><Alt><BS> (server abort)
EndSection

Section "Module"
Load "dbe"
Load "dri"
Load "extmod"
Load "record"
Load "xtrap"
Load "v4l" # Video for Linux
Load "type1"
Load "freetype"
Load "glx" # 3D layer
Load "type1"
# Load "GLcore"
EndSection

Section "InputDevice"
Identifier "Keyboard1"
Driver "Keyboard"
Option "XkbModel" "pc105"
Option "XkbLayout" "en_US"
Option "XkbOptions" ""
EndSection

Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "PS/2"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons"
Option "Emulate3Timeout" "50"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Generic"
ModelName "Flat Panel 1024x768"
HorizSync 31.5-48.5
VertRefresh 40-70

# Sony Vaio C1(X,XS,VE,VN)?
# 1024x480 @ 85.6 Hz, 48 kHz hsync
ModeLine "1024x480" 65.00 1024 1032 1176 1344 480 488 494 563 -hsync -vsync

# TV fullscreen mode or DVD fullscreen output.
# 768x576 @ 79 Hz, 50 kHz hsync
ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630

# 768x576 @ 100 Hz, 61.6 kHz hsync
ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "Generic"
ModelName "800X600 @ 56 Hz"
# HorizSync 31.5-48.5
# VertRefresh 50-120
EndSection

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

Section "Device"
Identifier "nvidia1"
Driver "nvidia"
Screen 1
BusId "PCI:1:0:0"
Option "CloneDisplay" "4"
Option "CloneHSync" "30-90"
Option "CloneVRefresh" "50-160"
Option "DPMS"
EndSection

Section "Screen"
Identifier "Screen0"
Device "nvidia0"
Monitor "Monitor0"

Subsection "Display"
Depth 24
Modes "1600x1200" "1024x768" "800x600" "640x480"
EndSubsection
DefaultDepth 24
EndSection

Section "Screen"
Identifier "Screen1"
Device "nvidia1"
Monitor "Monitor1"

Subsection "Display"
Depth 24
Modes "1600x1200" "1024x768" "800x600" "640x480"
EndSubsection
DefaultDepth 24
EndSection

Section "ServerLayout"
Identifier "Layout1"
# Option "Xinerama" "on"
# Option "Clone" "on"
Screen 0 "Screen0"
# Screen 1 "Screen1" leftOf "Screen0"
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection

Command
Action
Comment
Lspci -vv
Lists PCI Bus items

Telinit 3
Boot to Shell
Kills GUI
Telinit 5
Start X GUI

Startx
Gui

emacs /etc/X11/XF86Config-4
To edit Xfree files
F10 for menu, F10, F, s, to save
XF86Config
From shell (no GUI) will do a configuration for you.

CTRL+ALT+DEL
Reboot

Reboot
Reboot

Poweroff
Shutdown

Login
Login

XFree86 -version
Xfree version
Only fro Shell (no GUI)
Lspci
List PCI Devices

More /proc/interrupts
Info on IRQ Interrupts

/var/log/XFree86.0.log
Log File


If the GUI refuses to start, Login as Root and execute emacs /etc/X11/XF86Config-4 and make some changes or use a back up and rename it this file.

Do not forget that Linux and these files in particular are Case Sensitive!

Try;

http://www.tuxmobile.org

Best of luck.

Prepared by Bill Rosoman
February 2004

Hosted by www.Geocities.ws

1