Expensive Toys and nVidia Xinerama HOWTO
As you might have noticed grebbehout.wasda.nl is online. It’s our new SunFire X2100 system for us to play around with. Most of our sites have been moved to our new machine and are running smoothly again. Out old host, computrade.nl, is still degrading. It’s starting to drop mail for no reason, drop MySQL connections, skip cron jobs and more weird stuff. The thing is dying. Even this blogservice is hosted on grebbehout right now. As a matter of fact, almost all the sites hosted on computrade.nl are being moved to other locations or plans are ready to do so. The funny part is the admin doesn’t even know most of his customers are leaving the server. What could you expect? The server is running very outdated software, is down at least once a week and fails to do it’s job properly. The admin doesn’t even send bills once in a while so we can’t even pay for the damn hosting. Oh well, now I’m waiting for our ISP to transfer DNS to our new location to move my employer’s webshop away from that unstable wreck. If you are interested in our new server you can visit the website (Dutch) and check out the rig.
This server was pretty expensive, especially all the extras we had to buy to make this thing work. I’ve been playing with alot of expensive toys lately. I’ve rebuilt the entire JRRZZ.net local network. I’ve replaced the switches, routers and wireless access point with brand new (Linux based) Linksys hardware. UDP should be handled ok now and the whole lot should feel a little more responsive. The only component that didn’t need replacing is panzertux, my trusty old gateway server. The latest toy I’ve bought is a Xinerama LCD setup for my main Athlon64 X2 machine. Two Samsung SyncMaster 930BF screens to be exact. The following is a short howto to get X.org and nVidia to work with Xinerama (two screens become one).
nVidia Xinerama HOWTO
For you who have used the nVidia drivers in a windows environment you might know TwinView. nVidia has ported TwinView to it’s X driver. You can use TwinView by editing your xorg.conf but I really don’t recommend the use of TwinView. Mainly because it’s not Xinerama but a simplified version of it. How to do it the right way? It’s really simple. All the stuff down here has to be done in your xorg.conf file.
First, enable Xinerama.
Section “ServerFlags”
Option “Xinerama” “true”
EndSection
Second, define 2 graphic cards. If you have a dual head card, like me, you have to specify the same card twice. This is a PCI-Express card and address 01:00.0, twice. Check lspci for your card’s location(s). The Screen directive is the key here.
Section “Device”
Identifier “NVIDIA Corporation 7800GTX [1]”
Driver “nvidia”
BusID “PCI:1:0:0″
Option “RenderAccel” “true”
Screen 0
EndSectionSection “Device”
Identifier “NVIDIA Corporation 7800GTX [2]”
Driver “nvidia”
BusID “PCI:1:0:0″
Option “RenderAccel” “true”
Screen 1
EndSection
Third, define your monitors you are going to use. Almost all the new monitors have Edid so you usually don’t need to specify the HorizRefresh and VertSync values. Here are mine:
Section “Monitor”
Identifier “Samsung SyncMaster 930BF [1]”
Option “DPMS”
Option “UseEdidFreqs” “true”
EndSectionSection “Monitor”
Identifier “Samsung SyncMaster 930BF [2]”
Option “DPMS”
Option “UseEdidFreqs” “true”
EndSection
Fourth, make screens out of your monitors and cards like this. Alter the resolutions and color depths according to your monitor specifications.
Section “Screen”
Identifier “Left Screen”
Device “NVIDIA Corporation 7800GTX [1]”
Monitor “Samsung SyncMaster 930BF [1]”
DefaultDepth 24
SubSection “Display”
Depth 1
Modes “1280×1024″ “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 4
Modes “1280×1024″ “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 8
Modes “1280×1024″ “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 15
Modes “1280×1024″ “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 16
Modes “1280×1024″ “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 24
Modes “1280×1024″ “1024×768″ “800×600″ “640×480″
EndSubSection
EndSectionSection “Screen”
Identifier “Right Screen”
Device “NVIDIA Corporation 7800GTX [2]”
Monitor “Samsung SyncMaster 930BF [2]”
DefaultDepth 24
SubSection “Display”
Depth 1
Modes “1280×1024″ “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 4
Modes “1280×1024″ “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 8
Modes “1280×1024″ “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 15
Modes “1280×1024″ “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 16
Modes “1280×1024″ “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 24
Modes “1280×1024″ “1024×768″ “800×600″ “640×480″
EndSubSection
EndSection
Finally, we can make the entire server layout. This is pretty simple. We are basically telling the server where the screens should go to make your entire desktop. As you can see it’s very logical and you can add as many screens as you like. Imagine desktops as wide as 5 screens.
Section “ServerLayout”
Identifier “Default Layout”
Screen 0 “Left Screen” 0 0
Screen 1 “Right Screen” RightOf “Left Screen”
InputDevice “Generic Keyboard”
InputDevice “Configured Mouse”
EndSection
Now, save your xorg.conf file and restart X (usually by restarting your display manager).
I’m sorry the indentation has been lost because of the wordpress editor but you can download my xorg.conf file here. I recommend Openbox as your window manager. It’s fully Xinerama-aware and is a joy to configure. Here’s my desktop right now.
Discussion Area - Leave a Comment