Advertisment

Multiple Monitors on One Machine

author-image
PCQ Bureau
New Update

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. 

Advertisment

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
Advertisment

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.













Advertisment

Screen 



Section “Screen”



Identifier “Screen0”


Device “Videocard0”


Monitor “Monitor0”


DefaultDepth 16


SubSection “Display”


Depth 16


Modes “800x600” “640x480”


EndSubSection


EndSection


Section “Screen”


Identifier “Screen1”


Device “Videocard1”


Monitor “Monitor1”


DefaultDepth 16


SubSection “Display”


Depth 16


Modes “1024x786” 


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

Advertisment