Fixing Graphics Output Driver Problems of LES with newer Linux Kernels

From Thomas-Krenn-Wiki
Jump to: navigation, search

This article addresses graphics output driver issues with newer Linux cores on the Low Energy Server and explains how they can be solved. In this specific example, we will illustrate the use of Ubuntu 12:04 LTS with kernel 3.2 and kernel 3.5.

Problems with Graphics Output

In Ubuntu 12:04 errors in the screen output happen due to problems from the default graphics driver being used. The installation runs itself without problems. After the installation is complete, enter the following error message when booting the installed system:

  1. Faulty scrolling in the text console (kernel 3.2)
  2. After the Boot Menu screen the monitor turns off and remains black (kernel 3.5)
  3. Only the upper left part of the screen is used

The problems were caused by the supplied driver for the integrated graphics chip Intel GMA500.

Kernel 3.2 Solution

In the standard configuration Ubuntu 12.04 uses driver gma500_gfx with kernel 3.5 (with kernel >3.2 the older driver has been renamed):

user@les:~$ uname -a
Linux les 3.2.0-40-generic-pae #64-Ubuntu SMP Mon Mar 25 21:44:41 UTC 2013 i686 i686 i386 GNU/Linux
user@les:~$ lsmod
Module                  Size  Used by
i2c_isch               12662  0 
lpc_sch                12720  0 
mmc_block              22618  0 
mac_hid                13077  0 
psb_gfx               170345  1 
drm_kms_helper         45466  1 psb_gfx
drm                   197641  2 psb_gfx,drm_kms_helper
i2c_algo_bit           13199  1 psb_gfx
video                  19115  1 psb_gfx
coretemp               13290  0 
lp                     17455  0 
parport                40930  1 lp
sdhci_pci              18324  0 
sdhci                  28241  1 sdhci_pci
pata_sch               12700  3 
r8169                  56368  0 
user@les:~$ 

In order for the graphics output to work properly, the following boot parameter is required:

psb_gfx.blacklist=yes

This can be set temporarily from the grub menu when starting or permanently in the /etc/default file/grub. Please see Ubuntu 12.04 Kernel Parameters for the Low Energy Server.

Alternatively, the file /etc/modprobe.d/blacklist.conf can be supplemented with the following entry:

blacklist psb_gfx

The file contains the following:

# This file lists those modules which we do not want to be loaded by
# alias expansion, usually so some other driver will be loaded for the
# device instead.

blacklist psb_gfx

When adapting the file /etc/modprobe.d/blacklist.conf the following command must be performed at the end:

sudo update-initramfs -u

Kernel 3.5 Solution

In the standard configuration Ubuntu 12.04 uses driver gma500_gfx with kernel 3.5 (with kernel >3.2 the older driver has been renamed):

user@ubuntu:~$ uname -a
Linux ubuntu 3.5.0-27-generic #46~precise1-Ubuntu SMP Tue Mar 26 19:33:56 UTC 2013 i686 i686 i386 GNU/Linux
user@ubuntu:~$ lsmod
Module                  Size  Used by
i2c_isch               12672  0 
coretemp               13362  0 
kvm_intel             127736  0 
kvm                   365556  1 kvm_intel
microcode              18396  0 
lpc_sch                12728  0 
hid_generic            12485  0 
ext2                   67991  1 
gma500_gfx            198234  1 
drm_kms_helper         47459  1 gma500_gfx
drm                   240232  2 gma500_gfx,drm_kms_helper
i2c_algo_bit           13317  1 gma500_gfx
mac_hid                13078  0 
video                  19117  1 gma500_gfx
lp                     17456  0 
parport                40931  1 lp
usbhid                 46054  0 
hid                    82511  2 hid_generic,usbhid
usb_storage            39757  0 
pata_sch               12701  2 
r8169                  56853  0 

In order for the graphics output to work properly, the following boot parameter is required:

gma500_gfx.blacklist=yes

This can be set temporarily when starting from the grub menu or permanently in the /etc/default file/grub. Please see Ubuntu 12.04 Kernel Parameters for the Low Energy Server.

As an alternative, the file /etc/modprobe.d/blacklist.conf can be supplemented with the following entry:

blacklist gma500_gfx

The file contains the following:

# This file lists those modules which we don't want to be loaded by
# alias expansion, usually so some other driver will be loaded for the
# device instead.

blacklist gma500_gfx

When adapting the file /etc/modprobe.d/blacklist.conf the following command must be performed at the end:

sudo update-initramfs -u


Foto Werner Fischer.jpg

Author: Werner Fischer

Werner Fischer, working in the Web Operations & Knowledge Transfer team at Thomas-Krenn, completed his studies of Computer and Media Security at FH Hagenberg in Austria. He is a regular speaker at many conferences like LinuxTag, OSMC, OSDC, LinuxCon, and author for various IT magazines. In his spare time he enjoys playing the piano and training for a good result at the annual Linz marathon relay.


Related articles

Low Energy Server
Low Energy Server with TKmon
Install Ubuntu from a USB flash drive