Chrome on Linux with WebGL and all the hardware acceleration stuff


Want to use your Linux box to access website like:

But you are told your browser or operating system do not support hardware accelerated html5 features?

Is your graphic card correctly configured and you are sure the graphic acceleration works?

Then this post is for you.

You’ll find many website suggesting to execute chrome with options like:

–enable-webgl

–ignore-gpu-blacklist

Well.. do not do it. That’s the last resort if everything else suggested here fail..

Go on and enter your Google Chrome gpu page by writing this in the url box:

chrome://gpu

You may read something like:

See below text if you don't see this image

Chrome saying you hardware acceleration is not supported and there are detected problems

Graphics Feature Status

  • Canvas: Software only, hardware acceleration unavailable
  • Compositing: Software only, hardware acceleration unavailable
  • 3D CSS: Unavailable. Hardware acceleration unavailable
  • CSS Animation: Software only, hardware acceleration unavailable
  • WebGL: Unavailable. Hardware acceleration unavailable
  • WebGL multisampling: Unavailable. Hardware acceleration unavailable
  • Flash 3D: Unavailable. Hardware acceleration unavailable
  • Flash Stage3D: Unavailable. Hardware acceleration unavailable
  • Texture Sharing: Unavailable. Hardware acceleration unavailable
  • Video Decode: Software only, hardware acceleration unavailable
  • Video: Software only, hardware acceleration unavailable

You want to turn it into this:

See below text if you don't see this image

Below this you should see the details of your OpenGL and feature supported by your graphic card

Graphics Feature Status

  • Canvas: Hardware accelerated
  • Compositing: Hardware accelerated on all pages and threaded
  • 3D CSS: Hardware accelerated
  • CSS Animation: Accelerated and threaded
  • WebGL: Hardware accelerated
  • WebGL multisampling: Hardware accelerated
  • Flash 3D: Hardware accelerated
  • Flash Stage3D: Hardware accelerated
  • Texture Sharing: Hardware accelerated
  • Video Decode: Hardware accelerated
  • Video: Hardware accelerated

Disclaimer: I’ve everything enabled but, depending on your graphic card something may not be available for you

Just open another tab on your Google Chrome (or Chromium) and write this in the url box:

chrome://flags

Chrome Flags Window Screenshot

Chrome Flags Window Screenshot: white = enabled, gray = disabled

You can experiment, but this is what I have (only the relevant options):

  • [ON] Override software rendering list (probably the most important one if your hardware is blacklisted)
  • [ON] GPU compositing on all pages
  • [ON] Threaded compositing
  • [OFF] Disable accelerated 2D canvas
  • [OFF] Disable deferred 2D canvas
  • [OFF] Disable accelerated CSS animations
  • [ON] GPU Accelerated SVG Filters
  • [OFF] Disable GPU VSync
  • [OFF] Disable WebGL
  • [ON] Smooth Scrolling
  • (not related to graphic) [ON] Enable Encrypted Media Extensions on <video> elements
  • [ON] Enable CSS Shaders
  • (not related to graphic) [ON] Web Audio Input

HINT: this can be confusing, sometime you see “Disable WebGL” with a button below that say “Enable”, if you click “Enable” you… Disable WebGL, yes! :) you are ACTIVATING that flag and what that flag does is: “Disable WebGL”. That’s why so many options are OFF there.

Now that you know this you can go on experimenting yourself with the other options.

After modifying these options you should see a “Restart” / “Relaunch” button on the bottom, hit it to restart your browser and see the changes in effect (back to the chrome://gpu page to see if something changed)

I had to warn you, like chrome does, that messing with this flags is experimental and potentially dangerous: your browser may start to crash and things like that, it really depends on your hardware so fill free to experiment.

This has been done on Google Chrome version 23.0.1271.64 (Official Build 165188) on  Debian Linux with an Intel i945 Graphic Card, but can work on any other setup (nVidia, AMD) as long as your graphic card driver is installed and well configured. Some graphic cards are know to cause issue or not support some of the feature above, up to you to experiment; if you try and want to drop your experience as a comment make sure to specify your graphic card, driver used and what works / didn’t work ;)

Hope this helped someone

About these ads

About mastro

my name is Daniele Segato (@borninbronx), know in the web with the nickname mastro (long boring story). I'm an Italian developer with a degree in computer science that use Linux for fun and for work. I'm currently developing in Android and Java and I use gentoo at home and debian at work.
This entry was posted in Chrome, Linux and tagged , , , , , , , , , . Bookmark the permalink.

10 Responses to Chrome on Linux with WebGL and all the hardware acceleration stuff

  1. Rovano says:

    Hi, i have in Chrome all ON…Graphics Feature Status
    Canvas: Hardware accelerated
    Compositing: Hardware accelerated
    3D CSS: Hardware accelerated
    CSS Animation: Accelerated
    WebGL: Hardware accelerated
    WebGL multisampling: Hardware accelerated
    Flash 3D: Hardware accelerated
    Flash Stage3D: Hardware accelerated
    Texture Sharing: Hardware accelerated
    Video Decode: Hardware accelerated
    Video: Hardware accelerated
    But only hardware acceleration redering is. No decoding in Youtube. Why?

    • mastro says:

      Hi Rovano,

      what do you mean with “No decoding in Youtube” ?

      • lubuntu13.04 says:

        I think I know what he means. I noticed too that flash info on fullscreen HD youtube video’s, which now play flawlessly (no glitches any more), shows that the rendering is hardware accelerated but the video decoding is software based. I vaguely remember in some chromium bug report a google developer mentioned that hardware video decoding is not (yet) supported.

  2. Marin Ivanov says:

    Thank you. That article helped a lot and saved my time.

  3. Tony says:

    THANKS! :)

  4. faissel says:

    thanks :-)

  5. lubuntu13.04 says:

    Awesome, just what I needed! Now pepperflash of chrome renders HD youtube video fullscreen without glitches.
    nvidia card, google-chrome-beta Version 27.0.1453.81 beta

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s