Thread (28 messages) 28 messages, 10 authors, 2000-08-23

Re: Control fb problem on 8500

flat view

From: Michel D�nzer <hidden>
Date: 2000-08-22 08:33:31

Geert Uytterhoeven wrote:
On Mon, 21 Aug 2000, Michel [iso-8859-1] Dänzer wrote:
quoted
Geert Uytterhoeven wrote:
quoted
On Mon, 21 Aug 2000, Michel [iso-8859-1] Dänzer wrote:
quoted
That's not even needed, the fbdev driver is just broken. Line 430:

      pScrn->displayWidth = pScrn->virtualX; /* FIXME: might be wrong
*/

is indeed wrong. virtualX is obvious, but displayWidth should be the
memory pitch of a scanline.

Now you just have to find out where to get the correct value for
displayWidth.
I suppose

    if (fix.line_length)
        pScrn->displayWidth = fix.line_length*8/var.bits_per_pixel;
    else
        pScrn->displayWidth = var.xres_virtual;

should work fine, except on hardware were
fix.line_length*8/var.bits_per_pixel might not be integer (e.g. if
1280x1024x24 mode requires a line_length of 4096).
I've thought of this as well. The problem is that the mode hasn't been
initialized when displayWidth is set and used.
So the X server initializes the internal screen structures before it even
knows that it can use them later?
Yes. This really seems to be a rather serious design flaw - the driver is
assumed to know at any time whether it can cope with what the user wants and
how.

Anyway, what do you think about the patch I posted? Michel, can you please try
it? I don't think having to use ShadowFB with the fbdev driver is too bad
because it should generally enhance performance :) If the patch is okay, I'll
submit it to XFree86.


Michel


--
Earthling Michel Dänzer (MrCooper)  \  CS student and free software enthusiast
Debian GNU/Linux (powerpc,i386) user \   member of XFree86 and the DRI project

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help