# Unable to initialize the Linux AGPGART driver/amd64

## OldTango

Just put together a new system and after a series of install issues I have the system running.  I am attempting to get my Nvidia 6800GT/256 operating correctly but doing a 

```
 cat /proc/driver/nvidia/agp/status

Status:          Disabled

AGP initialization failed, please check the ouput

of the 'dmesg' command and/or your system log filedmesg

for additional information on this problem.

```

 returns this error.

A dmesg retuns this

```
NVRM: unable to initialize the Linux AGPGART driver, please

NVRM: verify you configured your kernel to include support

NVRM: for AGPGART (either statically linked, or as a kernel

NVRM: module). Please also make sure you selected support

NVRM: for your AGP chipset.

NVRM:

NVRM: note that as of Linux 2.6 AGPGART, all chipset/vendor

NVRM: drivers are split into independent modules; make sure

NVRM: the correct one is loaded for your chipset.
```

Also I have another odd statement in the dmesg that I have been unable to sort out and it may be the cause of this problem

```
agpgart: Detected AMD 8151 AGP Bridge rev B3

agpgart: Aperture conflicts with PCI mapping.

agpgart: Aperture from AGP @ 80000000 size 2048 MB

agpgart: Aperture out of bounds

agpgart: No usable aperture found.

agpgart: Consider rebooting with iommu=memaper=2 to get a good aperture.

PCI-DMA: Disabling IOMMU.

```

I tryied to add this to the grub kernel line

```
iommu=memaper=2
```

but it had no affect on the system.

Ideas anyone?

TIA

----------

## petlab

Tell us what machine and how many cpus you have, also your motherboard model.  I have a similar problem with my dual opteron system.  I don't think I need it, but it doesn't work just like yours.  Maybe we can fix it for you.

----------

## dmpogo

Somewhere in your BIOS there is, I hope, an option, regarding the mapping of the  memory hole below 4GB.

Different BIOSes call it different, my Celestica board based BIOS used to call it continous/descrete mapping, in the latest release

it calls descrete mapping - 'compartible with Linux AGP'.

My Tyan 2885 board also has the option, but I don't remember how it is called. A year ago it was a big deal to make Linux AGP work,

and Tyan had to come with that patch to the BIOS (Celestica did not include it until mid summer 2004).

Both my motherboards came default with setting NOT compartible with Linux AGP.

Proper setting of this option is necessary to have AGP aperture properly set.  IOMMU comes later, being remapped into AGP aperture range.

----------

## The New Guy

Is the AGPGART compiled as a module? Built into the kernel? If so, here was my issue...

I had to REMOVE the AGPGART from the kernel totally. Not built in, not a module. Then I followed the instructions here. Now, I am not sure if I am understanding your problem totally, but I thought I would toss this out there just in case it has a chance at helping you out somehow.

Good luck!

----------

## OldTango

Thaks for all the replys and suggestions.

My Mobo is a Tyan Tiger S2875, Running twin Opteron 246 CPU's and 4 gigs of DDR3200@400Mz

The kernel, Gentoo 2.6.9-r14, is configured with iommu enabled, which I am assuming disables the agpgart option all together, because it dosen't show up as an option.

I noticed that lowering my AGP aperture in the bios from 2048 to 512 caused the kernel messages to change.  This also lowered my CPU apertures to 512.  Setting the bios to 1024 also had positive affects on the agpgart messages and my CPU's  All apertures registering 1024 and no AGPGART errors.

After making the above changes to the bios, setting now at 1024, a

```
cat /proc/driver/nvidia/agp/status

Status:          Disabled 
```

returns only this message, and dmesg reports no errors.  However the card is still not  working correctly as can be seen.  I am also wondering if I my have an IRQ conflict, but after several Gentoo systems it would be a first. 

I have not been able to find anything in the bios that could be linked to an iommu setting, but will take a closer look at things as now I have an idea of what to look for.

----------

## dmpogo

The kernel, Gentoo 2.6.9-r14, is configured with iommu enabled, which I am assuming disables the agpgart option all together, because it dosen't show up as an option.

Just opposite. IOMMU force enables  agpgart.  Which means that with IOMMU enabled you cannot compile agpgart as the module, and, therefore, cannot use NVIDIA AGP, but must use the kernel based one. NVIDIA option must be set for that (although the now default choice 3 (try NVIDIA then kernel agpgart)  for the latest NVIDIA drivers, should work, I believe)

BTW, on my Tyan board the BIOS option which needs to be set is

MTRR mapping                 <Discrete>

Don't worry about IOMMU at this stage, check that you are not trying to use NVIDIA agpgart first.

----------

## OldTango

Changed my bios setting to MTRR mapping=Discrete.  Thanks for that tip dmpogo........................ :Very Happy: 

Now a

```
cat /proc/driver/nvidia/agp/status

Status:            Enabled

Driver:            AGPGART

AGP Rate:          8x

Fast Writes:       Disabled

SBA:               Enabled
```

 returns this which is better.  I can get Fast Writes enabled I am sure.  I saw some info on how to do this someplace.

I am using the latest stable nvidia-kernel and nvidia-glx packases the 1.0.6629-r1 ones.

/etc/X11/xorg.cong  NvAGP is set to "3"

Things are improving....................................... :Very Happy:   :Very Happy: 

What else can I do to help it along?

Also can anyone point in the right direction to configureing my monitor correctly.  Its an Apple 20 inch Cinema Display, and right now I can only get X to see one resolution which is 1400x1050.

I have tryied a couple of things with modelines but no luck yet.

Googleing reveals little.

Thanks

----------

## dmpogo

> I can get Fast Writes enabled I am sure. I saw some info on how to do this someplace. 

Look into your /etc/modules.conf  (or /etc/modules.d/nvidia it is generated from).

Fast Write is the parameter to NVIDIA kernel modules and is described in the comment there.

Other than that you are done.

Don't forget to run opengl-update and add module 'glx' to the Module section of xorg.conf

Regarding the monitor, is it LCD or CRT one ?

If it is LCD you want to run it on the 'native' resolution anyway.

Most probably you don't see better modes becasue your

 HorizSync and /or VertRefresh	 paraemters in the Monitor section of xorg.conf

are too restrictive.  Default configuration of X server, if does not recognize the monitor,

sets them very restrictively as not to damage the thing.

You should configure your xorg.conf to use EDID (spelling ??) lines which monitors supplies

(most modern ones can tell the card what are their basic parameters), check NVIDIA options

for that. If not - find what are the limits on horizonatal sync and vertical refresh for your monitor

are and set them correspondingly. 

Syntax is like

Section "Monitor"

# The identifier line must be present.

    Identifier	"SGI FX180"

    VendorName	"Silicon Graphics"

    ModelName	"FX180"

    HorizSync	30-64

    VertRefresh	56-75

    Option	"dpms"

EndSection

CRT monitors will have much larger intervals for these paraemters.

----------

## OldTango

Thanks dmpogo you have been a lot of help.  Sorry for the late reply I have been busy updating to the 2005 profile and it wasn't a smooth update, but it is done now and running nicely.

My Monitor is a Apple 20 inch Cinema Display LCD.  DVI only  As I have never had this type of monitor before I have no experience with them at all.

It is running in Xorg but I can only get a single resolution og 1400x 1050 so far.  Wil try some of your sugestions and also see if the manual will shed some more light on the subject.  

As far as I can tell Apple dosen't supply much info on this monitor for the PC platform.  Have been googleing for a couple of days now,  Some posts in these forums but not much useful yet.

Thanks Again

I am always open for new sugestions.

----------

## jsnorman

 *OldTango wrote:*   

> Thaks for all the replys and suggestions.
> 
> My Mobo is a Tyan Tiger S2875, Running twin Opteron 246 CPU's and 4 gigs of DDR3200@400Mz
> 
> The kernel, Gentoo 2.6.9-r14, is configured with iommu enabled, which I am assuming disables the agpgart option all together, because it dosen't show up as an option.
> ...

 

I had the exact same error on my Nforce 250 Pro (dual Opteron) motherboard.

I fixed it by (1) DESELECTING IOMMU enabled in the kernel config, (2) once deselected, ENABLE AGPGART, PLUS the specific AMD extensions to AGPGART (they show up only when enabled AGPGART and ATHLON selected as CPU type), (3) don't forget to load agpgart in /etc/modules.autoload.d/kernel-2.6.  Try that, see what happens.  I just think IOMMU is broken in 2.6.11.

----------

## PantsMan

 *OldTango wrote:*   

> 
> 
> I noticed that lowering my AGP aperture in the bios from 2048 to 512 caused the kernel messages to change.  This also lowered my CPU apertures to 512.  Setting the bios to 1024 also had positive affects on the agpgart messages and my CPU's  All apertures registering 1024 and no AGPGART errors.
> 
> 

 

An AGP aperture of 2048 is pretty excessive... even for a machine which has 4GB RAM.

The kernel help string says this:

 CONFIG_AGP:

   <snip>

  │ If you need more texture memory than you can get with the AGP GART                                               

  │ (theoretically up to 256 MB, but in practice usually 64 or 128 MB                                                

  │ due to kernel allocation issues), you could use PCI accesses                                                     

  │ and have up to a couple gigs of texture space.

   <snip>

Unless that help text is outdated, it is saying there is no point choosing an AGP aperture of more than 256 MB. Well, actually, it is a bit unclear. As only half of the AGP aperture memory is available for textures, it is probably saying that an aperture of more than 512MB is pointless. And, choosing a larger aperture may be causing your system to fall back to PCI-style accesses, thus losing the benefit and speed of AGP... 

But then again, you're talking about CPU apertures and multiple apertures and I'm confused. I thought there was just 1 AGP aperture and that was it. Someone must've torn the AGP a new aperture, and good on them i say  :Smile: 

----------

