modeswitch (flash to black) on intel between grub and plymouth

Bug #855764 reported by Steve Langasek
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
The Ubuntu Flicker-Free Boot Project
New
Undecided
Unassigned
linux (Ubuntu)
Incomplete
Low
Unassigned

Bug Description

Even after ensuring I have an up-to-date grub installed with the hwcheck license fix (verified from the grub shell at boot time), I get a brief clear-to-black between the purple grub screen and the start of plymouth.

Possibly relevant details:

 - plymouth is being started from the initramfs, not from the root system (cryptsetup)
 - I have grub configured to show the boot menu automatically, instead of the default of auto-booting to the first option
 - a plymouth debug log does show that plymouth is successfully using the drm backend, not the framebuffer backend; so this doesn't appear to be plymouth racing the kernel driver initialization.

Possibly relevant plymouth-debug.log snippets:

[main.c] check_for_consoles:checking for consoles
[main.c] check_for_consoles:There are currently 0 text displays
[main.c] redirect_standard_io_to_device:redirecting stdio to /dev/tty7
[main.c] initialize_environment:initialized minimal work environment
[main.c] attach_to_running_session:creating new terminal session
<snip>
[./plugin.c] create_backend:creating renderer backend for device /dev/dri/card0
[./plugin.c] load_driver:Attempting to load driver 'i915'
[ply-terminal.c] ply_terminal_open:trying to open terminal '/dev/tty7'
[ply-terminal.c] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c] ply_terminal_look_up_geometry:terminal is now 160x50 text cells
[./plugin.c] ply_renderer_head_new:Creating 1280x800 renderer head
<snip>
[main.c] add_pixel_displays_from_renderer:Adding displays for 1 heads
[main.c] plymouth_should_show_default_splash:checking if plymouth should show default splash
[main.c] show_default_splash:Showing splash screen

Colin says this is unlikely to be a bug in grub given that hwcheck is succeeding, so reporting this against the kernel.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: linux-image-3.0.0-11-generic 3.0.0-11.18
ProcVersionSignature: Ubuntu 3.0.0-11.18-generic 3.0.4
Uname: Linux 3.0.0-11-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.23-0ubuntu1
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: vorlon 3682 F.... pulseaudio
 /dev/snd/pcmC0D0p: vorlon 3682 F...m pulseaudio
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xf2520000 irq 44'
   Mixer name : 'Intel IbexPeak HDMI'
   Components : 'HDA:14f15069,17aa2155,00100302 HDA:80862804,17aa21b5,00100000'
   Controls : 12
   Simple ctrls : 6
Card29.Amixer.info:
 Card hw:29 'ThinkPadEC'/'ThinkPad Console Audio Control at EC reg 0x30, fw 6QHT30WW-1.11'
   Mixer name : 'ThinkPad EC 6QHT30WW-1.11'
   Components : ''
   Controls : 1
   Simple ctrls : 1
Card29.Amixer.values:
 Simple mixer control 'Console',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
Date: Wed Sep 21 10:12:55 2011
HibernationDevice: RESUME=UUID=f6ab3c43-61b4-4af7-bf03-fa3b147a1de0
InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
Lsusb:
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
 Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
 Bus 001 Device 003: ID 0a5c:217f Broadcom Corp. Bluetooth Controller
MachineType: LENOVO 3249CTO
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.0.0-11-generic root=/dev/mapper/hostname-root ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.0.0-11-generic N/A
 linux-backports-modules-3.0.0-11-generic N/A
 linux-firmware 1.60
SourcePackage: linux
StagingDrivers: mei
UpgradeStatus: Upgraded to oneiric on 2011-06-27 (86 days ago)
WifiSyslog:

dmi.bios.date: 08/23/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 6QET52WW (1.22 )
dmi.board.name: 3249CTO
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6QET52WW(1.22):bd08/23/2010:svnLENOVO:pn3249CTO:pvrThinkPadX201:rvnLENOVO:rn3249CTO:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 3249CTO
dmi.product.version: ThinkPad X201
dmi.sys.vendor: LENOVO

Revision history for this message
Steve Langasek (vorlon) wrote :
Changed in linux (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Steve Langasek (vorlon) wrote :

Attached is a short cameraphone video showing the behavior in question on a T60 where I can also reproduce it. The same result is seen whether plymouth is in the initramfs or not (i.e., it's reproducible on a test install that does not use cryptsetup), only the timing is different.

Andy has asked whether the clear to black might be related to a mode switch. The mode *looks* the same to me between grub and plymouth, but I don't know for sure.

Revision history for this message
Steve Langasek (vorlon) wrote :

Checked (with fbset) that the framebuffer setting post-boot is the preferred 1280x800 and tested with 'set gfxmode=1280x800' instead of the default 'set gfxmode=auto'. Same result (and 'vbeinfo' from the grub shell shows that 1280x800 is the preferred mode anyway).

Revision history for this message
Steve Langasek (vorlon) wrote :

Same result when specifying the bitdepth (gfxmode=1280x800x32). plymouth itself also correctly detects 1280x800 as the output size when it comes up.

Revision history for this message
Steve Langasek (vorlon) wrote :

Since this issue does not affect a test machine with nouveaufb, and plymouth disables use of the drm backend by default on nouveau, I tried both forcing nouveau with drm and testing intel without it (by moving drm.so aside). On nouveau I still get a smooth transition from grub to plymouth, with either drm or framebuffer backends. On intel with the framebuffer backend, plymouth thinks it's rendering but the screen is *blank* until I switch the console from graphics mode to text mode and back (either with a double VT switch, or by double-tapping Esc).

So I think this points to a bug in the intel kernel driver.

Revision history for this message
Steve Langasek (vorlon) wrote :
Revision history for this message
Steve Langasek (vorlon) wrote :

Per Andy's request, here's a dmesg from the machine booted with drm.debug=0x4.

Revision history for this message
Andy Whitcroft (apw) wrote : Re: flash to black between grub and plymouth in oneiric, with current grub

Reviewing the video this appears to be a mode switch and not a flash of a console. There is no cursor and the backlight appears to turn off. We are expecting to see a mode switch as drm initialises, even if we have a matched resolution as we are also switching tiliing modes and rejigging pipe connectivity. The Intel driver currently does not appear to be able to pick up the current mode as well as other drivers.

The dmesg above also confirms that the driver has initiated a full mode switch as it initialised, and that would be just before plymouth as plymouth enable is triggered off the end of the drm driver initialisation.

summary: - text console between grub and plymouth in oneiric, with current grub
+ black flasbetween grub and plymouth in oneiric, with current grub
summary: - black flasbetween grub and plymouth in oneiric, with current grub
+ flash to black between grub and plymouth in oneiric, with current grub
Steve Langasek (vorlon)
summary: - flash to black between grub and plymouth in oneiric, with current grub
+ modeswitch (flash to black) on intel between grub and plymouth
Changed in linux (Ubuntu):
status: Confirmed → Triaged
importance: Undecided → Medium
Revision history for this message
penalvch (penalvch) wrote :

Steve Langasek, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p linux <replace-with-bug-number>

Also, could you please test the latest upstream kernel available (not the daily folder) following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested. For example:
kernel-fixed-upstream-v3.13-rc1

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description. As well, please remove the tag:
needs-upstream-testing

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

As well, please remove the tag:
needs-upstream-testing

Once testing of the upstream kernel is complete, please mark this bug's Status as Confirmed. Please let us know your results. Thank you for your understanding.

tags: added: bios-outdated-1.40
tags: added: needs-upstream-testing
Changed in linux (Ubuntu):
assignee: Andy Whitcroft (apw) → nobody
importance: Medium → Low
status: Triaged → Incomplete
To post a comment you must log in.