December 13th, 2001, 06:37 PM
Dual-head (Dream come true)
Configuring Red Hat Linux 7.1 for use with two video cards: Configuring and Enabling 'xinerama'.
This was tested on a Dell Precision 410, although hardware may differ the configuration is very similar. Furthermore, this is not know to work on certain compaq workstations such as the EP.
REMINDER: Using a Matrox G450 under RH 7.1, the G450's dual-head operation is no permitted by use with X.
XINERAMA: The Xinerama extensions were introduced to the XFree86 system in version 4.0. Xinerama is an extension to XFree86 Release 6 Version 4.0 (X4.0) which allows applications and window managers to use the two (or more) physical displays as one large virtual display.
„h Display Equipment: Refresh rate, horizontal and vertical sync of all units.
„h Video Card: Video ram size in Megs (2, 4, 16, 24, and 32).
„h Desired Color Depth: The color depth desired is a function of the video ram, display equipment and resolution. The color depth must be the same for both monitors.
„h Two supported video cards that have been pre-installed.
„h Video card drivers (These rpms can be found on Red Hat 7.1 install CD 2).
„h BusID of video cards, this may be obtained by issuing the following command from a terminal window.
The output is all the available PCI/AGP devices and their corresponding BusID. Such as:
00 : 01 : 00 PCI bridge: Intel Corporation 44OBX/ZX
NOTE: The second field may be in hex.
Be sure to note the BusID of both video cards located on your system.
„h Be sure that you have the xf86-xf86cfg-4.0.3-5 package installed on your system, this configuration tool will be needed in order to properly complete your dual video setup. The required RPM can be found on the Red Hat 7.1 Install CD 2.
Step 1. Examining xf86cfg
Upon rebooting the system (if system was not already up), bring up a terminal window. At the terminal prompt type.
/usr/bin/X11/xf86cfg or just xf86cfg <enter>
NOTE: THIS WILL NOT WORK IF THE
xf86-xf86cfg-4.0.3-5 PACKAGE IS
NOT INSTALLED ON THE NODE.
At this point there should be an xf86cfg GUI presented on the screen. The GUI should consist of four icon buttons; mouse, keyboard, video card and monitor respectively, above these icons should also be two other buttons, one being ¡§Configure Layout¡¨ and the other containing the text ¡§Expert Mode¡¨. Also a layout of your hardware should be presented graphically (i.e. mouse, keyboard, etc¡K).
Step 2. Adding your new items
First click the ¡§video card¡¨ button, by doing this a new video card should be presented in the GUI layout, you can drag this new video card to anywhere on the GUI to limit confusion. Next click on the ¡§monitor¡¨ button, by doing this a new monitor should be presented directly on top of the previous monitor, simply drag it from the top of the current monitor to a easily distinguished area in the GUI.
Step 3. Configuring the new video card and display device
With the xf86cfg GUI still present and your newly added components in place proceed by right clicking the newly added card, a side menu should appear, select ¡¥configure¡¦, and you will be presented with a new window titled ¡¥¡¨config¡¨. Scroll down the list until you find the specific card, once the card is found, click it and the computer should automatically fill in the ¡§Card Model Filter¡¨ and ¡§Driver¡¨. With the ¡§config¡¨ window still open, look to the lower part of the window where is says BusID, in the text box enter the BusID for this card, proceed this number with ¡§PCI:¡¨ it should look something similar to the following:
BusID PCI: 0 : 14 : 0
Once the BusID is completed continue by closing the ¡§config¡¨ window at which point the ¡§xf86cfg¡¨ window should now be in view.
Click the ¡§Expert Mode¡¨ button. Once clicked the screen should present a new window titled ¡§Expert¡¨, within this new window is a tree like structure consisting of all the components dealing with your X interface. Begin by clicking the ¡§Device¡¨ box, upon clicking this item a new branch will stem consisting of the numerous video cards located on the system, furthermore each attribute for the cards will be listed in a textbox like fashion (Such as ¡§vendorName, BoardName, VideoRam, etc¡K). The most important attributes within this structure for each card are as follows:
„h BusID -This is where the BusID of the selected card is placed to distinguish the card¡¦s position in this box.
„h Driver ¡VThis is the box in which the specific driver to use for this specific video card is placed.
„h VideoRam ¡VThis is where the computer wants the user to specify the exact memory in bytes to be used with this card. This integer can be obtained by multiplying the video cards memory by 1024.
„X 2 meg memory is 2048
„X 4 meg memory is 4096
„X 8 meg memory is 8192
„X 16 meg memory is 16384
„X 24 meg memory is 24576
„X 32 meg memory is 32768
„h Chipset ¡VThis is used to identify the chipset used with this specific card, usually this is either unneeded or completed automatically by the computer.
„h Card- This is the basic name identifier for the specific card (Such as ¡§Matrox G400¡¨)
IMPORTANT: Be sure that all of the above fields except perhaps ¡§Card¡¨ and ¡§Chipset¡¨ are filled in before proceeding. Fill in fields as necessary.
After all information seems to be completed, exit the ¡¥Device¡¦ section by re-clicking the ¡¥Device¡¦ box. The tree like structure should then be presented as it first was. Next click ¡¥ServerFlags¡¦, once clicked an options window will appear, within this window is a text-box titled ¡§Option¡¨, within this text-box type xinerama then click the add button. The word ¡¥xinerama¡¦ should now be presented in the lower box. Finish by closing this options window.
Now exit ¡§Expert¡¨ by clicking the ¡¥X¡¦ in the top right corner. The ¡¥xf86cfg¡¦ window should now again be presented.
Next, right click on the newly created monitor in the same fashion in which was used with the new video card, select ¡¥configure¡¦. The computer should yield a ¡¥config¡¦ window, within this new window are options such as ¡§identifier¡¨, ¡§Horizontal sync¡¨ , ¡§Vertical sync¡¨ and an excerpt containing the text ¡§Select card connected to monitor¡¨. Also there should be a list of available resolutions and frequencies pertaining to this monitor. Within this list be sure to scroll through and select the appropriate setting for the monitor. Furthermore fill in (if not already done) the Horizontal and Vertical sync for this display device. As well as selecting from the drop down menu the card in which corresponds to this additional display device. The identifier field may be left as default or a name may be chosen for distinction purposes. Once complete close the ¡¥config¡¦ window by clicking the ¡¥X¡¦ in the top right corner. The ¡¥xf86cfg¡¦ screen should now be present.
WARNING: It is possible to damage a display device if an incorrect resolutions is used!
Step 4 Configuring the screen
Click the ¡§Configure Layout¡¨ button and select ¡§Configure Screen¡¨. The present window should switch to show two monitors side-by-side, if the monitors are not side by side drag the newly added monitor to the right of the default monitor. Next, right click the left monitor and chose ¡¥configure¡¦, a new window should be presented with a title of ¡¥config¡¦, the only things to worry about in here are the Default color depth and the screen resolution(s). Select the default color depth by simply clicking on your monitors depth number, a highlighted box will indicate your selection. Then choose the monitor resolution(s) by highlighting the specific resolution to the left and clicking the „³ to add it to the right box. Any resolution(s) in the right box will be used as your default, so get rid of any unneeded integers by reversing the left to right box method. Once the left monitor is configured, repeat the prior steps to configure the right side of the screen. After all information is as needed, close out this ¡¥config¡¦ window by clicking the ¡¥X¡¦ in the top right corner, only to be presented again with the two monitors side-by-side. Click the ¡§Configure Screen¡¨ button again and select ¡§Configure Layout¡¨, the first window in which was seen with the xf86cfg tool should now be presented again. Right click on each device in the current GUI and be sure that they are all ¡¥enabled¡¦. Once complete; close the window by right-clicking the ¡¥X¡¦ in the top right corner. The computer will generate a box asking if you would like to write changes to /etc/X11/XF86Config-4, click yes.
NOTE: Resolutions may differ from each display device.
Step 5. Enabling ¡§Xinerama¡¨ by configuring ¡¥gdm.conf¡¦
Within the ¡¥/etc/X11/gdm¡¦ directory resides the ¡¥gdm.conf¡¦ file. This file will be needed to initialize ¡§Xinerama¡¨ during startup. Bring up the ¡¥gdm.conf¡¦ file within a text editor (vi, gedit, etc) continue to the bottom of the document until presented with the ¡¥ [servers]¡¦ section. Under this section be sure to either add or uncomment the following line;
After adding or uncommenting the above line save ¡¥gdm.conf¡¦, exit the editor and reboot the system.
It is possible to have each physical screen in your Xinerama setup to have a different resolution. There are some advantages to this, I was able to use an old monitor which only operates at 640x480, and a bigger 17" at 1280x1024 in my setup. I have also heard of web developers and graphics designed who use one big "preview" screen and flank it with one or two smaller screens. I think this flexibility is one of the great things about the Xinerama extensions.
There are several UI issues which are specific to Xinerama with most current generation window managers (see the section on Window Managers ) do not address well. The most anoying is the poor handling of dead areas.
Window managers assume the display area is a rectangle equal in size to the height and width of your total desktop. If you use more than one display resolution in a Xinerama setup your desktop will be non-rectangular. This results in "dead areas", areas which do not exist on your display, but window manager interpret as "Empty". Many window managers will try to utilize this dead area for new windows. The result is windows which are inaccessable. As window managers become Xinerama aware and this problem will go away quickly.
Unlike with screen resolution, Xinerama limits your entire virtual screen to one color depth. If you were planning on pulling out a cheap video card for your second display you need to keep this in mind. If your old video card only supports 8 bit color you might get a bigger display but most newer programs look lousy in 256 colors.
Red Hat Linux 7.1