Bug 84682 - [i945GM] Just black screen and mouse cursor with `i915.fastboot=1`
Summary: [i945GM] Just black screen and mouse cursor with `i915.fastboot=1`
Status: CLOSED INVALID
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: Other All
: medium normal
Assignee: Jesse Barnes
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-05 09:07 UTC by Paul Menzel
Modified: 2017-07-24 22:51 UTC (History)
2 users (show)

See Also:
i915 platform: I945GM
i915 features: display/Other


Attachments
Linux kernel messages with `i915.fastboot=1` and `drm.debug=0x06" (64.14 KB, text/plain)
2014-10-05 09:07 UTC, Paul Menzel
no flags Details
Linux 3.18.0 kernel messages with `i915.fastboot=1` and `drm.debug=0x06` (90.49 KB, text/plain)
2014-12-14 14:27 UTC, Paul Menzel
no flags Details

Description Paul Menzel 2014-10-05 09:07:52 UTC
Created attachment 107352 [details]
Linux kernel messages with `i915.fastboot=1` and `drm.debug=0x06"

Using Lenovo X60t (Intel 945GM) with Debian Wheezy/stable and Linux 3.16.3 from Debian backports repository, trying `i915.fastboot=1` the early messages like LUKS passphrase dialog are shown fine, but then when KMS is enabled, the screen is just black. Starting X only a big mouse cursor is shown.

    00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
Comment 1 Daniel Vetter 2014-11-04 14:19:38 UTC
commit 382dbe16b7b6b88ad064833d330f95828dbb4d7e
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue Nov 4 14:48:02 2014 +0100

    drm/i915: Mark fastboot as unsafe
    
    Fastboot in its current incarnation assumes that the pfit isn't
    relevatn for the state and that it can be disabled without restarting
    the crtc. Unfortunately that's not the case on gen2/3 - it upsets the
    hw and results in a black screen.
    
    Worse, the way the current fastboot hack is structure we can't detect
    and work around this in the code, since the fastboot smashes the
    adjusted mode into crtc->mode. Which means the higher levels can't
    correctly figure out that this is a lie and act accordingly.
    
    Since fastboot is just a tech demo let's mark the module option as
    experimental and close the coresponding reports as wontfix.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84682
    Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

We have a long-term plan to fix fastboot and properly integrate it and enable it by default. That should stop gen2/3 from falling over, too.
Comment 2 Paul Menzel 2014-11-04 16:29:07 UTC
(In reply to Daniel Vetter from comment #1)
> commit 382dbe16b7b6b88ad064833d330f95828dbb4d7e
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> Date:   Tue Nov 4 14:48:02 2014 +0100
> 
>     drm/i915: Mark fastboot as unsafe
>     
>     Fastboot in its current incarnation assumes that the pfit isn't
>     relevatn for the state and that it can be disabled without restarting

releva*nt*

>     the crtc. Unfortunately that's not the case on gen2/3 - it upsets the
>     hw and results in a black screen.
>     
>     Worse, the way the current fastboot hack is structure we can't detect

structure*d*

>     and work around this in the code, since the fastboot smashes the
>     adjusted mode into crtc->mode. Which means the higher levels can't
>     correctly figure out that this is a lie and act accordingly.
>     
>     Since fastboot is just a tech demo let's mark the module option as
>     experimental and close the coresponding reports as wontfix.
>     
>     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84682
>     Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> 
> We have a long-term plan to fix fastboot and properly integrate it and
> enable it by default. That should stop gen2/3 from falling over, too.

Sorry, what do you mean by “falling over”? Accidently use fastboot?
Comment 3 Jesse Barnes 2014-11-10 18:07:54 UTC
This is a real issue we'd like to fix, sorry for the noise on this one.  I'll try to dig up a 945 and reproduce.
Comment 4 Jesse Barnes 2014-11-11 19:16:17 UTC
Can you try the fastboot-default branch of my tree at fdo:
git://people.freedesktop.org/~jbarnes/linux

You may also need:
[PATCH] drm/i915: Use correct pipe config to update pll dividers. V2

from the ml for your 945 if things don't come up.

The bottom line here is that if your device is coming up with the fitter enabled, we probably won't be able to disable it gracefully (i.e. without a modeset) and get into a native mode for Linux.  If you can configure your boot loader to use a native mode, you ought to be able to fastboot w/o a modeset, but often times the VBIOS will be missing the panel native mode, so you might have to hack it to make it work.
Comment 5 Jesse Barnes 2014-12-04 20:59:57 UTC
Ping, can you test the latest kernel and see if things work better?  There are some fastboot changes that should have helped.
Comment 6 Paul Menzel 2014-12-05 22:28:00 UTC
(In reply to Jesse Barnes from comment #5)
> Ping, can you test the latest kernel and see if things work better?  There
> are some fastboot changes that should have helped.

Sorry for the late reply. I’ll probably won’t be able to test it before Christmas especially if I’d need to rebuild the Linux kernel. This is a Debian Wheezy/stable system, so if there is a Linux kernel package available, I just have to download and install, I could test earlier.
Comment 7 Jesse Barnes 2014-12-08 23:22:11 UTC
Yeah I think you can find builds of current kernels (even Intel gfx bleeding edge ones) in Ubuntu repos somewhere.  I think the xorg-edgers page has a link to them.
Comment 8 Paul Menzel 2014-12-14 08:19:36 UTC
(In reply to Jesse Barnes from comment #5)
> Ping, can you test the latest kernel and see if things work better?  There
> are some fastboot changes that should have helped.

Testing plain Linux 3.18 with the config from Debian experimental’s Linux kernel package (and enable `UEVENT_HELPER` needed by Debian Wheezy/stable) and passing `i915.fastboot = 1` to Linux on its command line, it indeed worked. Unfortunately GRUB (1.99-27+deb7u2) only sets up a resolution of 640 × 400 despite asked for 1024 × 768, so I only see roughly a quarter of the image. I’ll post the logs later and I’ll also try a newer GRUB version.
Comment 9 Paul Menzel 2014-12-14 14:27:28 UTC
Created attachment 110835 [details]
Linux 3.18.0 kernel messages with `i915.fastboot=1` and `drm.debug=0x06`
Comment 10 Paul Menzel 2014-12-15 14:59:01 UTC
Reading the Linux 3.18 log more carefully, shouldn’t the X server detect the resolution of 640 × 400?

    [drm:intel_dump_pipe_config] pipe src size: 640x400

Debian Wheezy/stable ships with xserver-xorg-video-intel 2:2.19.0-6.
Comment 11 Jani Nikula 2015-10-23 10:10:19 UTC
i915.fastboot module parameter is no more, closing. Please file new bugs if the problems you're seeing persist with latest kernels. Thanks.
Comment 12 Paul Menzel 2015-10-31 13:20:48 UTC
(In reply to Jani Nikula from comment #11)
> i915.fastboot module parameter is no more, closing. Please file new bugs if
> the problems you're seeing persist with latest kernels. Thanks.

Thank you for looking at this bug report. Could you please elaborate if current Linux kernels have a similar functionality or do it by default?
Comment 13 Jani Nikula 2015-11-02 10:13:58 UTC
It will be the default starting from v4.4 (and drm-next already has this). It should just work.

...and if not, please file new bugs...


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.