HardwareSupportComponentsVideoCardsPoulsbo

Differences between revisions 205 and 245 (spanning 40 versions)
Revision 205 as of 2012-04-25 06:55:57
Size: 14842
Editor: bzq-84-109-193-57
Comment:
Revision 245 as of 2013-11-11 16:58:16
Size: 8698
Editor: 157
Comment: fixed command line arguement
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.
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:

 *PSB-GFX driver - 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 around).
  * 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 ("supported", long term viability in question)
  * 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. This driver is now a '''Full Ubuntu release cycle behind, testing in 11.10, no ETA for 12.04'''.
  * EMGD only officially supports a limited set of Linux distributions (Meego).

##Use on [[https://wiki.archlinux.org/index.php/Poulsbo|Arch Linux]] but is possible, but difficult and not officially supported by Intel or Arch.
##There is no mention of EMDG in the above linked Arch wiki.

  * Nobody knows how long Intel will support it; And when support stops, this driver is directly dead.
  * Requires moderate technical knowledge to install and maintain, requires significant changes to the system (downgrading xorg) and patched packages maintained by the [[https://launchpad.net/~gma500/+archive/ppa|Ubuntu “GMA500 Team” team]]. The Ubuntu GMA500 team does not maintain packages for other distributions.
  * The Ubuntu gma500 team is always looking for help, but is growing smaller as less people continue to run a gma500 or move to other projects. If they can continue to maintain this driver and the various patches remains to be seen.

 *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||<#888888>Testing||<#888888>Testing||<#888888>Testing||<#888888>Testing||
|| ||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||||||||||<#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 ==

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

=== 11.10 ===

The default , 3.0.x kernel does not work.
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 lack certain basic features, such as future and current maintenance or support for suspend and hardware acceleration.

Currently, the best supported driver for Ubuntu is '''gma500_gfx'''.

For obsolete and unsupported drivers see [[https://wiki.ubuntu.com/PoulsboObsoleteDrivers|GMA500 Obsolete Drivers]]


= GMA500_GFX driver =

With kernel 2.6.39, a new '''psb_gfx''' module appeared in the kernel source developed by [[http://en.wikipedia.org/wiki/Alan_Cox|Alan Cox]] to support Poulsbo hardware.

As of kernel 3.3.rc1 the driver has left staging and been renamed '''gma500_gfx''' and is thus the default, supported driver for Ubuntu 12.04 and higher.


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


The gma500_gfx does not (yet) support 3d graphics and it is unclear if it will in the future.


== Live (Desktop) CD 12.04 ==
The default Ubuntu 12.04 kernel works, but requires a custom boot option. Without that option, you will either get a black screen or distortions, such as top half of the screen only.

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

=== Ubuntu 12.10 + ===

No workarounds should be required, however, upgrading from 12.04 is not recommended because of general UI sluggishness.

=== Ubuntu 12.04 ===

With the default settings, Ubuntu 12.04 boots to either a black screen or or top half screen.

There are several potential solutions: '''console=tty1''', '''disable splash''', or '''915 Resolution'''

==== Option 1 - console=tty1 ====

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

  {{{
gksudo gedit /etc/default/grub
}}}

Find the following line: '''GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" '''

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

  GRUB_CMDLINE_LINUX_DEFAULT="quiet splash console=tty1"

save and exit, then update grub with

  sudo update-grub


==== Option 2 - 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.


==== Option 3 - 915 Resolution ====

First, you need to know what your desired resolution is. Common netbook resolutions are 1366x768, 1024x600 and 1024x576. The examples below will feature 1366x768, but be sure to change it to the actual resolution of your screen.

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:

    {{{
GRUB_GFXPAYLOAD_LINUX=1366x768x32
}}}

Then update grub.

    {{{
sudo update-grub
}}}

'''''NOTE: some gma500 users may have to switch to a different tty and then back to tty7 even after performing the above modification to have a correct desktop. To do this press Ctrl-Alt-F6 then press Ctrl-Alt-F7.'''''

==== Option 4 - Update kernel ====

The final option is to use the 12.10 kernel in 12.04. A higher kernel is available in backports.

Alternatively, you can try the mainline kernel:

http://packages.qa.dev.stgraber.org/qatracker/milestones/223/builds/16265/downloads

The problem with the mainline kernel is that it does not have all the Ubuntu patches (such as Apparmor) and is not supported (it is provided "as is" for testing only).

= Video Playback =

Due to the lack of Hardware accelerated video playback in the gma500_gtx kernel driver, at current video playback can be very slow, it can freeze, jump and the audio and video can desynchronise, However it is possible to avoid this by using mplayer with multithreading :
Follow these instructions :

1. Install mplayer: {{{sudo apt-get install mplayer}}}

2. cd into the directory containing your video

3. run {{{mplayer -lavdopts threads=4 -framedrop yourvideofile.avi}}}

This will drop frames when needed, and use 4 threads (You should change this depending on your Atom Processor) meaning playing HD video is possible.

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

If suspend does not work for you, there are various quirk options you can try. See the manpage for pm-suspend for a list of them all. One that has been reported to help is quirk-vbemode-restore, which saves and restores the current VESA mode.

To test it, open a terminal and use the following commands

    sudo pm-suspend --quirk-vbemode-restore

That should suspend your system. If you are able to resume, you'll want to configure Ubuntu to use this option every time you suspend. To do this open a terminal and use the following commands:

    {{{
    gksudo gedit /etc/pm/config.d/gma500
    }}}

Add in the following code and save the file:

    {{{
    ADD_PARAMETERS='--quirk-vbemode-restore'
    }}}

If it isn't working yet, you can try setting your resolution from 1366x768 to 1360x768 before suspend, then back to 1366x768 after resume. You can automate it in a script : in a terminal, type :

    {{{
    gksudo gedit /etc/pm/sleep.d/01_survive_modeswitch
    }}}

Copy/paste the following :

    {{{
    #!/bin/bash

case "$1" in
    hibernate | suspend)
        { xrandr --output LVDS-0 --mode 1360x768 ; }
        ;;
    thaw | resume)
        { xrandr --output LVDS-0 --mode 1366x768 ; }
        ;;
esac
    }}}

Save and close. Then, in the terminal :

    {{{
    sudo chmod a+x /etc/pm/sleep.d/01_survive_modeswitch
    }}}

Suspend and resume ; it should resume well.

== 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"
}}}

For the Acer AO751h, try blacklisting acer_wmi.

    GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=vendor acpi_osi=Linux acer_wmi.blacklist=yes""


Update Grub:
    {{{
sudo update-grub
}}}

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


== Have xrandr (multi-screen, color management) work correctly ==

By default (at least on 12.04, didn't test 12.10), Xorg uses the fbdev driver. Here is what to do to use modesetting :

install xserver-xorg-video-modesetting from this ppa : https://launchpad.net/~xorg-edgers/+archive/ppa,

then :

    {{{ gksudo gedit /usr/share/X11/xorg.conf.d/00-modesetting.conf }}}

Put the following :

    {{{
Section "Device"
    Identifier "gma500_gfx"
    Driver "modesetting"
    Option "SWCursor" "ON"
EndSection
}}}

Save and close gedit, then disconnect/reconnect (or reboot your computer).


= Ubuntu 11.10 =

The default 3.0.x kernel does not work.
Line 99: Line 266:
=== 12.04 ===

A functioning psb_gfx driver is included and works almost "out of the box" with Precise Beta2 version. When booting from USB, you'll either get a black screen, or some pretty horrible 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.

'''After installation'''

Add 'console=tty1' to the Grub options.

== Emgd drivers (currently supported) ==
Drivers are available in the gma500 PPA repository for Natty and Oneiric. The current released version of the driver is EMGD 1.8. The newer version in '''testing''' is EMGD 1.10.

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

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

{{{
GRUB_CMDLINE_LINUX="mem=896mb"
}}}

or if you have 2GB RAM:

{{{
GRUB_CMDLINE_LINUX="mem=1920mb"
}}}

next run:
{{{
sudo update-grub
}}}


<<BR>>
=== 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/


<<BR>>
<<Anchor(hardy)>>
= 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 [[https://launchpad.net/gma500|Intel GMA500 'Poulsbo']] and provide any help.

== Common problems ==

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

 * [[http://blog.bodhizazen.net/linux/ubuntu-12-04-gma500-poulsbo-boot-options/|bodhi.zazen's blog : gma500 boot options]]
 * [[http://ubuntuforums.org/showthread.php?t=1984236|GMA500 (Poulsbo) gma500_gfx support thread on ubuntuforums]]

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 lack certain basic features, such as future and current maintenance or support for suspend and hardware acceleration.

Currently, the best supported driver for Ubuntu is gma500_gfx.

For obsolete and unsupported drivers see GMA500 Obsolete Drivers

GMA500_GFX driver

With kernel 2.6.39, a new psb_gfx module appeared in the kernel source developed by Alan Cox to support Poulsbo hardware.

As of kernel 3.3.rc1 the driver has left staging and been renamed gma500_gfx and is thus the default, supported driver for Ubuntu 12.04 and higher.

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

The gma500_gfx does not (yet) support 3d graphics and it is unclear if it will in the future.

Live (Desktop) CD 12.04

The default Ubuntu 12.04 kernel works, but requires a custom boot option. Without that option, you will either get a black screen or distortions, such as top half of the screen only.

  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

Ubuntu 12.10 +

No workarounds should be required, however, upgrading from 12.04 is not recommended because of general UI sluggishness.

Ubuntu 12.04

With the default settings, Ubuntu 12.04 boots to either a black screen or or top half screen.

There are several potential solutions: console=tty1, disable splash, or 915 Resolution

Option 1 - console=tty1

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

  • gksudo gedit /etc/default/grub

Find the following line: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

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

  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash console=tty1"

save and exit, then update grub with

  • sudo update-grub

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

Option 3 - 915 Resolution

First, you need to know what your desired resolution is. Common netbook resolutions are 1366x768, 1024x600 and 1024x576. The examples below will feature 1366x768, but be sure to change it to the actual resolution of your screen.

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:

  • GRUB_GFXPAYLOAD_LINUX=1366x768x32

Then update grub.

  • sudo update-grub

NOTE: some gma500 users may have to switch to a different tty and then back to tty7 even after performing the above modification to have a correct desktop. To do this press Ctrl-Alt-F6 then press Ctrl-Alt-F7.

Option 4 - Update kernel

The final option is to use the 12.10 kernel in 12.04. A higher kernel is available in backports.

Alternatively, you can try the mainline kernel:

http://packages.qa.dev.stgraber.org/qatracker/milestones/223/builds/16265/downloads

The problem with the mainline kernel is that it does not have all the Ubuntu patches (such as Apparmor) and is not supported (it is provided "as is" for testing only).

Video Playback

Due to the lack of Hardware accelerated video playback in the gma500_gtx kernel driver, at current video playback can be very slow, it can freeze, jump and the audio and video can desynchronise, However it is possible to avoid this by using mplayer with multithreading : Follow these instructions :

1. Install mplayer: sudo apt-get install mplayer

2. cd into the directory containing your video

3. run mplayer -lavdopts threads=4 -framedrop yourvideofile.avi

This will drop frames when needed, and use 4 threads (You should change this depending on your Atom Processor) meaning playing HD video is possible.

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

If suspend does not work for you, there are various quirk options you can try. See the manpage for pm-suspend for a list of them all. One that has been reported to help is quirk-vbemode-restore, which saves and restores the current VESA mode.

To test it, open a terminal and use the following commands

  • sudo pm-suspend --quirk-vbemode-restore

That should suspend your system. If you are able to resume, you'll want to configure Ubuntu to use this option every time you suspend. To do this open a terminal and use the following commands:

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

Add in the following code and save the file:

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

If it isn't working yet, you can try setting your resolution from 1366x768 to 1360x768 before suspend, then back to 1366x768 after resume. You can automate it in a script : in a terminal, type :

  •     gksudo gedit /etc/pm/sleep.d/01_survive_modeswitch

Copy/paste the following :

  •     #!/bin/bash
    
    case "$1" in
        hibernate | suspend)
            { xrandr --output LVDS-0 --mode 1360x768 ; }
            ;;
        thaw | resume)
            { xrandr --output LVDS-0 --mode 1366x768 ; }
            ;;
    esac

Save and close. Then, in the terminal :

  •     sudo chmod a+x /etc/pm/sleep.d/01_survive_modeswitch

Suspend and resume ; it should resume well.

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"

For the Acer AO751h, try blacklisting acer_wmi.

  • GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=vendor acpi_osi=Linux acer_wmi.blacklist=yes""

Update Grub:

  • sudo update-grub

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

Have xrandr (multi-screen, color management) work correctly

By default (at least on 12.04, didn't test 12.10), Xorg uses the fbdev driver. Here is what to do to use modesetting :

install xserver-xorg-video-modesetting from this ppa : https://launchpad.net/~xorg-edgers/+archive/ppa,

then :

  •  gksudo gedit /usr/share/X11/xorg.conf.d/00-modesetting.conf 

Put the following :

  • Section "Device"
        Identifier  "gma500_gfx"
        Driver      "modesetting"
        Option     "SWCursor"       "ON"
    EndSection

Save and close gedit, then disconnect/reconnect (or reboot your computer).

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 

References


CategoryHardware

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