diff --git a/backend/fbdev.c b/backend/fbdev.c index d7fb08e..11c797e 100644 --- a/backend/fbdev.c +++ b/backend/fbdev.c @@ -56,9 +56,9 @@ static void _twin_fbdev_put_span(twin_coord_t left, return; twin_coord_t width = right - left; - off_t off = top * screen->width + left; - uint32_t *dest = - (uint32_t *) ((uintptr_t) tx->fb_base + (off * sizeof(*dest))); + uint32_t *dest; + off_t off = sizeof(*dest) * left + top * tx->fb_fix.line_length; + dest = (uint32_t *) ((uintptr_t) tx->fb_base + off); memcpy(dest, pixels, width * sizeof(*dest)); }