The imacfb driver from linux-2.6.16-rcX only works with the xf86-video-fbdev driver with the option "ShadowFB "0". Without this option the display is kaputt. See also http://bugs.gentoo.org/show_bug.cgi?id=140008. This is maybe a problem in the imacfb driver, because it's to new?!
when i comment this in fbdev.c. the fbdev drvier is working with the shadow fb: // if (fPtr->shadowFB) // pScrn->displayWidth = pScrn->virtualX; /* ShadowFB handles this correctly */ // else { int fbbpp; /* FIXME: this doesn't work for all cases, e.g. when each scanline has a padding which is independent from the depth (controlfb) */ fbdevHWGetDepth(pScrn,&fbbpp); pScrn->displayWidth = fbdevHWGetLineLength(pScrn)/(fbbpp >> 3); } So the value of pScrn->virtualX seems to be incorrect for a color depth of 24 bit and a bitsPerPixel = 32 bit. and the comment "[..] handles this correclty" is obvious wrong.
The comment is correct. The fbdev driver can use whatever pitch it likes for the shadow framebuffer. If ShadowFB doesn't work, that indicates a bug in either of * the fbdev driver's use of the shadow module * the shadow module * the fbdevhw module * imacfb but not in this particular part of the fbdev driver code.
Hello, I can confirm I also have this bug on my Mactel 20' (I come from the mactel-linux-devel ML). This is xorg 7.1.1 (Debian testing) w/ 2.6.18. Is there anything we can do to help you diagnose the bug and find a fix? Thanks for your guidance, Vincent
Please try http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-fbdev.git;a=commitdiff;h=43236f5bfc33f4757dbc5ed9d5682a73c06d8b87
Excellent! Now the fbdev driver works correctly with the shadow framebuffer option. Many thanks for this fix.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.