by January 30, 2004 0 comments



Video-editing professionals usually require more than one monitor attached to one machine to view video across a larger screen. This can easily be done on Windows. Thankfully, it can also be done on Linux. We’ll talk about how you can attach two monitors to one machine on PCQLinux 8.0 and Fedora. 

What you need?
Other than two monitors, you also need two display cards on your machine. The Linux machine must be running at least XFree86 version 4 or higher. We used one s3-Trio PCI card and one AGP-card with VESA (generic) driver (detected by
linux).

Set Up On PCQLinux 8.0
New Linux versions such as Fedora come with a graphical tool to configure multiple monitors. But, PCQLinux 8 and others of its time have no tools (graphical or text based) for it. So, to set up multiple monitors on PCQLinux 8, you have to do so manually. 

The modified redhat-config-xfree86, which has an
option for configuring dual monitors

First, if your existing display is an AGP card, you need to add another card to your machine. But first, enter the following command. 

#redhat-config-xfree86 —-reconfig

This will configure the card and the monitor and save the settings to the XFree86 configuration file, /etc/X11/XF86Config. Save this file to another location with a different name as shown below.

#cp /etc/X11/XF86Config ~/XF86Config.agp

Now, shut down your machine, pull out the AGP card and put in the PCI display card and connect the second monitor to it. Repeat the above steps and save the configuration file with a different name, say ~/XF86Config.pci. Now open a file called /etc/inittab and change the value of 5 to 3 in a line which looks as below.

Id:5:initdefault

This will boot your machine in text mode from now on. Shut down the machine, put both cards into it and connect both monitors to it. When the machine boots in text mode, open the original file of XF86Config using any text editor and delete the Video card, Monitor and Screen sections from it. Now open both XF86Config files that you renamed and copy the above mentioned three sections from them to the original XF86Config file. So, now you should have a double entry for these three sections. You’ll now need to go to each section and make a few changes as follows. 

Monitor 
Section “Monitor”
Identifier “Monitor0”
VendorName “Monitor Vendor”
ModelName “Samsung Samtron 55v”
DisplaySize 280 210
HorizSync 30.0 – 55.0
VertRefresh 50.0 – 120.0
Option “dpms”
EndSection
Section “Monitor”
Identifier “Monitor1”
VendorName “Monitor Vendor”
ModelName “Samsung SyncMaster”
HorizSync 30.0 – 85.0
VertRefresh 50.0 – 160.0
Option “dpms”
EndSection

In the above script you will notice that you have to change only the value of the Identifier variable, so that the system can recognize the difference between the two monitors. All other settings remain the same. 

Video card 
Section “Device”
Identifier “Videocard0”
Driver “s3”
VendorName “Videocard vendor”
BoardName “S3 Trio64 (generic)”
BusID “PCI:2:11:0”
EndSection
Section “Device”
Identifier “Videocard1”
Driver “vesa”
VendorName “VESA driver”
BoardName “VESA driver”
BusID “PCI:1:0:0”
EndSection

Here, the Identifier variable is changed along with the addition of a new variable, BusID. The value for this variable can be found in the /proc/pci file. PCI:1:0:0 stands for Bus 1, device 0 and function 0 in the /proc/pci file. You have to find the appropriate entry for these devices manually and add them here.

Screen 
Section “Screen”
Identifier “Screen0”
Device “Videocard0”
Monitor “Monitor0”
DefaultDepth 16
SubSection “Display”
Depth 16
Modes “800×600” “640×480”
EndSubSection
EndSection
Section “Screen”
Identifier “Screen1”
Device “Videocard1”
Monitor “Monitor1”
DefaultDepth 16
SubSection “Display”
Depth 16
Modes “1024×786” 
EndSubSection
EndSection

This section will identify which screen has which device and monitor. Here again, only the Identifier variable has to be changed.

Logout
Finally, you have to configure the screen layout, ie, define which monitor will be placed where. You will also have to activate the Xinerama plug-in, which will stretch the screen across two desktops. A simple layout section in this case will look as shown below. 

Section “ServerLayout”
Identifier “Multihead layout”
Screen “Screen0” LeftOf “Screen1”
Screen “Screen1” 
InputDevice “Mouse0” “CorePointer”
InputDevice “Keyboard0” “CoreKeyboard”
InputDevice “DevInputMice” “AlwaysCore”
Option “Xinerama” “on”
Option “Clone” “off”
EndSection

As you can see here, Screen0 is set to be displayed at the left of the Screen1. You can always change the LeftOf keyword to RightOf or Below. Finally, set the Xinerama option to On and the Clone option to Off and save and exit the file. Now, again replace the 3 with 5 in the /etc/inittab file and restart your machine. If everything worked fine you will be presented with a stretched display of your desktop across both monitor.

Set Up on Fedora
Fedora provides a feature in redhat-config-xfree86 that has a tab called Dual Head. From here you have to select the second display card and the second monitor. Then select the Display Layout option as Spanning Desktops and you will be done. 
But, this tool is new and only works if the exact driver for the video card and monitor is present in Linux. In our case, this tool recognized the Vesa (generic) card only as a generic card, so we had to configure it from the config file manually to make it run.

Anindya Roy

No Comments so far

Jump into a conversation

No Comments Yet!

You can be the one to start a conversation.

<