[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: why no DRI for G200 in X4



On Sun, Nov 05, 2000 at 10:08:07PM -0800, brian moore wrote:
> Haven't had a chance to look at why.  (As amazingly fast as Utah-GLX was
> on 3.3.6, I gave up running it when it kept killing X during one of the
> screensavers, so I'm used to software GL.)

Ugh, I looked at why.

What it basically came down to was good old 'MODVERSIONS'.  The kernel
wasn't init'ing the mga drm code.  I cranked up debugging and saw this:

| Nov  6 21:04:27 gimli kernel: [drm:mga_init] 
| Nov  6 21:04:27 gimli kernel: [drm:drm_agp_init] agp_free_memory resolves to 0x00000000
| Nov  6 21:04:27 gimli kernel: [drm:drm_agp_init] agp_allocate_memory resolves to 0x00000000
| Nov  6 21:04:27 gimli kernel: [drm:drm_agp_init] agp_bind_memory resolves to 0x00000000
| Nov  6 21:04:27 gimli kernel: [drm:drm_agp_init] agp_unbind_memory resolves to 0x00000000
| Nov  6 21:04:27 gimli kernel: [drm:drm_agp_init] agp_enable resolves to 0x00000000
| Nov  6 21:04:27 gimli kernel: [drm:drm_agp_init] agp_backend_acquire resolves to 0x00000000
| Nov  6 21:04:27 gimli kernel: [drm:drm_agp_init] agp_backend_release resolves to 0x00000000
| Nov  6 21:04:27 gimli kernel: [drm:drm_agp_init] agp_copy_info resolves to 0x00000000
| Nov  6 21:04:27 gimli kernel: [drm:drm_agp_init] agp_available = 0
| Nov  6 21:04:27 gimli kernel: [drm] The mga drm module requires the agpgart module to function correctly
| Nov  6 21:04:27 gimli kernel: Please load the agpgart module before you load the mga module
| Nov  6 21:04:27 gimli kernel: [drm:mga_takedown] 

Apparently the kernel build (with modversions on) versionizes the labels
like 'agp_free_memory' and such, but doesn't use the same versioned
lookups when trying to resolve them internally or some such.

Killing 'CONFIG_MODVERSIONS' makes it work, and tuxracer is pretty
darned slick.... now I have to figure out why 'sometimes' X makes my
screen go black, lock the keyboard and stare at me on startup, and
sometimes it works fine.

-- 
CueCat decoder .signature by Larry Wall:
#!/usr/bin/perl -n
printf "Serial: %s Type: %s Code: %s\n", map { tr/a-zA-Z0-9+-/ -_/; $_ = unpack
'u', chr(32 + length()*3/4) . $_; s/\0+$//; $_ ^= "C" x length; } /\.([^.]+)/g; 



Reply to: