Dual Nvidia Card Troubles on Fedora
We have a nice Dell box with two fancy Nvidia graphics cards in. Scientific Linux 5.x (i.e., RHEL 5.x) detects the cards, nice GUI, fine. Fedora 11 get upset, won't give a GUI! Seems odd.
Install the Nvidia Nvidia Driver (Rather than the Xorg One)
Add the RPM Fusion repos:
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
Add some packages:
#### yum install xorg-x11-drv-nouveau
# ...the free driver...
yum install xorg-x11-xinit
yum install xorg-x11-fonts-75dpi
yum install xterm
yum install xorg-x11-fonts-misc
yum install kmod-nvidia xorg-x11-drv-nvidia-libs
yum install kmod-nvidia-PAE
Configure Nvidia Driver
livna-config-displaywhich generates an appropriate Xorg config file (/etc/X11/xorg.conf), at least it should do!
DRI-Related Errors
yum install mesa-dri-drivers
GLX-Related Errors
Use the Nvidia driver-specific libglx.so, not the one provided by Xorg:
cd /usr/lib/xorg/modules/extensions
mv libglx.so libglx.so___
ln -s nvidia/libglx.so libglx.so
More Weirdness
Some weird stuff, but the clue is in there:
The system logs include some disturbing looking NVRM messages however: NVRM: RmInitAdapter failed! (0x25:0xffffffff:1011) NVRM: rm_init_adapter(1) failed allocation failed: out of vmalloc space - use vmalloc=<size> to increase size. NVRM: RmInitAdapter failed! (0x25:0xffffffff:1011) NVRM: rm_init_adapter(1) failed allocation failed: out of vmalloc space - use vmalloc=<size> to increase size. NVRM: RmInitAdapter failed! (0x25:0xffffffff:1011) NVRM: rm_init_adapter(1) failed NVRM: RmInitAdapter failed! (0x25:0xffffffff:1011) NVRM: rm_init_adapter(1) failed NVRM: RmInitAdapter failed! (0x25:0xffffffff:1011) NVRM: rm_init_adapter(1) failedOut of VM. So add something to the each kernel line in the GRUB config to increase it:
/vmlinuz-2.6... root=/dev/s... ... ... ... vmalloc=256MB
No Screens Found
(II) Primary Device is:
(EE) No devices detected.
Fatal server error:
no screens found
The driver is getting confused over the two cards it finds on the PCI bus (see output from lspci to see what the driver sees). So specify the card to use in xorg.conf:
Section "Device"
Identifier "Videocard0"
BoardName "needname"
Driver "nvidia"
BusID "PCI:2:0:0"
EndSection
and we have our final working X11 config file.
It's odd that Scientific Linux does not require this.
Appendix A: xorg.conf from Scientific Linux
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder26) Thu Feb 14 18:13:41 PST 2008
# Xorg configuration created by pyxf86config
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "gb"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 30.0 - 110.0
VertRefresh 50.0 - 150.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Videocard0"
BoardName "needname"
Driver "nvidia"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Appendix B: xorg.conf from livna-config — not working!
# Xorg configuration created by livna-config-display
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
EndSection
Section "ServerFlags"
Option "AIGLX" "off"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# keyboard added by rhpxl
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "gb"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Videocard0"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "Videocard1"
Driver "nvidia"
BusID "PCI:2:0:0"
EndSection
Section "Screen"
Option "UseInt10Module" "on"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Extensions"
Option "Composite" "Disable"
EndSection
Appendix C: Final xorg.conf for Fedora — working!
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder26) Thu Feb 14 18:13:41 PST 2008
# Xorg configuration created by pyxf86config
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "gb"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 30.0 - 110.0
VertRefresh 50.0 - 150.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Videocard0"
BoardName "needname"
Driver "nvidia"
BusID "PCI:2:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection