Dec 03, 2006
Slackware, nVidia, xorg
To get the most 3-D performance
when gaming under Slackware Linux, in my experience there are a
couple of things you can do.
One is to make sure your xorg.conf file avails all the necessary
screen resolutions & bit-depths to the system, the other is to
enable sidebanding & fast-writes.
Here's my
/etc/X11/xorg.conf file. Note that I have all the screen resolutions
for all the bit
depths. Many games default to 16 bitplanes of colour, so make sure you
include that colour depth at minimum.
cat /etc/X11/xorg.conf
****************************************************************************************
Section
"ServerLayout"
Identifier "XFree86 Configured"
Screen 0 "Screen0" 0 0
InputDevice "LogitechWirelessMouse" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath
"/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
EndSection
# If using the kernel's AGPGART, (inserted in rc.modules at boot)
# then enable DRI for everyone.
# If using nVidia's NvAGP instead, keep this section commented out.
#Section "DRI"
# mode 666
#EndSection
Section "Module"
Load "record"
Load "extmod"
Load "dbe"
# NVidia doesn't want DRI
# Load "dri"
Load "glx"
Load "xtrap"
Load "type1"
Load "speedo"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
EndSection
Section "InputDevice"
Identifier
"LogitechWirelessMouse"
Driver "mouse"
# Disable the auto-configured Protocol
#
Option "Protocol" "Auto"
# Enable the mouse wheele & middle button manually
Option "Protocol" "IMPS/2"
Option "Device" "/dev/mouse"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
Identifier
"NEC-FE991sb"
VendorName "NEC"
ModelName
"FE991sb"
HorizSync
30-96
VertRefresh 50-160
EndSection
Section "Device"
VideoRam
131072
# Nvidia Options Follow
# Use NvAGP instead of AGPGART
Option "NvAGP" "1"
Option "nologo" "false"
##
Option "DigitalVibrance" "1"
##
^^^ 0=off 3=max
##
Option
"cursorshadow" "true"
### Available Driver options
are:-
### Values: <i>:
integer, <f>: float, <bool>: "True"/"False",
### <string>:
"String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option
"SWcursor"
# [<bool>]
#Option
"HWcursor"
# [<bool>]
#Option
"NoAccel"
# [<bool>]
#Option
"ShowCache"
# [<bool>]
#Option
"ShadowFB"
# [<bool>]
#Option
"UseFBDev"
# [<bool>]
#Option
"Rotate"
# [<str>]
#Option
"VideoKey"
# <i>
#Option
"FlatPanel"
# [<bool>]
#Option
"FPDither"
# [<bool>]
#Option
"CrtcNumber"
# <i>
Identifier "GF4"
Driver "nvidia"
VendorName "nVidia
Corporation"
BoardName "NV25
[GeForce4 Ti 4200]"
BusID "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "GF4"
Monitor
"NEC-FE991sb"
# Always start the desktop in 24 bitplanes
DefaultDepth 24
SubSection "Display"
Depth 8
Modes "1600x1200" "1280x1024" "1152x864"
"1024x768" "800x600" "640x480" "320x240"
EndSubSection
SubSection "Display"
Depth 16
Modes "1600x1200" "1280x1024" "1152x864"
"1024x768" "800x600" "640x480" "320x240"
EndSubSection
SubSection "Display"
Depth 24
Modes "1600x1200" "1280x1024" "1152x864"
"1024x768" "800x600" "640x480" "320x240"
EndSubSection
SubSection "Display"
Depth 32
Modes "1600x1200" "1280x1024" "1152x864"
"1025x768" "800x600" "640x480" "320x240"
EndSubSection
EndSection
************************************************************************************************************
Mind your own hardware's resolution
limitations. If, for instance, your monitor or video card does not work
over 1024x768, omit the higher resolutions.
Sidebanding and Fast-Writes
nVidia's done a bang-up job with
their Linux modules. The standard installation works just fine, but if
your card-motherboard combination supports it, you can enable sideband
addressing & fast writes as well, for a nice performance kick.
These two options are disabled by default. To enable them, download the installer into a
temporary directory, then:
Run the installer so that it extracts the config files into the
temporary directory
NVIDIA-Linux-x86-1.0.9629-pkg1.run
--extract-only
Descend into the newly created directory
cd
./NVIDIA-Linux-x86-1.0.9629/usr/src/nv/
Then edit os-registry.c
, enabling the required variables:
NVreg_EnableAGPSBA=1
NVreg_EnableAGPFW=1
Now go back up to the top of the temporary directory and run
/NVIDIA-Linux-x86-1.0.9629/nvidia-installer
Your video card module will now have sidebanding and fast-writes
enabled. To confirm, download
& compile nvclock_gtk.
HTH, I am Dan