Ubuntu

Adobe Flash hardware acceleration support (GPU)

Reported by AlexConrad on 2008-07-22
20
Affects Status Importance Assigned to Milestone
flashplugin-nonfree (Ubuntu)
Undecided
Unassigned

Bug Description

Hello,

I'm trying to benefit from Adobe Flash Player 9.0.115.0 (and above) capabilities for fullscreen hardware rendering. Adobe's blog[1] explains that the graphic card must support the following Open GL features:

    * GL_ARB_multitexture
    * GL_EXT_framebuffer_object
    * GL_ARB_shader_objects
    * GL_ARB_shading_language_100
    * GL_ARB_fragment_shader

So I installed the restricted drivers provided by ubuntu to enable all those features hoping my card have all of these. Great, I now have "direct rendering: yes" and greping those listed GL_* from the glxinfo command shows that my ATI X1250 card (integrated in motherboard) is capable.

But Adobe also states the following:

"""
Also, for fullscreen OpenGL acceleration, the Flash Player requires that the client glx vendor string be something besides "SGI". Official drivers from, e.g., ATI and Nvidia hopefully do not have "SGI" in this field (check the 'glxinfo' command, for this string and for the extensions listed above).
"""

glxinfo | grep "client glx vendor" outputs:
client glx vendor string: SGI

So I made a fresh new install on my test PC, and decided to install ATI's driver directly from their web site (rather than ubuntu's restricted modules version), hoping that "glxinfo" would output something else than SGI. But I get the exact same data from "glxinfo".

Would it be possible to change the string as a work around? This pretty much means that *all* users don't have fullscreen hardware acceleration.

[1] Adobe's article: http://blogs.adobe.com/penguin.swf/2008/05/flash_uses_the_gpu.html

Alberto Milone (albertomilone) wrote :

Maybe this affects only the fglrx driver since I get this with my NVIDIA card:

:~$ glxinfo | grep "client glx vendor"
client glx vendor string: NVIDIA Corporation

Alberto Milone (albertomilone) wrote :

Are you using the latest release of the driver?

AlexConrad (aconrad-tlv) wrote :

Ok, I've redone a fresh install of Xubuntu Hardy 8.04.1.

Then I ran
- apt-get update
- apt-get upgrade (it downloaded a update of restricted-modules)
- apt-get install mesa-utils

Reboot (just for purity)

Then:
- Applications > System > Hardware Drivers, I enabled ATI accelerated graphics driver (it downloaded something).
- then reboot

I'm now running the ATI drivers:

:~$ dpkg --list | grep restricted
ii linux-restricted-modules-2.6.24-19-generic 2.6.24.13-19.45 Non-free Linux 2.6.24 modules on x86/x86_64
ii linux-restricted-modules-common 2.6.24.13-19.45 Non-free Linux 2.6.24 modules helper script
ii linux-restricted-modules-generic 2.6.24.19.21 Restricted Linux modules for generic kernels

My xorg.conf contains:

Section "Device"
        Identifier "Configured Video Device"
        Driver "fglrx"
EndSection

~$ lspci | grep VGA
01:05.0 VGA compatible controller: ATI Technologies Inc RS690 [Radeon X1200 Series]

After all, I still get "SGI" as client glx vendor string.

If you have any more questions, let me know.

Alberto Milone (albertomilone) wrote :

I'll try to ask ATI about this and report back here.

AlexConrad (aconrad-tlv) wrote :

I downloaded and installed the freshely release ATI radeon drivers [July 21, 2008] (not online at this date though) from ATI's website which also it seems to support more ATI cards btw:

http://ati.amd.com/support/drivers/linux/linux-radeon.html

Although, I still have SGI returned by glxinfo. But using "fglrxinfo" (ATI's utility), I do get something ATI stuff. Anyway, that's not what Flash is looking at, apparently.

I'll look forward to hack the glxinfo utility to return a dummy "client glx vendor string" just to test.

AlexConrad (aconrad-tlv) wrote :

Actually, I think Flash uses the appropriate GLX libs to access the information rather than grepping glxinfo's output. So I suspect hacking "glxinfo" wouldn't change anything...

AlexConrad (aconrad-tlv) wrote :

I've sent a message to ATI's linux driver team as well explaining them the issue and pointing them to that bug. I hope we can get some help from them. I also left a comment on Adobe's blog (message just sent, not online yet, currently being moderated I guess).

AlexConrad (aconrad-tlv) wrote :

I've had talked with the Mesa developers.

There are saying that "client glx vendor string" is the name of the author of the GLX layer. SGI is shown here as Silicon Graphics played an important role in OpenGL standardization. Plus, they explained me that NVIDIA provides their own GLX layer and this is why it says NVIDIA. Everyone else uses the GLX initially made by SGI.

Thus making it obvious that Adobe didn't even try Flash Player for linux running with an ATI card and the fglrx drivers. Nor any other card than NVIDIA ones.

So this is not an ATI problem. It's really up to Adobe (that we already knew).

Here's the thread of what has been exchanged regarding that client glx vendor string:

http://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-dev&max_rows=25&style=ultimate&viewmonth=200807&viewday=25

Mean while, I'll try hacking the GLX to have the string changed (from the link above, the Mesa devs show where is the file to hack).

HTH.

Regards,
Alex Conrad

Mario Limonciello (superm1) wrote :

assigning to the correct package where the root cause is

Changed in flashplugin-nonfree:
status: New → Confirmed
AlexConrad (aconrad-tlv) wrote :

This is a Adobe Flash bug. It should be OK now with Flash Player 10.

Changed in flashplugin-nonfree:
status: Confirmed → Invalid

It is not working with Flash Player 10 either. The graphics is still very choppy in fullscreen mode.

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

Duplicates of this bug

Other bug subscribers