diff options
-rw-r--r-- | miscutils/fbsplash.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c index 6b84563a3..150992343 100644 --- a/miscutils/fbsplash.c +++ b/miscutils/fbsplash.c | |||
@@ -83,11 +83,14 @@ static void fb_open(const char *strfb_device) | |||
83 | 83 | ||
84 | // map the device in memory | 84 | // map the device in memory |
85 | G.addr = mmap(NULL, | 85 | G.addr = mmap(NULL, |
86 | G.scr_var.xres * G.scr_var.yres | 86 | G.scr_var.xres * G.scr_var.yres_virtual |
87 | * BYTES_PER_PIXEL /*(G.scr_var.bits_per_pixel / 8)*/, | 87 | * BYTES_PER_PIXEL /*(G.scr_var.bits_per_pixel / 8)*/, |
88 | PROT_WRITE, MAP_SHARED, fbfd, 0); | 88 | PROT_WRITE, MAP_SHARED, fbfd, 0); |
89 | if (G.addr == MAP_FAILED) | 89 | if (G.addr == MAP_FAILED) |
90 | bb_perror_msg_and_die("mmap"); | 90 | bb_perror_msg_and_die("mmap"); |
91 | |||
92 | // point to the start of the visible screen | ||
93 | G.addr += G.scr_var.yoffset * G.scr_fix.line_length + G.scr_var.xoffset * BYTES_PER_PIXEL; | ||
91 | close(fbfd); | 94 | close(fbfd); |
92 | } | 95 | } |
93 | 96 | ||