Bug 25919

Summary: can't get back to text-mode consoles after X starts
Product: xorg Reporter: Daniel Kahn Gillmor <dkg>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: 7.4 (2008.09)   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Daniel Kahn Gillmor 2010-01-06 12:09:12 UTC
I have a debian system using linux kernel 2.6.32, with i915.ko (KMS), using X.org 7.4, with the intel driver version 2.9.1, with the following hardware:

00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)

my bootloader is grub2 (grub-pc 1.98~20100101-1).  i'm not using splashy, usplash, or anything like that.  The initial boot is simply textual.

this is in an ASUS EeePC 900 netbook, with a 1024x600 laptop screen, where the highest resolution supported by vbe (according to grub) is 800x600

If i tell grub "set gfxpayload=800x600" right before the "linux vmlinuz..." line, then i get an initial resolution of 800x600, but once X11 starts, attempts to switch to the text console (with ctrl-alt-f1 or "chvt 1") will make the graphics output freeze up (you can still see the X session), but no text will appear.  I can get it to un-freeze by switching "back" with ctrl-alt-f7, and which point, things work as normal (though i still can't switch to text mode).

If i omit the "set gfxpayload=800x600", then my initial resolution is 640x480, and once X11 starts up, i can switch easily with "chvt 1" or ctrl-alt-f1.  The text mode seems to get boosted to 800x600 once X11 has been loaded the first time, which is nice.

So the bug seems to be related to the initial gfxpayload context of the kernel boot (though i admit i don't know what that really does).  fwiw, grub itself runs in 800x600 mode.

it would be nice to be able to get initial high-resolution at boot time without needing to give up on switching to the text-based vt's.
Comment 1 Carl Worth 2010-02-08 18:40:20 UTC
Chris uses similar hardware regularly, so re-assigning to him.

-Carl
Comment 2 Julien Cristau 2010-02-09 09:52:21 UTC
please attach dmesg.  I've seen something similar with grub's set gfxpayload=keep, which causes the kernel to load efifb on startup.  efifb then owns fb0, and, as I understand it, is supposed to hand off the framebuffer to i915, but instead i915 ends up on fb1, and the console is gone.
(See e.g. bugs.debian.org/567245 for other reports of this)

Basically it looks like using grub gfxpayload option is a bad idea.
Comment 3 Chris Wilson 2010-02-10 06:32:50 UTC
If you enable i915.modeset=1 either on the command line for a compiled in i915.ko or as a module option, then as the driver is load the console will switch into a high resolution mode.

However, the real bug here is the garbled screen after switching to vt1 which I see on my gm45 not using any fancy grub options...
Comment 4 Chris Wilson 2010-02-19 04:17:21 UTC
This issue has disappeared with -rc8 (at least with my error-state branch) and I'm none the wiser as to the cause. Is this still affecting you on recent kernels?
Comment 5 Chris Wilson 2010-05-11 10:41:14 UTC
I've not been able to reproduce this bug again, so I presume it has been resolved. Daniel, please reopen if it is still occurring for you on recent packages, and we can try to track it down.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.