No flicker free boot since Ignoring BGRT: invalid version 0 (expected 1)

Bug #1838443 reported by shemgp
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

On eoan dev here:

Flicker free booting doesn't work since I get:
Ignoring BGRT: invalid version 0 (expected 1)
on dmesg on my Thinkpad x230t i7-3520M (Ivy Bridge).

Second, if I add:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.fastboot=1"
to /etc/default/grub then it doesn't show plymouth but displays the text Ubuntu loading screen and I need to press ALT+F1 so GDM will show up (see video: [1]). If I press escape while it is displaying text Ubuntu loading, it loads plymouth (see video: [2]) and shows the spinner (no lenovo word) and I don't need to press ALT+F1 since GDM shows after plymouth. So I guess there's a bug there, since it should display plymouth and not the Ubuntu loading text and boot directly to GDM.

Now if I patch the kernel:
diff --git a/drivers/firmware/efi/efi-bgrt.c b/drivers/firmware/efi/efi-bgrt.c
index b07c17643210..5754e530af9a 100644
--- a/drivers/firmware/efi/efi-bgrt.c
+++ b/drivers/firmware/efi/efi-bgrt.c
@@ -42,7 +42,7 @@ void __init efi_bgrt_init(struct acpi_table_header *table)
                return;
        }
        *bgrt = *(struct acpi_table_bgrt *)table;
- if (bgrt->version != 1) {
+ if (bgrt->version != 1 && false) { /* don't check BGRT version */
                pr_notice("Ignoring BGRT: invalid version %u (expected 1)\n",
                       bgrt->version);
                goto out;

And linux-modules and linux-modules-extra is not installed in that kernel, then I have somewhat flicker free boot. It shows the bgrt screen then goes black (probably grub loading), then shows the bgrt screen again with the spinner. Nice! (see video: [3])

So, I guess my Thinkpad is not setting bgrt version properly. So can we have a kernel parameter to disable checking of bgrt version?

Then again, if I install linux-modules and linux-modules-extra then I get the Ubuntu loading text when booting, but if I press esc I get the bgrt screen with spinner. I think it's it's a bug somewhere in the linux-modules package.

[1] https://youtu.be/tAgRf2c7J4A
[2] https://youtu.be/1ystyzLhSaw
[3] https://youtu.be/8AAkUDO2Kt8

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: linux-image-5.2.0-8-generic (not installed)
ProcVersionSignature: Ubuntu 5.2.0-8.9+test1-generic 5.2.0
Uname: Linux 5.2.0-8-generic x86_64
ApportVersion: 2.20.11-0ubuntu7
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: shemgp 13358 F.... pulseaudio
CurrentDesktop: GNOME
Date: Tue Jul 30 23:49:49 2019
EcryptfsInUse: Yes
HibernationDevice: RESUME=UUID=cc5ba738-82e8-404a-9bcc-f1dfed94fce0
InstallationDate: Installed on 2015-09-28 (1401 days ago)
InstallationMedia: Ubuntu 15.04 "Vivid Vervet" - Release amd64 (20150422)
MachineType: LENOVO 34361A0
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.2.0-8-generic root=UUID=da81a856-84d5-4ca7-8c0a-4f20006730bc ro quiet splash i915.fastboot=1 vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-5.2.0-8-generic N/A
 linux-backports-modules-5.2.0-8-generic N/A
 linux-firmware 1.181
SourcePackage: linux
StagingDrivers: ashmem_linux
UpgradeStatus: Upgraded to eoan on 2019-07-26 (4 days ago)
dmi.bios.date: 06/11/2019
dmi.bios.vendor: LENOVO
dmi.bios.version: GCETB4WW (2.74 )
dmi.board.asset.tag: Not Available
dmi.board.name: 34361A0
dmi.board.vendor: LENOVO
dmi.board.version: Not Defined
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvrGCETB4WW(2.74):bd06/11/2019:svnLENOVO:pn34361A0:pvrThinkPadX220:rvnLENOVO:rn34361A0:rvrNotDefined:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.family: ThinkPad X220
dmi.product.name: 34361A0
dmi.product.sku: LENOVO_MT_3436
dmi.product.version: ThinkPad X220
dmi.sys.vendor: LENOVO

Revision history for this message
shemgp (shemgp) wrote :
description: updated
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
shemgp (shemgp)
tags: added: flickerfreeboot
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Your BIOS data is showing "X220". I guess Lenovo is mixing BIOS images now?...

Revision history for this message
shemgp (shemgp) wrote : Re: [Bug 1838443] Re: No flicker free boot since Ignoring BGRT: invalid version 0 (expected 1)

I changed the motherboard so that I can have i7. Perhaps the motherboard
that they gave me was for x220, but it fits.

On Fri, Aug 2, 2019, 12:20 PM Daniel van Vugt <email address hidden>
wrote:

> Your BIOS data is showing "X220". I guess Lenovo is mixing BIOS images
> now?...
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1838443
>
> Title:
> No flicker free boot since Ignoring BGRT: invalid version 0 (expected
> 1)
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1838443/+subscriptions
>

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Page 207 of the spec says the BGRT version "must be 1".

https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf

On the other hand, this means any value other than 1 is meaningless. I think the kernel should just be changed to automatically accept other version numbers. And maybe issue a warning.

Revision history for this message
shemgp (shemgp) wrote :

Want me to cook up a patch or a debdiff? If what you said should be done, I think it can be solved by removing the:
                 goto out;
and changing the wording of: Ignoring BGRT: invalid version %u (expected 1)

Changed in linux (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It's not up to me... You'll need to seek guidance and a code review from kernel developers.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Please raise the issue to <email address hidden>.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.