[Bug 907446] Re: Corrupt ttys, splash; Console colour dummy device
TJ
907446 at bugs.launchpad.net
Fri Dec 23 23:40:54 UTC 2011
I've been analysing the kernel's start-up code that sets the console.
The selection of the dummy console occurs in
drivers/video/console/vgacon.c::vgacon_startup()
There is a code label "novga" which results in the VGA console driver
not being used:
if (screen_info.orig_video_isVGA == VIDEO_TYPE_VLFB ||
screen_info.orig_video_isVGA == VIDEO_TYPE_EFI) {
no_vga:
#ifdef CONFIG_DUMMY_CONSOLE
conswitchp = &dummy_con;
return conswitchp->con_startup();
#else
return NULL;
#endif
The "novga" label is also reached from later code that checks
boot_params.screen_info has been initialized, and then whether the
screen is in a VGA16 mode not handled by VGACON.
/* boot_params.screen_info initialized? */
if ((screen_info.orig_video_mode == 0) &&
(screen_info.orig_video_lines == 0) &&
(screen_info.orig_video_cols == 0))
goto no_vga;
/* VGA16 modes are not handled by VGACON */
if ((screen_info.orig_video_mode == 0x0D) || /* 320x200/4 */
(screen_info.orig_video_mode == 0x0E) || /* 640x200/4 */
(screen_info.orig_video_mode == 0x10) || /* 640x350/4 */
(screen_info.orig_video_mode == 0x12) || /* 640x480/4 */
(screen_info.orig_video_mode == 0x6A)) /* 800x600/4 (VESA) */
goto no_vga;
For a while I was chasing a presumption that arch/x86/kernel/setup.c::setup_arch() was enabling EFI support with
efi_enabled=1;
After a lot of analysis of boot_params.efi_info I arrived at the
"novga" code and realised it can also be triggered by the boot-loader
leaving the display in a graphic mode.
I then investigated the GRUB configuration and discovered the
GRUB_GFXPAYLOAD_LINUX option, described in the blueprint
https://blueprints.launchpad.net/ubuntu/+spec/packageselection-
foundations-n-grub2-boot-framebuffer
The bug can be fixed in "/etc/default/grub" by adding
GRUB_GFXPAYLOAD_LINUX=text
However, this is a local workaround. The blueprint refers to the file
"/boot/grub/gfxblacklist" which is generated by a script in the package
"grub-gfxpayload-lists". The file contains PCI IDs of video devices that
GRUB should not leave in graphics mode. These are declared in
"/usr/share/grub-gfxpayload-lists/blacklist/"
The attached patch adds a new file "20_intel" to the blacklisted devices
in the package.
If adding it manually to a system, place it in the "/usr/share/grub-
gfxpayload-lists/blacklist/" directory.
To add the new device to "/boot/grub/gfxblacklist.txt" run:
sudo update-grub-gfxpayload
** Patch added: "Blacklist Intel 815 devices from GRUB GFX handover"
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/907446/+attachment/2645278/+files/0001-LP907446-corrupt-consoles-on-Intel-i815-device.patch
** Also affects: grub-gfxpayload-lists (Ubuntu)
Importance: Undecided
Status: New
** Changed in: grub-gfxpayload-lists (Ubuntu)
Status: New => Confirmed
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub-gfxpayload-lists in
Ubuntu.
https://bugs.launchpad.net/bugs/907446
Title:
Corrupt ttys, splash; Console colour dummy device
Status in “grub-gfxpayload-lists” package in Ubuntu:
Confirmed
Status in “linux” package in Ubuntu:
Confirmed
Bug description:
Sony PCG-SRX51P, with Intel 810 graphics.
A clean installation of 11.10 32-bit, wiping out the previously
correctly working Xubuntu 10.04 installation.
The boot splash screen is corrupted (appears to be text-mode but with
the >128 ASCII-code box drawing characters). Once at the X/Unity log-
in prompt switching to any of the the virtual consoles (tty1-6) the
consoles are also corrupted and impossible to read.
The best description of what is seen is that spaces are spaces, but
characters are drawn outline-shadowed (like HTML inset/outset table
borders) and drawn mirrored through the Y axis. E.g. a "b" looks like
a "d". Making out the characters is extremely difficult unless you
know what to expect, such as when typing username at the console log-
in prompt.
I noticed the kernel reports:
Console: colour dummy console 80x25
instead of what I'd expect:
Console: colour VGA+ 80x25
Also, it seems the efifb driver creates a framebuffer device later
although I'm not sure if it is responsible for the corrupted display.
More likely is that GRUB leaves the video chipset in an unexpected
mode.
lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 82815 815 Chipset Host Bridge and Memory Controller Hub [8086:1130] (rev 11)
00:02.0 VGA compatible controller [0300]: Intel Corporation 82815 Chipset Graphics Controller (CGC) [8086:1132] (rev 11)
ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: linux-image-3.0.0-12-generic 3.0.0-12.20
ProcVersionSignature: Ubuntu 3.0.0-12.20-generic 3.0.4
Uname: Linux 3.0.0-12-generic i686
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
AplayDevices:
**** List of PLAYBACK Hardware Devices ****
card 0: I82801BAICH2 [Intel 82801BA-ICH2], device 0: Intel ICH [Intel 82801BA-ICH2]
Subdevices: 1/1
Subdevice #0: subdevice #0
ApportVersion: 1.23-0ubuntu4
Architecture: i386
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/controlC0: tj 1618 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
Card hw:0 'I82801BAICH2'/'Intel 82801BA-ICH2 with YMF753 at irq 9'
Mixer name : 'Yamaha YMF753'
Components : 'AC97a:594d4803'
Controls : 41
Simple ctrls : 28
Date: Wed Dec 21 17:02:46 2011
EcryptfsInUse: Yes
HibernationDevice: RESUME=UUID=be8937e3-e911-452c-b8ce-353b831a7c2c
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111012)
Lsusb:
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 054c:0069 Sony Corp. Memorystick MSC-U03 Reader
Bus 002 Device 003: ID 044e:3002 Alps Electric Co., Ltd Bluetooth Device
MachineType: Sony Corporation PCG-SRX51P_B(GB)
PccardctlIdent:
Socket 0:
no product info available
PccardctlStatus:
Socket 0:
no card
ProcEnviron:
LANGUAGE=en_GB:en
PATH=(custom, no user)
LANG=en_GB.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-12-generic root=UUID=ca308bfa-d389-4d9e-92a7-2dd4b55cba2e ro quiet splash vt.handoff=7 video=efifb:off
RelatedPackageVersions:
linux-restricted-modules-3.0.0-12-generic N/A
linux-backports-modules-3.0.0-12-generic N/A
linux-firmware 1.60
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 01/24/03
dmi.bios.vendor: Phoenix Technologies LTD
dmi.bios.version: R0232U2
dmi.chassis.asset.tag: 463M3A3471383200000000000000
dmi.chassis.type: 10
dmi.chassis.vendor: Sony Corporation
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvrR0232U2:bd01/24/03:svnSonyCorporation:pnPCG-SRX51P_B(GB):pvr01:cvnSonyCorporation:ct10:cvrN/A:
dmi.product.name: PCG-SRX51P_B(GB)
dmi.product.version: 01
dmi.sys.vendor: Sony Corporation
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub-gfxpayload-lists/+bug/907446/+subscriptions
More information about the foundations-bugs
mailing list