HardwareSupportComponentsVideoCardsPoulsbo

Differences between revisions 218 and 219
Revision 218 as of 2012-05-18 20:36:46
Size: 17653
Editor: bodhi.zazen
Comment:
Revision 219 as of 2012-05-21 15:59:22
Size: 5229
Editor: bodhi.zazen
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
This page details support for the Intel GMA500 "Poulsbo" video hardware in various Ubuntu releases. This page details support for the Intel GMA500 "Poulsbo" video hardware with Ubuntu 12.04 and higher.
Line 7: Line 8:
The list of drivers including its major properties and below tables with a features matrix:
Line 9: Line 9:
 *PSB-GFX driver AKA '''gma500_gfx''' - maintained "upstream" at [[http://kernel.org/|kernel.org]]
  * Open-source kernel module, works on any distribution running a 3.2 kernel or higher.
  * Excellent 2D performance, with some minor bugs (see below for work arounds).
  * Most of the bugs are fixed using a 3.3.4 or higher kernel.
  * Much easier to maintain then any other choice, driver of choice unless you have specific needs.
  * No 3D, Xv, Hardware Accelerated Video and such available
  * Written by [[http://en.wikipedia.org/wiki/Alan_Cox|Alan Cox]] at lkml.org.
  * Whether a full set of features will ever be supported is unclear.

## This driver has not been supported on Fedora in a long time.
## Please find a citation, as I did with arch, if you are going to add another distro to this list.
## Please do not update information on this driver if you are not on the gma500 team.
 *EMGD driver (obsolete)
  * Closed-source userspace (Xorg driver, libva support, and 3D rendering).
  * Open-source kernel module.
  * Last stable on Ubuntu 10.10, experimental on 11.10 and 11.10, not available for 12.04 or higher.

 *PSB driver (obsolete)
  *Closed-source core
  *Good performance, but no longer supported (original developers - Tungsten Graphics).

 *IEGD driver (obsolete)
  * Closed-source core and glue
  * Mediocre performance
  * No longer supported by Intel Embedded division; Intel recommends to use EMGD driver instead.

 *Other
  *You can also choose to use a basic driver like fbdev, see [[HardwareSupportComponentsVideoCardsPoulsboAlternatives]].

== 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)>>||
||Precise (12.04)||3.2.0-x||1.10||<#00FF00>Excellent||<#B84747>N/A||<#FFEE66>Acceptable||<#B84747>N/A||
||Oneiric (11.10)||linux-libre 3.3.x||1.10||<#00FF00>Excellent||<#B84747>N/A||<#FFEE66>Acceptable||<#B84747>N/A||
||Oneiric (11.10)||3.0.0-x||1.10||||||||<#B84747>Extremely unstable||
||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||

== EMGD driver ==
||''Release''||'''Kernel'''||'''Xorg'''||'''EMGD Version'''||'''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)>>||
||Oneiric (11.10) + ||3.0.0-x||1.10||1.10+||||||||<#B84747>N/A||
|| ||3.0.0-x||Downgraded 1.9||1.8||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#FFEE66>Acceptable||
||Natty (11.04)||2.6.xx ||1.10||1.10+||||||||<#B84747>N/A||
|| ||2.6.38-x||Downgraded 1.9||1.8||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#FFEE66>Acceptable||
||Maverick (10.10)||2.6.35-x||1.9||1.6||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#FFEE66>Acceptable||
||Lucid (10.04)||2.6.32-x||Upgraded 1.8||1.6||<#FFEE66>Acceptable||<#00FF00>Excellent||<#00FF00>Excellent||<#B84747>N/A||

== PSB 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)>>||
||Oneiric (11.10)||3.0.0-x||1.10||||||||<#B84747>N/A||
||Natty (11.04)||Upgraded 2.6.39-rc1||1.10||||||||<#B84747>N/A||
|| ||2.6.38-x||1.10||||||||<#B84747>N/A||
|| ||Downgraded 2.6.35-x||1.10||<#00FF00>Excellent||<#EB613D>Bad||<#FFEE66>Acceptable||<#00FF00>Excellent||
||Maverick (10.10)||2.6.35-x||1.9||<#00FF00>Excellent||<#00FF00>Excellent||<#FFEE66>Acceptable||<#00FF00>Excellent||
||Lucid (10.04)||2.6.32-x||1.7||<#00FF00>Excellent||<#B84747>N/A||<#FFEE66>Acceptable||<#00FF00>Excellent||
||Karmic (9.10)||2.6.30-x||1.6||<#00FF00>Excellent||<#00FF00>Excellent||<#00FF00>Excellent||<#00FF00>Excellent||

== IEGD 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)>>||
||Oneiric (11.10)|| || ||||||||<#B84747>N/A||
||Natty (11.04) || || ||||||||<#B84747>N/A||
||Maverick (10.10) || || ||||||||<#B84747>N/A||
||Lucid (10.04) || || ||||||||<#B84747>N/A||
||Karmic (9.10)||2.6.30-x||1.6||<#FFEE66>Acceptable||<#FFEE66>Acceptable||<#00FF00>Excellent||<#B84747>N/A||

= Drivers installation =

== PSB-GFX drivers ==
= PSB-GFX driver =
Line 82: Line 16:
=== 12.04 === == 12.04 ==
Line 84: Line 18:
The problem with 12.04 is that the default kernel included on the desktop CD is 3.3.2. This kernel works, but requires some custom boot parameters. Without these parameters you will either get a black screen or distortion. === Live (Desktop) CD ===

The problem with 12.04 is that the default kernel included on the desktop CD (all variants) is 3.3.2. This kernel works, but requires some custom boot parameters. Without these parameters you will either get a black screen or distortion.
Line 92: Line 28:
'''Post installation''' === Post installation ===
Line 94: Line 30:
==== Black screen on boot ==== With the default 3.3.2 kernel, you need to add some options to the grub boot options or you will get a black screen.

'''''Starting with kernel 3.3.4 , the gma500_gfx driver works without adding any boot options.'''''
Line 98: Line 36:
'''1st way''' Use "console=tty1" as a boot option. ==== Grub options ====

Perhaps the easie
st method is to use "console=tty1" as a boot option.
Line 104: Line 44:
find the following line: GRUB_CMDLINE_DEAULT="quiet splash" Find the following line: '''GRUB_CMDLINE_DEAULT="quiet splash" '''
Line 106: Line 46:
and add console=tty1 in between the quotes, the end result looking as follows Add console=tty1 in between the quotes, the end result looking as follows
Line 108: Line 48:
Generic options: '''Generic options'''
Line 120: Line 60:
'''2nd way''' Disable splash. Essentially the same as above, just remove '''splash''' from the GRUB_CMDLINE_DEFAULT options. ==== Disable splash ====
Line 122: Line 62:
'''3rd way''' Use 915 Resolution. Some people find they need to disable the splash.

Essentially the same as above, just remove '''splash''' from the GRUB_CMDLINE_DEFAULT options.


==== 915_Resolution ====
Line 126: Line 71:
    echo insmod 915resolution
    echo 915resolution 58 1366 768 32
    {{{
echo insmod 915resolution
echo 915resolution 58 1366 768 32
}}}
Line 131: Line 78:
    sudo chmod a+x /etc/grub.d/01_915resolution {{{
sudo chmod a+x /etc/grub.d/01_915resolution
}}}
Line 135: Line 84:
    GRUB_GFXPAYLOAD_LINUX=1366x768x32 {{{
GRUB_GFXPAYLOAD_LINUX=1366x768x32
}}}
Line 139: Line 90:
    sudo update-grub {{{
sudo update-grub
}}}
Line 141: Line 94:
NOTE: some gma500 users may have to switch to tty1 and back to tty7 even after the above modification to have a correct desktop. '''''NOTE: some gma500 users may have to switch to tty1 and back to tty7 even after the above modification to have a correct desktop.'''''
Line 143: Line 96:
==== Fix suspend ==== = Problem solving =

Most of the problems and workarounds listed are BIOS and Vendor specific. If your hardware is not listed, you may need to experiment.

== Fix suspend ==
Line 158: Line 115:
== Memory allocation optimization ==
You can often improve performance by limiting the amount of RAM used by the system so that there will be more available for the videocard:
Line 159: Line 118:
=== 11.10 ===

The default 3.0.x kernel does not work.

The linux-libre 3.3.x kernel is working. You can obtain it from [[http://jxself.org/linux-libre/|This repository]]

After adding the repository,

{{{sudo apt-get update && sudo apt-get install linux-image-3.3.2-gnu-686 }}}



== Emgd drivers (currently unsupported and experimental) ==

=== EMGD 1.14 ===

The latest EMGD driver is 1.14. This driver is not packaged for Ubuntu and to use this driver you will need to compile both a custom kernel and the driver itself from source. Hopefully the gma500 team will have drivers available soon.

Disadvantages of EMGD on Ubuntu 12.04 :

 *Requires compilation of a custom kerenl.
 *Requires compilation of the EMGD driver.
 *Requires a custom '''/etc/X11/xorg.conf'''
 *The driver is experimental and although it works for some, it does not work for everyone.
 *The 3d video drivers are particularly problematic. many people can get the basic driver working, but without the 3d video.
 *There is no official support from Ubuntu for either custom kernels or the EMGD driver.
 *There is currently no documentation on how to compile and use the EMGD 1.14 driver.
 *The EMGD 1.14 driver officially supports Fedora 14 (outdated), kernel 2.6, and xorg 1.9, all of which are very much out of date for Ubuntu 12.04. To use the driver you will need to downgrade all these packages, which means pinning packages from 11.10 or 11.04. Pinning packages from previous releases is not advised for new users, may cause problems or breakage, and is unsupported.

'''''As a "solution" to the difficulty, some third parties have posted custom kernels and/or custom iso. These postings are without the support or oversight of the gma500 team and you should use them with the utmost of caution. Use extreme caution with third party custom kernels, they have not been peer reviewed and may cause hardware problems, may contain security risks/threats, and are completely unsupported.'''''

Older Drivers are available in the gma500 PPA repository for Natty and Oneiric. The drivers on Oneiric are marked as experimental and do not work for everyone.

=== EMGD 1.8 ===

Repository page: https://launchpad.net/~gma500/+archive/emgd-1.8
<<BR>>
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.

=== EMGD 1.10 (under testing) ===

Repository page: https://launchpad.net/~gma500/+archive/emgd110
<<BR>>
Instructions for '''Oneiric''' only. Open a terminal and type:
{{{
sudo add-apt-repository ppa:gma500/emgd110
sudo apt-get update
sudo apt-get install emgd-support
sudo emgd-xorg-conf
}}}
reboot for the changes to take effect.

=== EMGD Known Workarounds ===

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

{{{
sudo apt-get -y remove compiz*
}}}

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.


<<BR>>
= 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 ([[https://help.ubuntu.com/community/SynapticHowto|System->Administration->Synaptic Package Manager]]) or muon to remove the rest of the packages called "emgd*"

<<BR>>
= 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 [[https://spreadsheets.google.com/viewform?hl=en&formkey=dENwSWtqajhUSXRlRzN6WFk4RzJRWlE6MQ#gid=0|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.

<<BR>>
=== Brightness hotkeys ===
Line 312: Line 121:
add the following parameters to grub configuration:
Line 314: Line 122:
{{{
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.

<<BR>>
=== 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:
Add the following parameters to grub configuation if you have for example 1GB RAM:
Line 343: Line 134:
next run: Update GRUB:
Line 348: Line 139:
== Brightness hotkeys ==
Line 349: Line 141:
<<BR>>
=== Flash plugin replacement for Firefox ===
(for all Ubuntu releases):
Problems with brightness keys are most often vendor and bios dependent.
Line 353: Line 143:
* install gnome-mplayer and gecko-mediaplayer === Acer ===
Line 355: Line 145:
* tune gnome-mplayer settings like the following screenshots: {{{
sudo gedit /etc/default/grub
}}}
Line 357: Line 149:
http://lukaszklich.pl/wp-content/uploads/2010/05/vaapi_output.png Add the following parameters to grub configuration:
Line 359: Line 151:
http://lukaszklich.pl/wp-content/uploads/2010/05/vaapi_va.png {{{
GRUB_CMDLINE_LINUX="acpi_osi=Linux acpi_backlight=vendor"
}}}
Line 361: Line 155:
(This should already be automatically done by the gnome-mplayer package from the gma500 repository) Update Grub:
{{{
sudo update-grub
}}}
Line 363: Line 160:
* install this firefox addons:
http://flvideoreplacer-extension.blogspot.com/
After adding the parameters to grub, functional keys such as wireless and volume also work.
Line 367: Line 163:
<<BR>>
<<Anchor(hardy)>>
= Hardy (8.04) =
= Ubuntu 11.10 =
Line 371: Line 165:
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. The default 3.0.x kernel does not work.
Line 373: Line 167:
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}}}
The linux-libre 3.3.x kernel is working. You can obtain it from [[http://jxself.org/linux-libre/|This repository]]
Line 377: Line 169:
= Contribution = After adding the repository,
Line 379: Line 171:
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 [[https://launchpad.net/gma500|Intel GMA500 'Poulsbo']] and provide any help. {{{sudo apt-get update && sudo apt-get install linux-image-3.3.2-gnu-686 }}}
Line 381: Line 173:
== Common problems ==
Line 383: Line 174:
=== X doesn't start (PSB) ===

Double check that the psb kernel module can be loaded into the running kernel by running '''sudo modprobe psb'''.

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

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 reports<<FootNote(http://www.phoronix.com/scan.php?page=news_item&px=NzY2Mg)>> that a new driver will be available shortly.

== Additional Reading ==

Why GMA 500 hardware doesn't work out of the box? Read [[http://www.linuxjournal.com/content/how-kick-your-friends-face-gma500| "How To Kick Your Friends in the Face: GMA500" by Shawn Powers]] and the Intel "apology" [[http://www.linux.com/news/hardware/desktops/166625-blaming-intel-for-how-the-world-is|"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.

Driver overview

This page details support for the Intel GMA500 "Poulsbo" video hardware with Ubuntu 12.04 and higher.

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.

PSB-GFX driver

This driver is called psb_gfx starting with 3.0 and is also called gma500_gfx in later kernels.

Starting with kernel 3.3.4 , the gma500_gfx driver works without adding any boot options.

12.04

Live (Desktop) CD

The problem with 12.04 is that the default kernel included on the desktop CD (all variants) is 3.3.2. This kernel works, but requires some custom boot parameters. Without these parameters you will either get a black screen or distortion.

  1. Switch to a console - Ctrl-Alt-F1
  2. Restart X with 'sudo service lightdm restart'

That should bring you back to a functional graphical desktop, so that you can proceed testing or installing.

Post installation

With the default 3.3.2 kernel, you need to add some options to the grub boot options or you will get a black screen.

Starting with kernel 3.3.4 , the gma500_gfx driver works without adding any boot options.

There are several potential solutions for this.

Grub options

Perhaps the easiest method is to use "console=tty1" as a boot option.

  • gksudo gedit /etc/default/grub

Find the following line: GRUB_CMDLINE_DEAULT="quiet splash"

Add console=tty1 in between the quotes, the end result looking as follows

Generic options

  • GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty1 acpi_backlight=vendor acpi_osi=Linux mem=896mb"

Acer AO751h

  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash console=tty1 acpi_backlight=vendor acpi_osi=Linux acer_wmi.blacklist=yes mem=1920mb""

save and exit, then update grub with

  • sudo update-grub

Disable splash

Some people find they need to disable the splash.

Essentially the same as above, just remove splash from the GRUB_CMDLINE_DEFAULT options.

915_Resolution

Using any editor, create a file /etc/grub.d/01_915resolution , add in lines

  • echo insmod 915resolution
    echo 915resolution 58 1366 768 32

Make the file executable

sudo chmod a+x /etc/grub.d/01_915resolution

Next, edit /etc/default/grub, assign value 1366x768x32 to variables GRUB_GFXMODE and GRUB_GFXPAYLOAD_LINUX (be sure to change “1366×768″ to your desired resolution):

GRUB_GFXPAYLOAD_LINUX=1366x768x32

Then update grub.

sudo update-grub

NOTE: some gma500 users may have to switch to tty1 and back to tty7 even after the above modification to have a correct desktop.

Problem solving

Most of the problems and workarounds listed are BIOS and Vendor specific. If your hardware is not listed, you may need to experiment.

Fix suspend

Open a terminal and use the following commands:

  • gksu gedit /etc/pm/config.d/gma500

Add in the following code and save the file:

  • ADD_PARAMETERS='--quirk-vbemode-restore'

Note: originally, this fix was "ADD_PARAMETERS='-quirk-vbemode-restore'" with only one dash before quirk but the fix did not work for some users. Using two dashes was found to work for them (which makes sense as single dash is often used for one character options and two for longer ones). However, on a Dell Mini 12, the double dash caused the fix not to work. Going back to a single did allow it to resume from suspend. So, if the double does not work for you, try it with just one.

Reference: bodhi.zazen's blog : gma500 boot options

Memory allocation optimization

You can often improve performance 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"

Update GRUB:

sudo update-grub

Brightness hotkeys

Problems with brightness keys are most often vendor and bios dependent.

Acer

sudo gedit /etc/default/grub

Add the following parameters to grub configuration:

GRUB_CMDLINE_LINUX="acpi_osi=Linux acpi_backlight=vendor"

Update Grub:

sudo update-grub

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

Ubuntu 11.10

The default 3.0.x kernel does not work.

The linux-libre 3.3.x kernel is working. You can obtain it from This repository

After adding the repository,

sudo apt-get update && sudo apt-get install linux-image-3.3.2-gnu-686 


CategoryHardware

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