HOWTO:Nvidia AGP FastWrites and Side Band Addressing
Introduction
This guide is largely inspired to a wonderful guide of the Gentoo Forums (and wiki) ( and I would really thank the user elboricua who wrote the original guide. Unfortunately Gentoo and Ubuntu do not share the same configuration files therefore I couldn't port the entire guide to Ubuntu.
You can find the original guide for Gentoo here:
Nvidia Driver AGP FastWrites and Side Band Addressing
The purpose of this guide is to give you a performance boost which could help you in 3d applications such as videogames.
Requirements
By default the nvidia drivers do not enable AGP FastWrites or Side Band Addressing. This tip is a quick and easy way to turn it on. To enable fastwrite you must have a motherboard that supports it, and have it turned on in the BIOS. Most AMD boards have fastwrite capability. I am not sure about Pentium based boards.
You need a kernel compiled with support for agpgart (you can find it under the section Character Devices). The kernels that come with Ubuntu by default support agpgart.
You need to have the Nvidia Drivers enabled and working. If you haven't installed the driver yet you can follow my guide on:
HOWTO: Latest NVIDIA drivers
NOTE: This tip requires a reboot.
NOTE: Fast Writes and SBA might make your computer freeze if they are not supported therefore you should use them at your own risk.
Check to see if the FastWrites and SBA is enabled or disabled
Code:
cat /proc/driver/nvidia/agp/status
Code:
Status: Enabled
Driver: AGPGART
AGP Rate: 4x
Fast Writes: Disabled
SBA: Disabled
Test the fps you can get with your current setup
Open Terminal or Konsole and type:
You will get something like this:
Code:
~$ glxgears -printfps
6073 frames in 5.0 seconds = 1214.530 FPS
6723 frames in 5.0 seconds = 1344.542 FPS
6724 frames in 5.0 seconds = 1344.704 FPS
6725 frames in 5.0 seconds = 1344.805 FPS
6724 frames in 5.0 seconds = 1344.699 FPS
6724 frames in 5.0 seconds = 1344.657 FPS
6727 frames in 5.0 seconds = 1345.201 FPS
6724 frames in 5.0 seconds = 1344.708 FPS
6724 frames in 5.0 seconds = 1344.774 FPS
6719 frames in 5.0 seconds = 1343.688 FPS
6627 frames in 5.0 seconds = 1317.529 FPS
NOTE: you can press CTRL+C in the command line to stop the process
Save the output somewhere so that you can see if you get an fps boost after enabling Fast Writes and SBA.
Enable Fast Writes and SBA
Open Terminal or Konsole and type:
Code:
sudo gedit /etc/modprobe.d/nvidia-kernel-nkc
OR (if you use KDE)
Code:
kdesu kedit /etc/modprobe.d/nvidia-kernel-nkc
OR
Code:
sudo nano /etc/modprobe.d/nvidia-kernel-nkc
You should see a line like the following:
Code:
alias char-major-195* nvidia
If so, add the following line at the end of the file
Code:
options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1
so that it will look like this:
Code:
alias char-major-195* nvidia
options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1
Save the file and exit.
NOTE: Otherwise if the file is blank:
exit from the text editor and make a new file in the following way:
Code:
sudo nano /etc/modprobe.d/nvidia
make the content look like this
Code:
alias char-major-195* nvidia
options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1
Restart your computer.
Check that it works
Type:
Code:
cat /proc/driver/nvidia/agp/status
If you get something like this then it works
Code:
Status: Enabled
Driver: AGPGART
AGP Rate: 4x
Fast Writes: Enabled
SBA: Enabled
Test the fps you can get with your current setup
Open Terminal or Konsole and type:
It is likely that the number of fps has increased. Nonetheless you shouldn't rely only on glxgears and you should see if you have a performance boost while using games (or other 3d applications)
If you want to disable Fast Writes and SBA
Open Terminal or Konsole and type:
Code:
sudo gedit /etc/modprobe.d/nvidia-kernel-nkc
OR (if you use KDE)
Code:
kdesu kedit /etc/modprobe.d/nvidia-kernel-nkc
OR
Code:
sudo nano /etc/modprobe.d/nvidia-kernel-nkc
Remove the following line:
Code:
options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1
Save the file and exit.
Restart your computer.
Re: HOWTO:Nvidia AGP FastWrites and Side Band Addressing
Thx for the HowTo, works flawless.
But (there's always a "but", isn't it? ;)): it doesn't seem to give a performance-boost to enable "FastWrites" (SBA was already enabled by default) on my system (AthlonXP 2800, Gforce 6600GT) - glxgears gave me nearly the same results as before.
Re: HOWTO:Nvidia AGP FastWrites and Side Band Addressing
Quote:
Originally Posted by donar73
Thx for the HowTo, works flawless.
But (there's always a "but", isn't it? ;)): it doesn't seem to give a performance-boost to enable "FastWrites" (SBA was already enabled by default) on my system (AthlonXP 2800, Gforce 6600GT) - glxgears gave me nearly the same results as before.
Sometimes it helps, sometimes not (it can depend on your card and mobo). Nonetheless you should try a 3d game and see how it goes.
Re: HOWTO:Nvidia AGP FastWrites and Side Band Addressing
It's a bit odd but I don't have any nvidia-kernel-nkc. But I solved it by adding "nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1" in /etc/modules instead. In case someone else are in the same situation.
Re: HOWTO:Nvidia AGP FastWrites and Side Band Addressing
heh got ~300fps more after that
thansk for how to
Re: HOWTO:Nvidia AGP FastWrites and Side Band Addressing
Quote:
Originally Posted by Rizado
It's a bit odd but I don't have any nvidia-kernel-nkc. But I solved it by adding "nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1" in /etc/modules instead. In case someone else are in the same situation.
Which Method did you use to install the Nvidia driver?
Re: HOWTO:Nvidia AGP FastWrites and Side Band Addressing
Code:
cat /proc/driver/nvidia/agp/status
Status: Disabled
AGP initialization failed, please check the ouput
of the 'dmesg' command and/or your system log file
for additional information on this problem.
dmesg |grep -i agp
[4294695.587000] Linux agpgart interface v0.101 (c) Dave Jones
[4294695.589000] agpgart: Detected ALi M1671 chipset
[4294695.600000] agpgart: AGP aperture is 128M @ 0xf0000000
[4294734.179000] NVRM: not using NVAGP, an AGPGART backend is loaded!
[4294734.969000] NVRM: not using NVAGP, an AGPGART backend is loaded!
That's all the info from dmesg regarding AGP stuff. What is the problem?
Re: HOWTO:Nvidia AGP FastWrites and Side Band Addressing
Quote:
Originally Posted by i3dmaster
Code:
cat /proc/driver/nvidia/agp/status
Status: Disabled
AGP initialization failed, please check the ouput
of the 'dmesg' command and/or your system log file
for additional information on this problem.
dmesg |grep -i agp
[4294695.587000] Linux agpgart interface v0.101 (c) Dave Jones
[4294695.589000] agpgart: Detected ALi M1671 chipset
[4294695.600000] agpgart: AGP aperture is 128M @ 0xf0000000
[4294734.179000] NVRM: not using NVAGP, an AGPGART backend is loaded!
[4294734.969000] NVRM: not using NVAGP, an AGPGART backend is loaded!
That's all the info from dmesg regarding AGP stuff. What is the problem?
Can you post the content of your /etc/X11/xorg.conf ?
Re: HOWTO:Nvidia AGP FastWrites and Side Band Addressing
Here we go...
Code:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder3) Wed Dec 14 16:39:22 PST 2005
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands:
#
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom
# sudo sh -c 'md5sum /etc/X11/xorg.conf >/var/lib/xfree86/xorg.conf.md5sum'
# sudo dpkg-reconfigure xserver-xorg
#Section "InputDevice"
# Identifier "Synaptics Touchpad"
# Driver "synaptics"
# Option "SendCoreEvents" "true"
# Option "Device" "/dev/psaux"
# Option "Protocol" "auto-dev"
# Option "HorizScrollDelta" "0"
#EndSection
Section "ServerLayout"
# InputDevice "Synaptics Touchpad"
Identifier "Default Layout"
Screen "Default Screen" 0 0
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
Section "Files"
# FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
# paths to defoma fonts
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection
Section "Module"
Load "bitmap"
Load "dbe"
# Load "ddc"
Load "extmod"
Load "v4l"
# Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "type1"
Load "vbe"
Load "xtt"
Load "dri"
Load "i2c"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
HorizSync 30.0 - 107.0
VertRefresh 50.0 - 185.0
ModeLine "1280x854" 85.3 1280 1296 1552 1792 854 854 861 892
Option "DPMS"
EndSection
Section "Device"
Identifier "NVIDIA Corporation NV17 [GeForce4 420 Go 32M]"
Driver "nvidia"
Option "NvAGP" "1"
Option "NoLogo" "true"
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
Option "CursorShadow" "1"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "NVIDIA Corporation NV17 [GeForce4 420 Go 32M]"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1280x854"
EndSubSection
SubSection "Display"
Depth 4
Modes "1280x854"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x854"
EndSubSection
SubSection "Display"
Depth 15
Modes "1280x854"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x854"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x854"
EndSubSection
EndSection
#Section "Extensions"
# Option "Composite" "Enable"
#EndSection
Re: HOWTO:Nvidia AGP FastWrites and Side Band Addressing
Quote:
Originally Posted by i3dmaster
Here we go...
Code:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder3) Wed Dec 14 16:39:22 PST 2005
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands:
#
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom
# sudo sh -c 'md5sum /etc/X11/xorg.conf >/var/lib/xfree86/xorg.conf.md5sum'
# sudo dpkg-reconfigure xserver-xorg
#Section "InputDevice"
# Identifier "Synaptics Touchpad"
# Driver "synaptics"
# Option "SendCoreEvents" "true"
# Option "Device" "/dev/psaux"
# Option "Protocol" "auto-dev"
# Option "HorizScrollDelta" "0"
#EndSection
Section "ServerLayout"
# InputDevice "Synaptics Touchpad"
Identifier "Default Layout"
Screen "Default Screen" 0 0
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
Section "Files"
# FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
# paths to defoma fonts
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection
Section "Module"
Load "bitmap"
Load "dbe"
# Load "ddc"
Load "extmod"
Load "v4l"
# Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "type1"
Load "vbe"
Load "xtt"
Load "dri"
Load "i2c"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
HorizSync 30.0 - 107.0
VertRefresh 50.0 - 185.0
ModeLine "1280x854" 85.3 1280 1296 1552 1792 854 854 861 892
Option "DPMS"
EndSection
Section "Device"
Identifier "NVIDIA Corporation NV17 [GeForce4 420 Go 32M]"
Driver "nvidia"
Option "NvAGP" "1"
Option "NoLogo" "true"
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
Option "CursorShadow" "1"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "NVIDIA Corporation NV17 [GeForce4 420 Go 32M]"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1280x854"
EndSubSection
SubSection "Display"
Depth 4
Modes "1280x854"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x854"
EndSubSection
SubSection "Display"
Depth 15
Modes "1280x854"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x854"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x854"
EndSubSection
EndSection
#Section "Extensions"
# Option "Composite" "Enable"
#EndSection
Here's your problem:
Option "NvAGP" "1"
Can you comment it out (i.e. put a # before it)?
NvAGP is not loaded but agpgart will work fine.
Then restart your computer.
Let me know if it works