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;