HardwareSupportComponentsVideoCardsPoulsbo

Differences between revisions 180 and 181
Revision 180 as of 2011-11-17 09:22:33
Size: 12625
Editor: bzq-84-111-189-177
Comment:
Revision 181 as of 2011-12-03 01:32:57
Size: 13916
Editor: pool-108-20-128-224
Comment: Added 11.10 and 12.04 Alpha instructions
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
Unfortunately the support for this hardware is extremely crappy on Linux. There are several drivers, but all lacking certain basic features, future and current maintenance or support for things like suspend. Unfortunately the support for this hardware is extremely limited on Linux. There are several drivers, but all lacking certain basic features, future and current maintenance or support for things like suspend.
Line 21: Line 21:
  * No 3D, Xv, Hardware Acclerated Video and such available   * No 3D, Xv, Hardware Accelerated Video and such available
Line 46: Line 46:
||Oneiric (11.10)||3.0.0-x||1.10||||||||<#B84747>N/A||
|| ||3.0.0-x||Downgraded 1.9||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#FFEE66>Acceptable||
Line 47: Line 49:
|| ||Upgraded 2.6.39-rc1||Downgraded 1.9||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#FFEE66>Acceptble||
Line 54: Line 55:
||Precise (12.04)||3.2.0-x||1.10||<#00FF00>Excellent||<#B84747>N/A||<#B84747>N/A||<#B84747>N/A||
||Oneiric (11.10)||3.0.0-x||1.10||||||||<#B84747>Extremely unstable||
Line 59: Line 62:
||Oneiric (11.10)||3.0.0-x||1.10||||||||<#B84747>N/A||
Line 68: Line 72:
||Oneiric (11.10)|| || ||||||||<#B84747>N/A||
Line 76: Line 81:
=== Psb_gfx drivers (promising for Precise 12.04) ===
A functioning psb_gfx driver is included "out of the box" with Precise Alpha versions. The only problem is the stub driver (poulsbo) conflicts with the psb_gfx module.

 1. Boot 12.04 Alpha - graphics ([[X]]) will fail.
 1. Go to a console - Ctrl-Alt-F2 or Ctrl-Alt-F3
 1. Become root {{{
sudo -i}}}
 1. Remove the stub (poulsbo driver) and load the psb_gfx driver {{{
rmmod poulsbo
modprobe psb_gfx}}}
 1. Exit the root shell and start x as the user "ubuntu" {{{
exit}}}
 Then, as the user "ubuntu" {{{
startx}}}

'''After installation'''

 1. edit file /etc/modprobe.d/blacklist.conf and add line {{{
blacklist poulsbo}}}
 1. turn off [[Plymouth]] which is often corrupted with this driver {{{
sudo mv /etc/init/plymouth.conf /etc/init/plymouth.conf.disabled}}}

See related [[https://bugs.launchpad.net/ubuntu/+source/linux/+bug/899244 bug report]].
Line 77: Line 106:
Drivers are available in the gma500 PPA repository for Natty, Maverick and Lucid. The current version of the driver is EMGD 1.8. Drivers are available in the gma500 PPA repository for Natty and Oneiric. The current version of the driver is EMGD 1.8. Older EMGD 1.6 driver is available for Lucid.

Driver overview

This page details support for the Intel GMA500 "Poulsbo" video hardware in various Ubuntu releases. Unfortunately the support for this hardware is extremely limited on Linux. There are several drivers, but all lacking certain basic features, future and current maintenance or support for things like suspend.

The list of drivers including its major properties and below tables with a features matrix:

  • EMGD driver (currently supported)
    • Closed-source userspace (Xorg driver, libva support, and 3D rendering)
    • Open-source kernel module
      • Includes the full implementation of Intel's "HAL" for programming the display controller, and performing operations such as memory management and mode setting.
    • Mediocre performance
    • Supported by Intel Embedded division
    • Intel does not release up-to-date drivers. Almost full Ubuntu release cycle behind.
    • EMGD only officially supports a limited set of Linux distributions (currently specific releases of Fedora and Meego). Use on other distributions is possible, but not officially supported by Intel (try at your own risk).
    • Nobody knows how long Intel will support it; And when support stops, this driver is directly dead.
  • PSB-GFX driver (under heavy development)
    • Open-source kernel module
    • Brand new, only basic features. But with good 2D performance.
    • No 3D, Xv, Hardware Accelerated Video and such available
    • Written by kernel hackers
    • This driver will be very sustainable in the future, though whether a full set of features will ever be supported is unclear
  • PSB driver (outdated)
    • Closed-source core
    • Good performance
    • Not supported anymore by its original developers (Tungsten Graphics)
    • Some 'glue' around this core available, which can be maintained by community.
    • Community was able to fix the glue for newer releases of Ubuntu, though with driver performance degradation
    • No real sustainable future possible (gets harder with each Ubuntu release)
  • IEGD driver (obsolete)
    • Closed-source core and glue
    • Mediocre performance
    • Supported by Intel Embedded division; Intel recommends to use EMGD driver instead.
    • Nothing of this driver is open source, completely at the mercy of Intel
    • Even though new versions are released, no new Xorg versions are supported, limiting support to Karmic and making it useless on newer Ubuntu releases.
    • As user you can consider this driver as dead.
  • Other

EMGD driver

Release

Kernel

Xorg

2D accel

3D compiz

Normal Video Playback (Xv)

Hardware Video Acceleration1

Oneiric (11.10)

3.0.0-x

1.10

N/A

3.0.0-x

Downgraded 1.9

Acceptable

Excellent

Excellent

Acceptable

Natty (11.04)

2.6.xx

1.10

N/A

2.6.38-x

Downgraded 1.9

Acceptable

Excellent

Excellent

Acceptable

Maverick (10.10)

2.6.35-x

1.9

Acceptable

Excellent

Excellent

Acceptable

Lucid (10.04)

2.6.32-x

Upgraded 1.8

Acceptable

Excellent

Excellent

N/A

PSB-GFX driver

Release

Kernel

Xorg

2D accel

3D compiz

Normal Video Playback (Xv)

Hardware Video Acceleration1

Precise (12.04)

3.2.0-x

1.10

Excellent

N/A

N/A

N/A

Oneiric (11.10)

3.0.0-x

1.10

Extremely unstable

Natty (11.04)

Upgraded 2.6.39-rc1

1.10

Excellent

N/A

N/A

N/A

2.6.38-x

1.10

N/A

PSB driver

Release

Kernel

Xorg

2D accel

3D compiz

Normal Video Playback (Xv)

Hardware Video Acceleration1

Oneiric (11.10)

3.0.0-x

1.10

N/A

Natty (11.04)

Upgraded 2.6.39-rc1

1.10

N/A

2.6.38-x

1.10

N/A

Downgraded 2.6.35-x

1.10

Excellent

Bad

Acceptable

Excellent

Maverick (10.10)

2.6.35-x

1.9

Excellent

Excellent

Acceptable

Excellent

Lucid (10.04)

2.6.32-x

1.7

Excellent

Excellent

Acceptable

Excellent

Karmic (9.10)

2.6.30-x

1.6

Excellent

Excellent

Excellent

Excellent

IEGD driver

Release

Kernel

Xorg

2D accel

3D compiz

Normal Video Playback (Xv)

Hardware Video Acceleration1

Oneiric (11.10)

N/A

Natty (11.04)

N/A

Maverick (10.10)

N/A

Lucid (10.04)

N/A

Karmic (9.10)

2.6.30-x

1.6

Acceptable

Acceptable

Excellent

N/A


Drivers installation

Psb_gfx drivers (promising for Precise 12.04)

A functioning psb_gfx driver is included "out of the box" with Precise Alpha versions. The only problem is the stub driver (poulsbo) conflicts with the psb_gfx module.

  1. Boot 12.04 Alpha - graphics (X) will fail.

  2. Go to a console - Ctrl-Alt-F2 or Ctrl-Alt-F3
  3. Become root

    sudo -i
  4. Remove the stub (poulsbo driver) and load the psb_gfx driver

    rmmod poulsbo
    modprobe psb_gfx
  5. Exit the root shell and start x as the user "ubuntu"

    exit

    Then, as the user "ubuntu"

    startx

After installation

  1. edit file /etc/modprobe.d/blacklist.conf and add line

    blacklist poulsbo
  2. turn off Plymouth which is often corrupted with this driver

    sudo mv /etc/init/plymouth.conf /etc/init/plymouth.conf.disabled

See related https://bugs.launchpad.net/ubuntu/+source/linux/+bug/899244 bug report.

Emgd drivers (currently supported)

Drivers are available in the gma500 PPA repository for Natty and Oneiric. The current version of the driver is EMGD 1.8. Older EMGD 1.6 driver is available for Lucid.

Repository page: https://launchpad.net/~gma500/+archive/emgd-1.8


Instructions for Natty and Oneiric only. Open a terminal and type:

sudo add-apt-repository ppa:gma500/emgd-1.8
sudo apt-get update
sudo apt-get install xorg-emgd emgd-dkms
sudo emgd-xorg-conf

reboot for the changes to take effect.


Installation script for Lucid and Maverick:

wget dl.dropbox.com/u/1338581/gma500/emgd-lucid.sh && sh ./emgd-lucid.sh

wget dl.dropbox.com/u/1338581/gma500/emgd-maverick.sh && sh ./emgd-maverick.sh


Known workarounds that address problems such as Plymouth (startup screen), Brightness keys, Hibernate/Suspend, and Mplayer can be found on this page:

https://answers.launchpad.net/emgd/+faq/1450

PSB drivers (outdated)

Drivers are available in the gma500 PPA repository for Maverick, Lucid, Karmic, Jaunty and Intrepid. With the note that Jaunty and Intrepid versions are no longer supported and guaranteed to work.

Open a terminal and type:

sudo add-apt-repository ppa:gma500/ppa && sudo apt-get update && sudo apt-get install poulsbo-driver-3d

reboot for the changes to take effect.

(At least on Lucid, poulsbo-driver-3d conflicts with compiz packages. You need to uninstall them first.)

Note: remember to perform after a version upgrade the commands in the terminal again to update to the gma500 packages matching your Ubuntu version.

Optimized software matching the PSB drivers

The gma500 PPA repository also ships mplayer, gnome-mplayer and vlc (currently vlc has still some issues and does not always work) with enabled vaapi backend. These are only available for Natty, Maverick and Lucid. They can be installed with the package manager of your choice.


Driver Removal

Emgd drivers

If you installed from live ISO, remove all packages installed by the PPA:

sudo apt-get purge emgd-support*

Afterwards, use a package manager like Synaptic (System->Administration->Synaptic Package Manager) or muon to remove the rest of the packages called "emgd*"


Known issues and tweaks

Feedback

When applying any tweaks from below we kindly request you to provide feedback concerning the results from the chosen tweaks on your laptop. Please fill out this form to send your findings to the gma500 team.

Tweaks only for PSB drivers (outdated)

Known tweaks and workarounds for Karmic and Lucid (installed by default for Maverick)

Suspend by moving 99video

sudo mv /usr/lib/pm-utils/sleep.d/99video /usr/lib/pm-utils/99video

Suspend by using uswsusp (alternative)

sudo apt-get purge vbetool && sudo apt-get install uswsusp

and suspend using:

sudo s2ram --force

to make this permanent, run:

sudo gedit /etc/pm/config.d/00sleep_module

and set in the file:

SLEEP_MODULE="uswsusp"

and run:

sudo gedit /etc/pm/config.d/defaults

and add in the file:

S2RAM_OPTS="--force"
QUIRK_NONE="true"

After that, you can run  pm-suspend  instead of  s2ram --force .

But suspending via gnome-power-manager (for example, through the suspend menu) doesn't work.


Brightness hotkeys

sudo gedit /etc/default/grub

add the following parameters to grub configuration:

GRUB_CMDLINE_LINUX="acpi_osi=Linux acpi_backlight=vendor"

next run:

sudo update-grub

After adding the parameters to grub, functional keys such as wireless and volume also work.


Memory allocation optimization

You can often improve peformance by limiting the amount of RAM used by the system so that there will be more available for the videocard:

sudo gedit /etc/default/grub

add the following parameters to grub configuation if you have for example 1GB RAM:

GRUB_CMDLINE_LINUX="mem=896mb"

or if you have 2GB RAM:

GRUB_CMDLINE_LINUX="mem=1920mb"

next run:

sudo update-grub


Flash plugin replacement for Firefox

(for all Ubuntu releases):

* install gnome-mplayer and gecko-mediaplayer

* tune gnome-mplayer settings like the following screenshots:

http://lukaszklich.pl/wp-content/uploads/2010/05/vaapi_output.png

http://lukaszklich.pl/wp-content/uploads/2010/05/vaapi_va.png

(This should already be automatically done by the gnome-mplayer package from the gma500 repository)

* install this firefox addons: http://flvideoreplacer-extension.blogspot.com/


Hardy (8.04)

The Poulsbo hardware is not supported in the community version of Ubuntu. However, it is reputed to "just work" on Hardy version shipped by a netbook manufacturer.

For example, the support for GMA 500 hardware by Dell Ubuntu Hardy 8.04 is provided by the following repository

deb http://dell-mini.archive.canonical.com/updates hardy-dell-mini public

Contribution

The Ubuntu community is a great example of free software community in action, and is arguable one of the greatest examples of free software community in the world. To make Ubuntu better, You would like to take a look on new project Intel GMA500 'Poulsbo' and provide any help.

Common problems

X doesn't start

Double check that the psb kernel module can be loaded into the running kernel by running modprobe psb. If not, remove and re-install the psb module as mentioned under Installation CD with psp drivers.

3D Graphics (OpenGL) does not work after suspend and resume

This is a known bug with psb kernel driver. Due to partial close nature of the driver, because Intel has not released an open source driver, the bug fix is currently no available. There are reports2 that a new driver will be available shortly.

Additional Reading

Why GMA 500 hardware doesn't work out of the box? Read "How To Kick Your Friends in the Face: GMA500" by Shawn Powers and the Intel "apology" "Blaming Intel for how the world is" by Henry Kingman

EMGD driver description from Intel: http://www.intel.com/p/en_US/embedded/hwsw/software/emgd

http://arstechnica.com/open-source/news/2009/12/poulsbo-mess-casts-a-shadow-on-intels-moblin-project.ars

Other problems?

If you're still having problems, please mail ubuntu-mobile@lists.ubuntu.com, and do not submit bug reports.

  1. Refers to Hardware-Accelerated playback using vaapi, that is, libva library http://en.wikipedia.org/wiki/Intel_GMA#GMA_500_on_Linux (1 2 3 4)

  2. http://www.phoronix.com/scan.php?page=news_item&px=NzY2Mg (5)

HardwareSupportComponentsVideoCardsPoulsbo (last edited 2013-11-11 16:58:16 by 157)