>Synopsis: xf86-video-wsfb doesn't adjust pitch after mode setup
>Category: system
>Environment:
System : OpenBSD 5.6
Details : OpenBSD 5.6 (GENERIC.MP) #333: Fri Aug 8
00:20:21 MDT 2014
[hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
Architecture: OpenBSD.amd64
Machine : amd64
>Description:
When ShadowFB is off, wsfb doesn't adjust the pitch after mode
was set. This leads to a garbled image on some video cards.
>How-To-Repeat:
>Fix:
Fbdev currently does the following quirk:
http://cgit.freedesktop.org/xorg/driver/xf86-video-fbdev/tree/src/fbdev.cif(fPtr->rotate==FBDEV_ROTATE_CW || fPtr->rotate==FBDEV_ROTATE_CCW)
{
...
} else if (!fPtr->shadowFB) {
/* FIXME: this doesn't work for all cases, e.g. when each scanline
has a padding which is independent from the depth (controlfb) */
pScrn->displayWidth = fbdevHWGetLineLength(pScrn) /
(pScrn->bitsPerPixel / 8);
if (pScrn->displayWidth != pScrn->virtualX) {
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Pitch updated to %d after ModeInit\n",
pScrn->displayWidth);
}
}
So something similar should be implemented.