One Unified Global Perspective
Communications with a Global Perspective
Home
Intro
Contact Us
Voice over IP
PBX Solutions
Services
Support
Glossary
Open Source
Blog
Forum

WebMail





2008 Oct 27 - Mon

NVidia/FX1700 on HP xw8600 with Debian/AMD64 Lenny

I recently obtained an HP xw8600 workstation with an E5420 series processor and two NVidia FX1700 dual head DVI video cards. This provides the ability for four monitors, which in this case, are four HP LP2065 1600x1200 pixel 20" LCD monitors.

Getting these monitors to work together in XP was easy.

To do the same in Debian/Linux was, well, less easy. There was much trial and error. I think Gnome and KDE interact with the drivers differently. I think KDE has more flexibility, but ultimately I was able to get the driver/monitor combination working independently of which GUI solution I was using.

The fly in the ointment is that I want my monitors in portrait mode, rather than landscape mode. It was difficult figuring out if I needed Xinerama or xrandr to the job. More on this further down.

There are two basic steps to my installation: get the NVidia drivers installed, then get everything configured.

I used the current Lenny beta of Debian/AMD64 Net Installation (AMD64 is another misnomer, one needs the AMD64 version to run the Intel64 version, wouldn't there be a better name for this?) to get the operating system and graphics installed. I then went to Debian Wiki NvidiaGraphicsDrivers for inspiration on how to get the drivers installed. I would recommend not going there. The decision tree and instruction sets are not very well designed.

Instead, go to Pendrivelinux. The instructions are dead simple and accurate. The only change is that I downloaded the more recent 64 bit NVidia driver: NVidia NVIDIA-Linux-x86_64-177.80-pkg2.run.

Knowing about "apt-get install build-essential linux-headers-$(uname -r)" is good for installing a minimal build system after getting a minimal operating system installed.

Something else good to know is the ctl-alt-backspace to exit the GUI to a command line. All except gdm wants to start back up again. The solution for that is to open a terminal window, do a "ps aux | grep gdm" and then kill the process.

The hard part was getting the driver configured with portrait mode monitors. For configuration, the tool at Applications-> System Tools -> NVIDIA X Server Settings can be used. I had to resort to a few minor manual edits of /etc/X11/xorg.conf to make things work. In any case, some documentation stated that Xinerama wouldn't work for rotated monitors, and that I should use xrandr. In my case, the opposite is true. xrandr doesn't work, and Xinerama does work with a couple of manual xorg.conf tweaks.

When testing, a useful console command to start the GUI is: startx -- -layout Layout0

Here is my final xorg.conf file:

Section "ServerLayout"
    Identifier     "Layout0"
# a little out of order, but that is the order in which I plugged them
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" 2400 0
    Screen      2  "Screen2" 1200 0
    Screen      3  "Screen3" 3600 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "1"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "HP LP2065"
    HorizSync       30.0 - 92.0
    VertRefresh     48.0 - 85.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor3"
    VendorName     "Unknown"
    ModelName      "HP LP2065"
    HorizSync       30.0 - 92.0
    VertRefresh     48.0 - 85.0
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "HP LP2065"
    HorizSync       30.0 - 92.0
    VertRefresh     48.0 - 85.0
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Unknown"
    ModelName      "HP LP2065"
    HorizSync       30.0 - 92.0
    VertRefresh     48.0 - 85.0
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro FX 1700"
    BusID          "PCI:96:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro FX 1700"
    BusID          "PCI:96:0:0"
    Screen          1
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro FX 1700"
    BusID          "PCI:128:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device3"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro FX 1700"
    BusID          "PCI:128:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
#    Option         "RandRRotation" "on"
#    Option         "Rotate" "right"
    Option         "Rotate" "CW"
    Option         "TwinView" "0"
    Option         "TwinViewXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DFP-0: 1600x1200 +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: 1440x900 
+0+0; DFP-0: 1400x1050 +0+0; DFP-0: 1400x1050_70 +
0+0; DFP-0: 1400x1050_60 +0+0; DFP-0: 1280x1024 +0+0; DFP-0: 1280x1024_75 +0+0; DFP-0: 1280x1024_60 +0+0; 
DFP-0: 1280x960 +0+0; DFP-0: 1280x960_60 +0+0;
DFP-0: 1280x800 +0+0; DFP-0: 1280x768 +0+0; DFP-0: 1152x864 +0+0; DFP-0: 1152x864_75 +0+0; DFP-0: 1152x768 
+0+0; DFP-0: 1024x768 +0+0; DFP-0: 1024x768_75
 +0+0; DFP-0: 1024x768_70 +0+0; DFP-0: 1024x768_60 +0+0; DFP-0: 960x720 +0+0; DFP-0: 960x600 +0+0; DFP-0: 
960x600d60 +0+0; DFP-0: 928x696 +0+0; DFP-0: 89
6x672 +0+0; DFP-0: 840x525 +0+0; DFP-0: 832x624 +0+0; DFP-0: 800x600 +0+0; DFP-0: 800x600_85_0 +0+0; 
DFP-0: 800x600_75 +0+0; DFP-0: 800x600_72 +0+0; DFP-
0: 800x600_60 +0+0; DFP-0: 800x600_56 +0+0; DFP-0: 800x600d70 +0+0; DFP-0: 800x600d65 +0+0; DFP-0: 
800x600d60 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen3"
    Device         "Device3"
    Monitor        "Monitor3"
    DefaultDepth    24
#    Option         "RandRRotation" "on"
#    Option         "Rotate" "right"
    Option         "Rotate" "CW"
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-1: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device2"
    Monitor        "Monitor1"
    DefaultDepth    24
#    Option         "RandRRotation" "on"
#    Option         "Rotate" "right"
    Option         "Rotate" "CW"
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-0: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device1"
    Monitor        "Monitor2"
    DefaultDepth    24
#    Option         "RandRRotation" "on"
#    Option         "Rotate" "right"
    Option         "Rotate" "CW"
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-1: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
 



Blog Content ©2012
Ray Burkholder
All Rights Reserved
ray@oneunified.net
(441) 500-7292
Available for Contract Work
Resume

RSS: Click to see the XML version of this web page.

twitter
View Ray 
Burkholder's profile on LinkedIn
technorati
Add to Technorati Favorites



October
Su Mo Tu We Th Fr Sa
     
27  


Main Links:
Monitoring Server
SSH Tools
QuantDeveloper Code

Special Links:
Frink

Blog Links:
Sergey Solyanik
Marc Andreessen
HotGigs
Micro Persuasion
... Reasonable ...
Chris Donnan
BeyondVC
lifehacker
Trader Mike
Ticker Sense
HeadRush
TraderFeed
Stock Bandit
The Daily WTF
Guy Kawaski
J. Brant Arseneau
Steve Pavlina
Matt Cutts
Kevin Scaldeferri
Joel On Software
Quant Recruiter
Blosxom User Group
Wesner Moise
Julian Dunn
Steve Yegge
Max Dama

2008
Months
Oct




Mason HQ

Disclaimer: This site may include market analysis. All ideas, opinions, and/or forecasts, expressed or implied herein, are for informational purposes only and should not be construed as a recommendation to invest, trade, and/or speculate in the markets. Any investments, trades, and/or speculations made in light of the ideas, opinions, and/or forecasts, expressed or implied herein, are committed at your own risk, financial or otherwise.