Nvidia support
Bill Fink
yellowdog-general@lists.terrasoftsolutions.com
Wed May 15 23:47:01 2002
HOWTO For Setting Up Accelerated X using NVIDIA Graphics Cards on YDL
---------------------------------------------------------------------
1. Get a very recent Linux kernel. I recommend the 2.4.19-pre8-ben0
kernel.
2. Either make sure that the kernel is built *WITHOUT* CONFIG_FB_RIVA
support, or make sure that the "novideo" option is used in your
/etc/yaboot.conf file (which causes video=ofonly to be passed as a
boot argument to the kernel). This causes the console video system
to use the OpenFirmware video (OFFB).
3. Make sure you have a recent XFree86 4.2 suite of RPMs, such as
XFree86-4.2.0-0.6.24a (or more recent).
4. Initially, set the "initdefault" level in /etc/inittab to:
id:3:initdefault:
so that the system does not start a graphical login.
5. Login to the console as root, and run Xconfigurator, which will
generate an /etc/X11/XF86Config-4 file. Select the desired screen
resolution and color depth when you run Xconfigurator. Afterward,
edit the /etc/X11/XF86Config-4 file, and change the "Driver" entry
in the Section "Device" to "nv" (including the quote characters).
This is what activates the X acceleration. The accelerated "nv"
X driver can not currently coexist with the accelerated "riva"
console video driver, and that is why you must use the OpenFirmware
console video (which is not accelerated).
6. Test the accelerated "nv" X driver by running /etc/X11/X. If all
goes well, you should get a grey screen with an X mouse cursor which
you should be able to move around the screen. Switch back to virtual
terminal 1 by entering <Control-Alt-F1> and kill X by typing
<Control-C>.
7. If you've gotten this far, you now need to make sure that the system
doesn't mess with your /etc/X11/XF86Config-4 file. First, disable
Xautoconfig in all run levels by:
chkconfig --level 0123456 Xautoconfig off
8. Similarly, you need to comment out the following lines in the
/etc/rc.d/rc.sysinit file:
#if [ -x /usr/X11R6/bin/Xautoconfig4 ]; then
# OFFB=`cat /proc/fb |grep -i 'offb'`
# if [ ! -z "$OFFB" ]; then
# action "Configuring X11: " /usr/X11R6/bin/Xautoconfig4
# fi
#fi
Otherwise, since you will be using the OpenFirmware video (OFFB)
during booting, Xautoconfig4 would be run by the rc.sysinit script,
which would wipe out the /etc/X11/XF86Config-4 file you just created.
9. *DO NOT* run Xconfigurator a second time without rebooting your
system first. This is because a failed initial attempt may cause
problems with subsequent attempts, which might otherwise work fine.
So if you want to try a different screen resolution or color depth,
reboot the system first to get a clean system and X environment.
There is also a known nasty bug with the accelerated "nv" X driver,
that if you run the X server a second time, X will go into the weeds
and cause the system to hang.
10. If you want to have a graphical login, and since I believe there are
problems with the KDE Display Manager (kdm), I recommend running the
Gnome Display Manager (gdm), even if you are using KDE (this is what
I do). To accomplish this, just put the following single line in
your /etc/sysconfig/desktop file:
DESKTOP=GNOME
11. If you did the above, but you want a KDE desktop environment by
default, just do the following:
cd /etc/X11/gdm/Sessions
mv Default Default.orig
cp KDE Default
12. You can now change the "initdefault" level in /etc/inittab to:
id:5:initdefault:
so that the system comes up to runlevel 5, which will provide a
graphical X environment.
13. At this point, you should be able to reboot your system and get a
graphical login.
14. Because of the nasty accelerated "nv" X driver bug mentioned earlier,
*DO NOT* logout of your KDE, Gnome, or other X desktop environment.
Doing so will cause a new X server to be started, which will cause
X to go into the weeds and hang your system. Instead, either simply
lock your screen or reboot the system (with the reboot command of
course, which can be executed by a normal user).
I can only vouch for this procedure on the 867 MHz G4 with the
nVidia Corporation NV11 (GeForce2 MX) (rev 161) card, but it should
hopefully work equally well on other systems with NVIDIA cards. I
am using it quite successfully for basic accelerated X with a screen
resolution of 1152x864 and a color depth of 24 (millions of colors).
The only glitch I've noticed so far (other than the logout problem)
is when playing DVDs with xine the video is rather choppy but I haven't
had time to investigate that much yet. I also haven't tried 3D
acceleration yet (DRI) with the NVIDIA cards, since I haven't gotten
around to investigating if the "nv" X driver even supports 3D acceleration.
-Bill