From: Antonino A. D. <ad...@ho...> - 2004-11-05 13:15:33
|
On Friday 05 November 2004 18:21, David Liontooth wrote: > On the 2.6.9 kernel on Debian sid, rivafb loads successfully: > > ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11 > rivafb: nVidia device/chipset 10DE0176 > rivafb: nVidia Corporation NV17 [GeForce4 420 Go 32M] > rivafb: flatpanel support enabled > rivafb: Detected CRTC controller 1 being used > rivafb: RIVA MTRR set to ON > rivafb: could not retrieve EDID from DDC/I2C > rivafb: setting virtual Y resolution to 52428 > rivafb: Detected CRTC controller 1 being used > rivafb: Detected CRTC controller 1 being used > Console: switching to colour frame buffer device 80x30 > rivafb: PCI nVidia NV17 framebuffer ver 0.9.5b (32MB @ 0xEC000000) > > Along with rivafb, these modules load: > > Module Size Used by > rivafb 49924 1 > i2c_algo_bit 8968 1 rivafb > vgastate 9472 1 rivafb > cfbimgblt 2944 1 rivafb > i2c_core 19088 2 rivafb,i2c_algo_bit > > As long as the proprietary nvidia kernel module is not loaded, this works > fine. > > However, I'm only getting 640x480. My /etc/fb.modes has lots of other > resolutions, but they're not accepted. > > Is this a limitation of the rivafb driver, my hardware, or something else? Nope, it's a bug in the rivafb driver when the EDID block cannot be accessed. I can't submit a patch right now, but I'll give instructions on how to fix this: 1. open drivers/video/riva/fbdev.c 2. search for the function "static int __devinit rivafb_probe". 3. Somewhere near the end you should see these lines: fb_destroy_modedb(info->monspecs.modedb); info->monspecs.modedb_len = 0; info->monspecs.modedb = NULL; 4. Remove the line "info->monspecs.modedb_len = 0" 5. Next, search for the function "static int rivafb_check_var" 6. Look for these lines: if (!mode_valid && !list_empty(&info->modelist)) return -EINVAL; 7. Change it so it becomes like this: if (!mode_valid && !info->monspecs.modedb_len) return -EINVAL; 8. Recompile and reboot. The end effect is rivafb will accept all modelines coming from fbset as gospel truth. Tony |