Bug 29207

Summary: UEFI system and 2 displays (with different resolution): Invisible disk password prompt at boot
Product: Mageia Reporter: Dan Fandrich <dan>
Component: RPM PackagesAssignee: Kernel and Drivers maintainers <kernel>
Status: NEW --- QA Contact:
Severity: normal    
Priority: Normal CC: basesystem, ouaurelien
Version: 8   
Target Milestone: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Source RPM: dracut-051-4.mga8.src.rpm CVE:
Status comment:
Attachments: Image from HD monitor
Image from sub-HD monitor

Description Dan Fandrich 2021-07-02 23:28:54 CEST
Description of problem:
The disk encryption password box that shows up at boot in order to prompt for the root partition disk password doesn't show up on my system at boot. It's there, because entering the password blindly works, but it can't be seen. Actually, a few pixels of the box can be seen right at the bottom of the larger of the two monitors. I'm attaching pictures of the two monitors.

The issue is likely due to the two dissimilar monitors I have connected to this system. One is 1920x1080 while the other is 1600x900. My theory as to what's happening is that there is scaling going on to properly locate the text entry box near the bottom of the screen regardless of its resolution, but some scaling value used is from the wrong monitor so it's calculated incorrectly. 

Version-Release number of selected component (if applicable):


How reproducible:
It happens on every boot. Another similar machine with just a single HD monitor shows the password entry box at the correct location on screen.
Comment 1 Dan Fandrich 2021-07-02 23:32:26 CEST
Created attachment 12842 [details]
Image from HD monitor
Comment 2 Dan Fandrich 2021-07-02 23:33:35 CEST
Created attachment 12843 [details]
Image from sub-HD monitor
Comment 3 Aurelien Oudelet 2021-07-05 21:02:05 CEST
Hi, thanks reporting this.

Can you provide us output of:

$ inxi -MSGxx

CC: (none) => ouaurelien
Status: NEW => NEEDINFO

Comment 4 Dan Fandrich 2021-07-06 06:10:21 CEST
$ inxi -MSGxx
System:    Host: haxn Kernel: 5.10.46-desktop-1.mga8 x86_64 bits: 64 compiler: gcc 
           v: 10.3.0 Desktop: KDE Plasma 5.20.4 tk: Qt 5.15.2 wm: kwin_x11 dm: SDDM 
           Distro: Mageia 8 mga8 
Machine:   Type: Desktop Mobo: ASUSTeK model: M5A99X EVO v: Rev 1.xx 
           serial: <superuser required> UEFI: American Megatrends v: 1708 date: 04/10/2013 
Graphics:  Device-1: AMD Cape Verde PRO [Radeon HD 7750/8740 / R7 250E] 
           vendor: PC Partner Limited driver: amdgpu v: kernel bus ID: 01:00.0 
           chip ID: 1002:683f 
           Display: x11 server: Mageia X.org 1.20.11 compositor: kwin_x11 
           driver: amdgpu,v4l resolution: 1: 1600x900~60Hz 2: 1920x1080~60Hz s-dpi: 96 
           OpenGL: renderer: AMD Radeon HD 7700 Series (VERDE DRM 3.40.0 
           5.10.46-desktop-1.mga8 LLVM 11.0.1) 
           v: 4.6 Mesa 21.1.3 direct render: Yes
Comment 5 Aurelien Oudelet 2021-07-09 13:20:53 CEST
Yeah, normally your system uses amdgpu.
dracut uses a hardcoded value to display our splash screen and for asking password.
There is a process runs each boot named "mga-bg-res" that resizes the splash screen to best value.
That process should done with only one screen to prevent unexpected results.

Unplug the lowest resolution display.
Run as root dracut -f
Restart.

It should display well now.
Comment 6 Dan Fandrich 2021-07-12 21:11:44 CEST
I disconnected the smaller screeen, ran "sudo dracut -f", plugged in the screen and rebooted, but there was no difference. I then tried disconnecting the smaller screen and then rebooting, and that was fine! The password entry box displayed as expected on the one connected hi-res screen.

Status: NEEDINFO => NEW

Comment 7 Aurelien Oudelet 2021-07-13 23:11:28 CEST
(In reply to Dan Fandrich from comment #6)
> I disconnected the smaller screeen, ran "sudo dracut -f", plugged in the
> screen and rebooted, but there was no difference. I then tried disconnecting
> the smaller screen and then rebooting, and that was fine! The password entry
> box displayed as expected on the one connected hi-res screen.

Huh.
So, with only one screen (the Hi-Res one), the password prompt is well seen?
And  with 2 screens this is impossible as they don't have same resolution?

Status: NEW => NEEDINFO

Comment 8 Aurelien Oudelet 2021-07-23 21:38:23 CEST
Reporter, could you please reply to the previous question? If you don't reply within two weeks from now, I will have to close this bug as OLD. Thank you.

Keywords: (none) => NEEDINFO

Comment 9 Dan Fandrich 2021-07-23 21:44:46 CEST
Comment #7 is correct. The password prompt is fine with only the one screen plugged in at boot, but can't be seen (except for a couple of pixels) if both screens are plugged in at boot.

Status: NEEDINFO => NEW

Comment 10 Aurelien Oudelet 2021-07-23 21:57:47 CEST
(In reply to Aurelien Oudelet from comment #7)
> (In reply to Dan Fandrich from comment #6)
> > I disconnected the smaller screeen, ran "sudo dracut -f", plugged in the
> > screen and rebooted, but there was no difference. I then tried disconnecting
> > the smaller screen and then rebooting, and that was fine! The password entry
> > box displayed as expected on the one connected hi-res screen.
> 
> Huh.
> So, with only one screen (the Hi-Res one), the password prompt is well seen?
> And  with 2 screens this is impossible as they don't have same resolution?

(In reply to Dan Fandrich from comment #9)
> Comment #7 is correct. The password prompt is fine with only the one screen
> plugged in at boot, but can't be seen (except for a couple of pixels) if
> both screens are plugged in at boot.

Well. So, potential cause here is multifactors:
- dracut, which does not seem to support multi-monitors with different screen resolution.
- use of Kernel ModeSettings drivers which gives console to be displayed on all screens.
- UEFI boot which uses native screen resolution.

Unsure if this is fixable.
Assigning to Kernel and Drivers maintainers
CC'd Basesystem.

Potential workaround: remove 'splash quiet' from kernel command-line under /etc/grub/default and regenerate grub with a 'update-grub' command. This will propose a non-graphical password prompt that should be correctly displayed.

Assignee: bugsquad => kernel
CC: (none) => basesystem
Keywords: NEEDINFO => (none)
Summary: Invisible disk password entry box on system with two dissimilar monitors => UEFI system and 2 displays (with different resolution): Invisible disk password prompt at boot