GMA500 psb_gfx

Bug #899244 reported by bodhi.zazen
156
This bug affects 29 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
Leann Ogasawara
Precise
Fix Released
High
Leann Ogasawara
module-init-tools (Ubuntu)
Won't Fix
Undecided
Unassigned
Precise
Won't Fix
Undecided
Unassigned

Bug Description

This is a bug report against the generic kernel , i386

As you may know, support for the GMA500 has been under rapid development and there is a psb_gfx staging driver.

You have been kind enough to enable this driver in the kernel, but it conflicts with the gma500 stub driver.

See:

http://kernel.ubuntu.com/~kernel-ppa/configs/natty/i386-config.flavour.generic
http://kernel.ubuntu.com/~kernel-ppa/configs/oneiric/i386-config.flavour.generic

The conflict is with the "polusbo" kernel module

CONFIG_STUB_POULSBO=m

This needs to change to

CONFIG_STUB_POULSBO=n

Once you make that change, the psb_gfx module will work out of the box on GMA500 cards with native resolution.

The driver only has 2d , and there are other options post install, but it is better then having X fail on the live CD.

If you have the hardware, you can see for yourself.

Boot the Precise live CD -> X will faiil

switch to a console (ctrl-alt-f2) , become root

rmmod poulsbo
modprobe psb_gfx

Then simply startx

Once you make this config change, you will be the first distro to have support for the gma500 "out of the box"

Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 899244

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
importance: Undecided → Low
Revision history for this message
bodhi.zazen (bodhi.zazen) wrote :

Thank you Joseph, I can submit "apport-collect 899244" if it would help, otherwise it is a small configuration change.

The stub driver affects only the GMA500. You would think the stub driver would be compatible with the psg_gfx, but it is not.

Robert Hooker (sarvatt)
Changed in linux (Ubuntu):
importance: Low → High
assignee: nobody → Canonical Kernel Team (canonical-kernel-team)
Changed in linux (Ubuntu):
assignee: Canonical Kernel Team (canonical-kernel-team) → Leann Ogasawara (leannogasawara)
status: Confirmed → In Progress
tags: added: kconfig
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi bodhi.zazen,

I've built a Precise test kernel with CONFIG_STUB_POULSBO disabled. Can you please test and confirm there is no longer a conflict between the psb_gfx and poulsbo drivers and that the psb_gfx driver works as expected. I've placed the test kernel at the url below. Please let us know your results. Thanks in advance.

http://people.canonical.com/~ogasawara/lp899244/i386/

Revision history for this message
bodhi.zazen (bodhi.zazen) wrote :

Thank you for looking into this Leann Ogasawara (leannogasawara)

The kernel you build works as expected on my GMA500, thank you.

NOTE: When booting you still need to add the boot paramater "console=tty1", but I do not think there is anything you can do about that.

Revision history for this message
Lucazade (lucazade) wrote :

@bodhi
"console=tty1" is needed because there is a conflict with plymouth.

another way to workaround it is to completely disable plymouth...

sudo sed -i 's/splash//g' /etc/default/grub
sudo sed -i 's/$linux_gfx_mode/text/g' /etc/grub.d/10_linux
sudo mv /etc/init/plymouth.conf /etc/init/plymouth.conf.disabled
sudo update-grub

I hope there is a cleaner way and to blacklist plymouth when psb_gfx is available in the system.

Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Changed in linux (Ubuntu):
status: Fix Committed → In Progress
Revision history for this message
Lucazade (lucazade) wrote :

I have to correct my previous comment #5
There is no conflict between plymouth and psb_gfx but the problem is only 'vt.handoff=7' as kernel parameter..
This doesn't allow KMS to detect the correct resolution and employ the psb_gfx framebuffer as VT7, resulting in a black screen instead of X.

Anyway this should probably refer to a new bug report.
I believe that with the 'poulsbo' module fix above by Leann Ogasawara and with the blacklist of 'vt.handoff=7' the gma500 will work out of the box in Precise.

Revision history for this message
Lucazade (lucazade) wrote :

I've created this bug report for the vt.handoff=7 issue..
https://bugs.launchpad.net/ubuntu/+source/grub/+bug/914311

hope to have created it correctly, against grub.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in module-init-tools (Ubuntu):
status: New → Confirmed
Revision history for this message
bodhi.zazen (bodhi.zazen) wrote :

Small update - the driver has moved out of staging in the mainline (3.3-rc1) kernel

It is now under

Device Drivers ->
Graphics support ->
DRM (Direct Rendering Manager) ->
Intel GMA5/600 KMS Framebuffer

The name has changes in the .config file, it is now called

DRM_GMA500

grep DRM_GMA500 .config
CONFIG_DRM_GMA500=y

and it looks as if the kernel module is called gma500_gfx

Revision history for this message
bodhi.zazen (bodhi.zazen) wrote :

Any idea when we can see this fix in Ubuntu 12.04 ? It is such a trivial change to the kernel configuration.

Fedora 17 alpha is working - http://blog.bodhizazen.net/img/gma500/fedora2.png

Would like to say the same for Ubuntu.

Revision history for this message
John Stevenson (johnalexanderstevenson) wrote :

It would be excellent if this could be fixed in time for the Beta release.

Revision history for this message
Paul Dooley (pilotpaul) wrote :

Seconded - a lot of effort has been expended in getting the GMA500 to be useable within Ubuntu...for a little more Ubuntu could become the best Linux distro to support this chipset. There seem to be a lot of users out there who have laptops or notebooks that use this device and getting the last piece of the jigsaw in place would could make Ubuntu the preferred operating system for those wishing to keep these systems going for a few more years (including me!)

Revision history for this message
Clownfishy (clownfishy) wrote :

I too have this problem and would love to see a fix to this

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi All,

There were some concerns raised with the original solution of completely disabling the poulsbo driver. As an alternative, it was suggested to blacklist it instead. I've therefore built a test package for module-init-tools which should blacklist the poulsbo driver and result in the psb_gfx driver being loaded by default. I've uploaded this test package to my PPA. Could you please test and let me know your results. Thanks.

https://launchpad.net/~leannogasawara/+archive/ppa

module-init-tools-3.16-1ubuntu3~lp899244v1

Revision history for this message
bodhi.zazen (bodhi.zazen) wrote :

Leann -

This is still not working in 12.04 Beta 1 >.<, the poulsbo driver continues to be loaded and conflicts with the psb_gfx, and has to then be blacklisted.

Can you provide more information or a link to a bug report regarding "There were some concerns raised with the original solution of completely disabling the poulsbo driver." Specifically, what concerns? Everyone with a gma500 is blacklisting the module, so who is using the module and what for ?

In addition, if there is a problem with the poulsbo driver it should probably be reported upstream, to kernel.org (rather then some sort of work around in the module-init-tools).

I posted on the kernel.org mailing list on this problem (poulsbo conflicting with psb_gfx) before I filed this bug report, will try to find it.

My post to the Fedora mailing list - http://<email address hidden>/msg01244.html
No concerns were raised by the Fedora kernel team and my gma500 is working in the Fedroa 17 alpha release.

For now I filed a New bug report with bugzilla.kernel.org against the poulsbo / psb_gfx conflict

https://bugzilla.kernel.org/show_bug.cgi?id=42848

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Bodhi,

Apologies for this still being an issue with Beta-1. As you've noticed, no solution has been committed at the moment.

I'd actually committed the original idea of completely disabling the poulsbo driver. At the time the team was physically together for a face to face meeting and one of the other Ubuntu kernel team developers voiced their concern of completely disabling the poulsbo driver. In the event the psb_gfx driver was not sufficiently working (as it is/was a staging driver) we would prevent a user from falling back to use the poulsbo driver as it would be completely disabled. By blacklisting the poulsbo driver in module-init-tools, they at least still have the option to manually load the poulsbo driver. Unfortunately this conversation took place face to face so there wasn't anything written/documented for me to point you at.

I completely agree that if there are issues with either driver, we should be notifying upstream.

If you could point me to your LKML thread about this that would be great. Especially if there is a newer patch upstream with

Also, just curious what the specific vendor:device id is for your GMA500? Is it's either of the 8086:8108 or 8086:8109 which overlaps with both drivers? If so, I think I could have a much stronger argument to convince the other devs on the team that completely disabling the poulsbo driver in favor of psb_gfx should be realitvely safe as I'd have your test confirmation to prove it.

Thanks. I do want to get this fixed one way or another before Beta-2.

Revision history for this message
bodhi.zazen (bodhi.zazen) wrote :

The name is very poor, but the poulsbo driver is not a "video driver" , it is a driver for the backlight

From the help:

Symbol: STUB_POULSBO [=n] │
  │ Type : tristate │
  │ Prompt: Intel GMA500 Stub Driver │
  │ Defined at drivers/gpu/stub/Kconfig:1 │
  │ Depends on: HAS_IOMEM [=y] && PCI [=y] && NET [=y] │
  │ Location: │
  │ -> Device Drivers │
  │ -> Graphics support │
  │ Selects: BACKLIGHT_CLASS_DEVICE [=y] && VIDEO_OUTPUT_CONTROL [=m] && INPUT [=y] && ACPI

So if the psb_gfx were to fail, it falls back to VESA , or fails completely (depends on the kernel), but it does not "fall back" to the poulsbo driver.

The backlight works WITHOUT the poulsbo driver.

well "works" with a script to manage brightness as my function keys do not always work, even with the kernel options "acpi_backlight=vendor and acpi_osi=Linux". Honestly I am not sure what the poulsbo driver is used for, AFIK it can be completely removed.

Revision history for this message
Lucazade (lucazade) wrote :

The poulsbo driver is just a stub module that enables the acpi video support for the panel brightness.
This feature is already present inside the psb_gfx driver.

The poulsbo module is loaded before the psb_gfx 'stealing' the pciid and not allowing the psb_gfx module
to start up and open the framebuffer. that's why there is a conflict.

I don't see any reason to preserve the stub poulsbo, psb_gfx already provides brightness support for every
gma500/600 device. Is not useful also for the EMGD binary drivers provided by Intel.

Revision history for this message
bodhi.zazen (bodhi.zazen) wrote :

When the poulsbo kernel module is loaded at boot, as it is now with 12.04, X fails completely (no VESA, no graphical interface, just a command prompt).

You can start X / lightdm with

rmmod poulsbo
depmod psb_gfx
/etc/init.d/lisghtdm restart

Revision history for this message
bodhi.zazen (bodhi.zazen) wrote :

Wish I could edit my comments, the poulsbo driver is not a graphical driver, it has nothing to do with X, it is a low level driver that claims to be used by the backlight, but in practice it does not used by the gma500. It seems to be a poorly named driver.

Revision history for this message
mikewhatever (mikewhatever) wrote :

Changing brightness seems to work for me (Dell mini 10) in Precise without 'acpi_backlight=vendor', which hasn't happened since Karmic.

Revision history for this message
Paul Dooley (pilotpaul) wrote :

As far as I can determine the poulsbo stub driver serves no useful purpose and can be removed totally.

Revision history for this message
sam tygier (samtygier) wrote :

i can confirm that removing the poulsbo module, and loading the psb_gfx module is needed to get a GUI on a dell mini 12 with gma500.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Everyone,

Could I get everyone who's confirmed that the psb_gfx driver is working well from them to please attach the output of 'sudo lspci -vnvn'. I want want to capture confirmed hw information. I'll then raise this on the mailing list and hopefully have this resolved before Beta-2.

Revision history for this message
Mårten Thornberg (marrowm) wrote :

psb_gfx is working well on my eee pc 1101ha (only 2d though).

tags: added: rls-p-tracking
Changed in linux (Ubuntu Precise):
milestone: none → ubuntu-12.04-beta-2
Revision history for this message
Holger Mauermann (mauermann) wrote :

rmmod poulsbo && modprobe psb_gfx is working well on Dell Mini 10

Revision history for this message
Mårten Thornberg (marrowm) wrote :

It might also be good to make ubiquity 2d the default login when using psb_gfx..?

Revision history for this message
Paul Dooley (pilotpaul) wrote :

Output for Acer Aspire 0751h attached...(works well in 2D unaccelerated)

Revision history for this message
Stefan Kögl (stefan-skoegl) wrote :

Attached output of `sudo lspci -vnvn` on a Dell Inspiron Mini 10.

psb_gfx is loaded on boot, but when lightdm first launces, X only covers the top half of the screen, the lower half is still console messages from the boot process. Also the mouse pointer can't escape from the top half. This is resolved by switching on a different terminal and restarting lightdm.

Revision history for this message
John Stevenson (johnalexanderstevenson) wrote :

Looks like Stefan got there first, but here is 'sudo lspci -vnvn' from my Dell Inspiron Mini 10, just in case they are different.

This output was collected running 12.04 Beta 1 live USB. Booting got as far as static text, then the desktop was started by "crtl-alt-f1; sudo rmmod poulsbo; sudo modprobe psb_gfx; startx".

Things are running very quickly and smoothly. Brightness keys work. No wireless (broadcom), but sure that can be fixed on full install. Can't test suspend/hibernate on live disk, but that is the feature I'm looking forward to most.

Revision history for this message
bodhi.zazen (bodhi.zazen) wrote :

Thanks for continuing to work on this. I have attached the requested information.

Revision history for this message
sam tygier (samtygier) wrote :

requested info for dell mini 12 (inspiron 1210) on which psb_gfx works.

Revision history for this message
Guillaume Pomerleau (gupom7) wrote :

Thanks very much! Here is the requested info, also fo Dell Mini 12 (inspiron 1210).

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi All,

I submitted the patch to the Ubuntu kernel team mailing list for review [1]. It has since been applied to Precise and should be available in the next upload. I'm marking the linux task as Fix Committed and closing the task for module-init-tools. Thanks.

[1] https://lists.ubuntu.com/archives/kernel-team/2012-March/019328.html

Changed in linux (Ubuntu Precise):
status: In Progress → Fix Committed
Changed in module-init-tools (Ubuntu Precise):
status: Confirmed → Won't Fix
Changed in module-init-tools (Ubuntu):
status: Confirmed → Won't Fix
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.2.0-19.30

---------------
linux (3.2.0-19.30) precise; urgency=low

  [ Andy Whitcroft ]

  * [Config] Fix typeo in the Hyper-V module names

  [ Colin Watson ]

  * [Config] Move kernels to "Section: kernel"
    - LP: #499557

  [ John Johansen ]

  * SAUCE: AppArmor: Add ability to load extended policy
  * SAUCE: AppArmor: Add the ability to mediate mount
  * SAUCE: AppArmor: Add profile introspection file to interface
  * SAUCE: AppArmor: basic networking rules

  [ Leann Ogasawara ]

  * [Config] Disable CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER
    - LP: #952035
  * Rebase to v3.2.10
  * [Config] Update configs after rebase to v3.2.10
  * Rebase to v3.2.11
  * [Config] Disable CONFIG_STUB_POULSBO
    - LP: #899244
  * [Config] Add CONFIG_DRM_PSB check to enforcer
    - LP: #899244

  [ Tim Gardner ]

  * [Config] Drop non-SMP powerpc

  [ Upstream Kernel Changes ]

  * net/hyperv: Use the built-in macro KBUILD_MODNAME for this driver
  * x86: Derandom delay_tsc for 64 bit
  * Bluetooth: Fix l2cap conn failures for ssp devices
    - LP: #872044
  * KVM: x86: extend "struct x86_emulate_ops" with "get_cpuid"
    - LP: #917842
    - CVE-2012-0045
  * KVM: x86: fix missing checks in syscall emulation
    - LP: #917842
    - CVE-2012-0045
  * rebase to v3.2.11
  * rebase to v3.2.10
 -- Leann Ogasawara <email address hidden> Fri, 16 Mar 2012 08:02:07 -0700

Changed in linux (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
bodhi.zazen (bodhi.zazen) wrote :

I took the daily build for a spin, the pab_gfx is working, although I still need to either restart X or add "console=tty1" to the boot options (see the bug report filed by Lucazade (lucazade) - https://bugs.launchpad.net/ubuntu/+source/grub/+bug/914311 )

Revision history for this message
Jonas Brekle (jonas-brekle) wrote :

yes the driver is working but screen stays black. I tried adding "console=tty1" but the screen stays black. But additionally switching ttys shortly (with Ctrl+Alt+F1 and Ctrl+Alt+F7) gets me to the login screen. I bet that can be fixed easily too - has anybody an idea?

Revision history for this message
Chris Van Hoof (vanhoof) wrote :

Please try removing vt.handoff=7 from the kernel boot options, this should sort things out for you.

Revision history for this message
Lucazade (lucazade) wrote :

@Chris Van Hoof (vanhoof)
It would be nice to have a proper fix instead of a workaround.. this way the livecd could work out of the box
also for those people that don't know about this issue and how to bypass it.

Revision history for this message
Andrew King (aking1012-com) wrote :

I'm wondering if there's a reason this bug is linked to, as far as I can tell, a bluetooth CVE?

Revision history for this message
Andrew King (aking1012-com) wrote :

Nevermind. I should scroll down and read the whole CVE report before commenting.

Revision history for this message
Brian K. White (bkw777) wrote :

[quote]The backlight works WITHOUT the poulsbo driver.

well "works" with a script to manage brightness as my function keys do not always work, even with the kernel options "acpi_backlight=vendor and acpi_osi=Linux".[/quote]

How does this work exactly?

I have precise beta and kernel 3.2.0-23-generic-pae on a Vaio P and using psb_gfx and lxde.
When I press the bright/dim hot keys lxde (or openbox? x?) recognizes it and displays a little popup showing a brightness change indicator, but the brightness does not actually change.

This worked fine on oneiric using emgd 1.8 on the same machine a few weeks ago up until I upgraded to precise beta and switched to psb_gfx.

If psb_gfx has backlight support, how do I use it?

Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.