There are several choices for configuring the NVIDIA kernel module's use of AGP: you can choose to either use NVIDIA's AGP module (NVAGP), or the AGP module that comes with the FreeBSD kernel (AGPGART). This is controlled through the "NvAGP" option in your X config file:
Option "NvAgp" "0" ... disables AGP support Option "NvAgp" "1" ... use NVAGP, if possible Option "NvAgp" "2" ... use AGPGART, if possible Option "NvAGP" "3" ... try AGPGART; if that fails, try NVAGP
Unlike other operating systems such as Linux, this option is not
the only controlling factor at this point; because of known
problems, nvidia.ko
is built without
support for FreeBSD's AGP driver by default. This behavior can be
changed, see nv-freebsd.h
for
details.
Please note that if you built nvidia.ko with support for the
FreeBSD driver it will not load unless agp.ko
is loaded. agp.ko
is special in that you can not load it
after the system boot is complete, you need to append the following
line to /boot/loader.conf
to make
sure it is pre-loaded:
# -- load FreeBSD AGP GART driver -- # agp_load="YES"
Also note that if agp.ko
is
loaded, it could conflict with NVIDIA's AGP GART driver (NvAGP),
resulting in stability problems; for this reason, the NVIDIA driver
will abort NvAGP initialization when it detects agp.ko
.
Current FreeBSD releases are shipped with agp.ko
built into the kernel; in order to allow
NvAGP to work, the kernel can be rebuilt without 'device agp' or
the following entry added to /boot/device.hints
:
hint.agp.0.disabled="1"
When built with support for the FreeBSD AGP driver, nvidia.ko
will fall back to using NvAGP when it
doesn't detect agp.ko
(this will be
the case when agp.ko
does not support
your AGP chipset or was explicitely disabled with device
hints).
It is highly recommended that you use the NVIDIA AGP driver.
The following AGP chipsets are supported by NVIDIA's AGP driver; for all other chipsets it is recommended that you use the AGPGART module.
Supported AGP Chipsets |
---|
Intel 440LX |
Intel 440BX |
Intel 440GX |
Intel 815 ("Solano") |
Intel 820 ("Camino") |
Intel 830M |
Intel 840 ("Carmel") |
Intel 845 ("Brookdale") |
Intel 845G |
Intel 850 ("Tehama") |
Intel 855 ("Odem") |
Intel 860 ("Colusa") |
Intel 865G ("Springdale") |
Intel 875P ("Canterwood") |
Intel E7205 ("Granite Bay") |
Intel E7505 ("Placer") |
AMD 751 ("Irongate") |
AMD 761 ("IGD4") |
AMD 762 ("IGD4 MP") |
AMD 8151 ("Lokar") |
VIA 8371 |
VIA 82C694X |
VIA KT133 |
VIA KT266 |
VIA KT400 |
VIA P4M266 |
VIA P4M266A |
VIA P4X400 |
VIA K8T800 |
VIA K8N800 |
VIA PT880 |
VIA KT880 |
RCC CNB20LE |
RCC 6585HE |
Micron SAMDDR ("Samurai") |
Micron SCIDDR ("Scimitar") |
NVIDIA nForce |
NVIDIA nForce2 |
NVIDIA nForce3 |
ALi 1621 |
ALi 1631 |
ALi 1647 |
ALi 1651 |
ALi 1671 |
SiS 630 |
SiS 633 |
SiS 635 |
SiS 645 |
SiS 646 |
SiS 648 |
SiS 648FX |
SiS 650 |
SiS 651 |
SiS 655 |
SiS 655FX |
SiS 661 |
SiS 730 |
SiS 733 |
SiS 735 |
SiS 745 |
SiS 755 |
ATI RS200M |
If you are experiencing AGP stability problems, you should be aware of the following:
Additional AGP Information
Many Via-based motherboards allow adjusting the AGP drive strength in the system BIOS. The setting of this option largely affects system stability, the range between 0xEA and 0xEE seems to work best for NVIDIA hardware. Setting either nibble to 0xF generally results in severe stability problems.
If you decide to experiment with this, you need to be aware of the fact that you are doing so at your own risk and that you may render your system unbootable with improper settings until you reset the setting to a working value (w/ a PCI graphics card or by resetting the BIOS to its default values).
Make sure you have the latest system BIOS provided by the motherboard manufacturer.
On ALi1541 and ALi1647 chipsets, NVIDIA drivers disable AGP to work around timing and signal integrity problems. You can force AGP to be enabled on these chipsets by setting NVreg_EnableALiAGP to 1. Note that this may cause the system to become unstable.
Early system BIOS revisions for the ASUS A7V8X-X KT400 motherboard misconfigure the chipset when an AGP 2.x graphics card is installed; if X hangs on your ASUS KT400 system with NvAGP enabled and the installed graphics card is not an AGP 8x device, make sure that you have the latest system BIOS installed.