HardwareSupportComponentsVideoCardsPoulsbo

Differences between revisions 172 and 173
Revision 172 as of 2011-04-13 07:44:49
Size: 11863
Editor: 99-116-23-205
Comment: Some EMGD comments were wrong (possibly copied from IEGD?). EMGD's kernel driver is opensource and provides the full implementation of the display controller HAL.
Revision 173 as of 2011-05-05 15:22:21
Size: 10658
Editor: 93-40-180-167
Comment:
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
 *PSB driver
  *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)

 *EMGD driver
 *EMGD driver (currently supported)
Line 26: Line 18:
 *PSB-GFX driver  *PSB-GFX driver (under heavy development)
Line 33: Line 25:
 *IEGD driver  *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 (outdated)
Line 44: Line 44:
=== EMGD driver ===
||''Release''||'''Kernel'''||'''Xorg'''||'''2D accel'''||'''3D compiz'''||'''Normal Video Playback (Xv)'''||'''Hardware Video Acceleration'''<<FootNote(Refers to Hardware-Accelerated playback using vaapi, that is, libva library http://en.wikipedia.org/wiki/Intel_GMA#GMA_500_on_Linux)>>||
||Natty (11.04)||2.6.xx ||1.10||||||||<#B84747>N/A||
|| ||Upgraded 2.6.39-rc1||Downgraded 1.9||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#EB613D>???||
|| ||2.6.38-x||Downgraded 1.9||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#EB613D>???||
||Maverick (10.10)||2.6.35-x||1.9||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#FFEE66>Acceptable||
||Lucid (10.04)||2.6.32-x||Upgraded 1.8||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#B84747>N/A||

=== PSB-GFX driver ===
||''Release''||'''Kernel'''||'''Xorg'''||'''2D accel'''||'''3D compiz'''||'''Normal Video Playback (Xv)'''||'''Hardware Video Acceleration'''<<FootNote(Refers to Hardware-Accelerated playback using vaapi, that is, libva library http://en.wikipedia.org/wiki/Intel_GMA#GMA_500_on_Linux)>>||
||Natty (11.04)||Upgraded 2.6.39-rc1||1.10||<#00FF00>Excellent||<#B84747>N/A||<#B84747>N/A||<#B84747>N/A||
|| ||2.6.38-x||1.10||||||||<#B84747>N/A||
Line 54: Line 66:
=== EMGD driver ===
||''Release''||'''Kernel'''||'''Xorg'''||'''2D accel'''||'''3D compiz'''||'''Normal Video Playback (Xv)'''||'''Hardware Video Acceleration'''<<FootNote(Refers to Hardware-Accelerated playback using vaapi, that is, libva library http://en.wikipedia.org/wiki/Intel_GMA#GMA_500_on_Linux)>>||
||Natty (11.04)||2.6.xx ||1.10||||||||<#B84747>N/A||
|| ||Upgraded 2.6.39-rc1||Downgraded 1.9||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#EB613D>???||
|| ||2.6.38-x||Downgraded 1.9||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#EB613D>???||
||Maverick (10.10)||2.6.35-x||1.9||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#FFEE66>Acceptable||
||Lucid (10.04)||2.6.32-x||Upgraded 1.8||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#B84747>N/A||

=== PSB-GFX driver ===
||''Release''||'''Kernel'''||'''Xorg'''||'''2D accel'''||'''3D compiz'''||'''Normal Video Playback (Xv)'''||'''Hardware Video Acceleration'''<<FootNote(Refers to Hardware-Accelerated playback using vaapi, that is, libva library http://en.wikipedia.org/wiki/Intel_GMA#GMA_500_on_Linux)>>||
||Natty (11.04)||Upgraded 2.6.39-rc1||1.10||<#00FF00>Excellent||<#B84747>N/A||<#B84747>N/A||<#B84747>N/A||
|| ||2.6.38-x||1.10||||||||<#B84747>N/A||
Line 77: Line 76:
=== PSB drivers === === PSB drivers (outdated) ===
Line 90: Line 89:
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 Maverick and Lucid. They can be installed with the package manager of your choice.


=== Installation CD with PSB drivers ===
An unofficial Lucid iso image with gma500 support and mplayer-vaapi already embedded is available for downloading over bittorrent.
[[http://linuxtracker.org/download.php?id=f0b262a10d2a4401a4641cb01aef44c8fbccd051&f=ubuntu-10.04-desktop-i386-psb1.torrent|torrent link]]

'''There is an error with the psb package on the ISO. Kernel upgrades are broken. Please perform commands entered below to fix this issue. Not performing these commands can render your system unable to boot in case of kernel upgrades or Ubuntu version upgrades.'''
{{{
sudo apt-get update
sudo apt-get purge psb-kernel-source
sudo apt-get upgrade
sudo apt-get install psb-kernel-source
sudo apt-get install poulsbo-driver-2d poulsbo-driver-3d poulsbo-config
}}}
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.

Line 111: Line 98:
=== Tweaks ===
Known tweaks and workarounds for Karmic and Lucid (installed by default for Maverick and Natty)
=== Tweaks only for PSB drivers (outdated) ===
Known tweaks and workarounds for Karmic and Lucid (installed by default for Maverick)
Line 167: Line 154:
==== Compiz ====
{{{
sudo gedit /etc/X11/xorg.conf
}}}
and add the following option:
{{{
Option "ExaNoComposite" "true"
}}}

* install this updated poulsbo-config package: http://dl.dropbox.com/u/1338581/poulsbo/poulsbo-config_0.1.2%7E1004um3_all.deb

* install compiz

<<BR>>
Line 202: Line 175:

<<BR>>
==== Kernel mode setting ====
{{{
echo "psb
drm_psb" | sudo tee -a /etc/initramfs-tools/modules && sudo update-initramfs -u
}}}
In Maverick you would also have to remove "no_fb=1" from /etc/modprobe.d/poulsbo.conf

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 crappy 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 lacks with releasing up-to-date drivers. Almost full Ubuntu release cycle behind.
    • EMGD only officially supports a limited set of "POR" 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 Acclerated 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 (outdated)
    • Closed-source core and glue
    • Mediocre performance
    • Supported by Intel Embedded division
    • 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

Natty (11.04)

2.6.xx

1.10

N/A

Upgraded 2.6.39-rc1

Downgraded 1.9

Acceptable

Excellent

Excellent

???

2.6.38-x

Downgraded 1.9

Acceptable

Excellent

Excellent

???

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

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

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

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 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.

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.


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/defaults

and add in the file:

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


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


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

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)