Bug 109282 - Plymouth won't show LUKS key-presses or boot progress when PSR is enabled
Summary: Plymouth won't show LUKS key-presses or boot progress when PSR is enabled
Status: NEEDINFO
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: Triaged
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-10 13:41 UTC by Sebastian
Modified: 2019-01-19 12:57 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features: display/PSR


Attachments
dmesg all the way from boot drm.debug=0x1e log_buf_len=1M (419.24 KB, text/plain)
2019-01-10 13:44 UTC, Sebastian
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian 2019-01-10 13:41:50 UTC
When PSR is disabled everything is fine, but enabled(i915.enable_psr=1) I have got the following problems:

-The boot animation progress screen isn't shown or just at the end before the login screen appears.

-Sometimes the password field for LUKS is available and if not there is only a blank screen. In case it is displayed no key-presses are shown. Typing in the password blindly does work in both cases.


These issues are reproducible since kernel version 4.18.X.

Current kernel version is: 4.19.13-300.fc29.x86_64
OS: Fedora 29

Possible problem: https://bugzilla.redhat.com/show_bug.cgi?id=1490490#c24

Hardware details:
Lenovo T450s
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 5500 (rev 09)
04:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940M] (rev a2)
Comment 1 Sebastian 2019-01-10 13:44:24 UTC
Created attachment 143058 [details]
dmesg all the way from boot drm.debug=0x1e log_buf_len=1M
Comment 2 Hans de Goede 2019-01-10 15:31:28 UTC
(In reply to Sebastian from comment #0)
> Possible problem: https://bugzilla.redhat.com/show_bug.cgi?id=1490490#c24

It is probable easier to copy and paste that here :) What I wrote there is:

I think the PSR triggered plymouth problem is a kernel driver issue. Plymouth re-uses a single framebuffer, calling drmModeDirtyFB() on each update, I think that the driver does not properly recognize / tracks that a call to drmModeDirtyFB() means the panel needs to be taken out of self-refresh as there is new contents in the framebuffer.

This at least goes for the password screen is shown, but no keypresses are shown case. If nothing is shown at all that might actually be a plymouth issue, I hope to create a patch for what I think is the cause of that next week and I will ask for testing that patch in https://bugzilla.redhat.com/show_bug.cgi?id=1490490.
Comment 3 Radosław Szwichtenberg 2019-01-11 10:04:42 UTC
Please try to reproduce the error using drm-tip (https://cgit.freedesktop.org/drm-tip) and kernel parameters drm.debug=0x1e log_buf_len=4M, and if the problem persists attach the full dmesg from boot.
Comment 4 Jose Roberto de Souza 2019-01-15 02:06:04 UTC
Hi Hans

We have PSR IGT tests doing exactly that, doing frontbuffer modification and then calling drmModeDirtyFB() to notify kernel the area that have changed.
Comment 5 Sebastian 2019-01-15 12:24:49 UTC
(In reply to Radosław Szwichtenberg from comment #3)
> Please try to reproduce the error using drm-tip
> (https://cgit.freedesktop.org/drm-tip) and kernel parameters drm.debug=0x1e
> log_buf_len=4M, and if the problem persists attach the full dmesg from boot.

Can you please give me further instructions on how to use drm-tip?
Comment 6 Jose Roberto de Souza 2019-01-15 17:46:35 UTC
https://01.org/linuxgraphics/documentation/build-guide-0
Comment 7 Sebastian 2019-01-19 12:57:55 UTC
(In reply to Jose Roberto de Souza from comment #6)
> https://01.org/linuxgraphics/documentation/build-guide-0

Looks like I should compile something...sorry I can't help you with that. In case you can provide me some executables I can test them.


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.