-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Console not restored with genfb(4) on Ironlake #16
Comments
The problem also occurs when the framebuffer console is displayed, at boot, on an external VGA monitor. When the X server exits, the external monitor displays a still image with a few colored dots (and the internal panel is disabled). (The command mentioned in the issue #11 was run to make sure that console is restored on the external monitor.) |
For the record, the following patch does not help. The patch makes sure that the video mode is restored as is. Also, the patch clears the flags field (which is not zero according to some tests) before the INT 10h call. --- intel_driver.c 2012-10-23 14:04:22.000000000 +0200
+++ intel_driver.c 2012-11-03 12:21:53.000000000 +0100
@@ -1614,7 +1614,7 @@
intel->int10->cx =
intel->int10->dx = 0;
xf86ExecX86int10(intel->int10);
- intel->int10Mode = intel->int10->bx & 0x3fff;
+ intel->int10Mode = intel->int10->bx /* & 0x3fff */;
xf86DrvMsg(scrn->scrnIndex, X_PROBED,
"Console VGA mode is 0x%x\n", intel->int10Mode);
} else {
@@ -2683,8 +2683,9 @@
/* Use int10 to restore the console mode */
int10->num = 0x10;
int10->ax = 0x4f02;
- int10->bx = intel->int10Mode | 0x8000;
+ int10->bx = intel->int10Mode /* | 0x8000 */;
int10->cx = int10->dx = 0;
+ int10->flags = 0;
xf86ExecX86int10(int10);
}
} Note: with this patch, for a framebuffer console with the default VESA video mode (640x480x8), the X log shows: Console VGA mode is 0x4101 |
On a Core i5 laptop, the framebuffer console (genfb(4)) is not restored when the X server exits. Instead, a still image with vertical dotted lines is displayed. The X server can be launched again from the console (by typing startx blindly), and the display gets back as expected (under X).
On an older i386 laptop (915GM), everything works fine.
dmesg
X log
The text was updated successfully, but these errors were encountered: