« 10rc | Main | Windowless Mode Fix »

Secrets Of The mms.cfg File

Did you know that the Adobe Flash Player honors a few configuration files on the user's local file system? There are 2 such files:

  1. mm.cfg: user-local configuration file; lives in user's home directory on Unix systems and is largely only useful when using content debugger versions of the Player
  2. mms.cfg: system-wide configuration file, designed to allow administrators to set policy for all users on a system; lives in /etc/adobe on Unix systems

There is a lengthy guide available that describes all of the various administration features and what the mms.cfg can do for you.

The reason I bring this up is that there is a new option in mms.cfg that will be of use to Linux users: "OverrideGPUValidation". Pursuant to the need to have such stringent rules for validating whether the Linux Flash Player can use the GPU. If you wish to force the Flash Player to bypass its GPU validity checks, add "OverrideGPUValidation=true" (without the quotes) to your mms.cfg.

But please don't expect the option to be a magical speed boost option for the Flash Player as a whole. Reread the original post on the matter to understand where GPU acceleration helps and where it doesn't. And if you are planning to ask about Xv support, read the post again until the message clicks.

Comments

Thanks, when using OverrideGPUValidation=true, Xorg CPU usage drops to near zero when playing Youtube-movies in fullscreen :) It's definitely smoother. However, when going back to normal, from fullscreen, the graphics hangs in fullscreen (sound continues), and firefox needs to be killed. Damn, cause it really helps CPU usage :/.

AMD Catalyst 8.7 Linux driver, ATI X1400 128MB graphics (DirectX 9 class), Ubuntu Hardy 32bit, no Compiz.

What about XRender 2D acceleration? Firefox3 uses it for web page rendering (using cairo library which is accelerated by using XRender). XRender is perfect way for hog slowly flash to make it really useful or worth enabling without wasting 100% CPU for dumb adverts playback.
To make it clear: XRender operates on RGB, flat 2D graphics so it is worth checking. I watch flash for Linux development since a long time. You really have troubles with weak performance. Give up on trying improve flash performace and focus on passing this hard task to external libraries which have success on this field. Cairo is good start point. It has 2D acceleration via XRender and can be alternatively OpenGL accelerated using glitz.

[ Oh goodie, another Linux API. I didn' think there were enough already. -Mike M. ]

I see flash 10rc crashing on the following site everytime i load it:
http://www.thedailyshow.com/

The interesting thing is that the page loads fine and i can even start the video but after 3-4 seconds flash just dies (even if I don't click anything on the page).

BTW does there exist a debug build of flash somewhere so I could get a reasonable good backtrace of the crash?

[ Yeah, engineering debug builds exist. But we keep them internally. -Mike M. ]

Thanks, this is quite handy for those of us testing support for Flash.

This doesn't work for me (on Linux). Playing a YouTube video in the small window still consumes 90% of my CPU. Trying to play fullscreen turns it into a slideshow, at about 1 frame every 15 seconds.

However, if I download the flv from YouTube and play it in mplayer, it plays fullscreen no problem, with the CPU at only 30%.

Maybe you want to detect common media players. Just stop playback in the browser and hand off the video to mplayer, xine or vlc if they are available.

Otherwise, you've got a lot of work to do re-inventing the wheel.

Doesn't work for me either. Full-screen is even slower than before (and that was slow)!

You supposedly don't use Xv because it only supports YUV and not the RGB that you require--although the gnash person said most cards support it... but anyway. Why can't you use OpenGL? Mplayer has *two* different OpenGL video output modes and they both work fine on my system. It surely has enough flexibility to meet flash's needs, and colour conversions are pretty trivial using GLSL.

Given that flash is mainly used as a video player these days it's pretty shit that it can't even play low-res video full-screen.

[ We do use OpenGL for fullscreen output. -Mike M. ]

For the few of us that don't always have root access to the machines we're working on, is there a home directory location for this configuration file apart from the system-wide one in /etc/adobe? If not, could we please have one?

Sorry to abuse this comment thing, but I still don't get why MPlayer's OpenGL video output can play 720p content fullscreen completely smoothly, but flash can't even play low-res youtube videos smoothly fullscreen. I'm pretty sure it works on Windows but I'll have to check that...

Post a comment

About posting comments:

  • All comments must first be processed through moderation due to the Adobe blogging system
  • Email address and URL fields are optional
  • Remember that this blog is called Penguin.SWF and is about Adobe Flash Player on Linux; please keep comments on topic
  • Questions about alpha, beta, and final release schedules are already answered in this post
  • Requests for such features as alternate operating system or CPU architecture support are more suited for the Adobe Wish Form
  • Adobe has no plans to open source the Flash Player at this time; comments requesting that the code be open sourced will be considered off-topic