On Fri, Jun 08, 2001 at 08:13:21PM +0200, Michel Daenzer wrote: > Duncan Sands wrote: > > > > > > I am running X 4.0.3 on an 8500 powermac (controlfb), kernel 2.4. > > > > If I use 8bpp all is well (kernel parameter: > > > > video=controlfb:vmode:14,cmode:0). > > > > > > Well, I guess this answers most of the questions in my other post... > > > > Sorry about that! > > No worries, I could have looked at your other post before asking. > > > > > I thought I had fixed this for 4.0.2 already, but it only works reliably > > > with ShadowFB enabled, which is the default though - you don't happen to > > > disable it explicitly? > > > > Nope: > > Hmm. The fbdevhw layer gets the framebuffer offset from the framebuffer > device. That code used to be buggy before 4.0.2, but Geert helped me fix it. > But this sounds like it isn't 100% correct yet. :( > > Curious: Approximately by how many pixels is the picture shifted?
I did some experiments (X 4.0.3, kernel 2.4.5-pre3). A negative screen offset means that something that should be on the left appears on the right, a positive offset means that something that should be on the right appears on the left. WITH kernel parameter video=controlfb:vmode:14,cmode:0 Depth 8 Result: screen position ok Depth 15 Result: screen off by -13 or -14 pixels Depth 16 Result: screen off by -13 or -14 pixels, colours no good Depth 24 Result: fails (see note 1 below) Depth 32 Result: fails (see note 2 below) withOUT kernel parameter video=controlfb:vmode:14,cmode:0 Depth 8 Result: screen off by about +22 pixels Depth 15 Result: screen position ok Depth 16 Result: screen position ok, colours no good Depth 24 Result: fails (see note 1 below) Depth 32 Result: fails (see note 2 below) Note 1: X fails to start. Find the following in the log: Depth 24 pixmap format is 32 bpp Fatal server error AddScreen/ScreenInit failed for driver 0 Note 1: X fails to start. Find the following in the log: FBDev(0): Depth 32. (--) framebuffer bpp 32 FBDev(0): Weight given (000) is inconsistent with the depth (32) I don't recall getting failures for depths 24 and 32 before, but it was a long time since I last tried them, and I've changed X versions since then. By the way, since depth 15 with no kernel parameter seems to work fine, my problem is solved (though the bug is not fixed)! Duncan.