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.

22 Responses to Secrets Of The mms.cfg File

  1. oyvind says:

    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.

  2. Zbigniew L. says:

    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. ]

  3. Dennis J. says:

    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. ]

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

  5. Mace Moneta says:

    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.

  6. Tim says:

    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. ]

  7. Vasilis Vasaitis says:

    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?

  8. Tim says:

    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…

  9. David Masover says:

    “And if you are planning to ask about Xv support, read the post again until the message clicks.”Maybe you should read the comments on that section until it clicks, or until you can provide a better answer. Specifically:”I added XVideo support to Gnash; it’s not that difficult. Most video cards support an RGB format, and if they don’t then the algorithms to do rgb->yuv are fairly simple and fast.”Can you explain why this is difficult for you, but not for Gnash?

  10. Anonymous says:

    Could you be a little more descriptive on where the cfg files goes? ~/mm.cfg or ~/.mm.cfg? [ No dot. It’s not a hidden file. -Mike M. ]

  11. Ken Ham says:

    Thanks for the information, I feel sorry for you having to work on the abortion that is the Linux platform(s).I’m not surprised to find that Flash on Linux runs slowly, yet runs fine on every other platform. That’s because other platforms have a consistent set of stable APIs.[ Oh goodie, another Linux API. I didn’ think there were enough already. -Mike M. ] LOL, this is so right.Oh and Mike: 64BIT?!!1!1eleven

  12. Bob says:

    Is anyone else tired of Mike’s snide responses to valid suggestions? [ Not as tired as I am of explaining why said valid suggestions are, in fact, invalid, I guarantee. -Mike M. ]

  13. Nick says:

    “And if you are planning to ask about Xv support, read the post again until the message clicks.”Thanks for the condescension. Oh, and the terrible software.

  14. Ken Ham says:

    Thanks for the condescension. Oh, and the terrible software.1. The problem isn’t with Mike, it’s with the Linux Youth who fill these blog comments with tedious braying about the NextBigThing™ API in Loonix Land, demanding better performance on a platform designed for server use, which is mediocre (at best) on the desktop. He’s talking to delusional idiots, of course he has to be condescending.2. Flash works fine on every other platform. Anyway, even if it did suck (which it doesn’t), Linux users should be happy Adobe devote any resources to Linux at all. Particularly considering all Linux’s desktop market share has just been taken by Windows 7. What’re you going to do, storm in with your 0.8% worth of the desktop market, demanding better recognition? Pathetic.Why don’t you people go off and work on Gnash instead of whinging? SWF is an open standard. Oh wait, like the GIMP, Scribus and Flashdevelop, Free software clones are universally a disaster and at least 15 years behind their proprietary counterparts.This sense of privilege and expectation of preferential treatment from the Free software community needs to stop, now.

  15. Hassam Abadouni says:

    Dear Ken,If you like windows so much, why do you bother reply and offending people on a linux blog? If you think linux is only good for servers probably it means that you have not perceived the great advantages that linux give you as a workstation for developing and data analisys purpouses. Why peoples that do hard computing work should accept a piece of ultra slow crap like Adobe Flash on linux?Why people that are not paid should spend time to develop opensource alternatives to a crap like Adobe Flash on Linux?If Adobe would free up Flash or simply hire a couple of real programmers, you would be sure that in a couple of month and some basic optimisations it would run flawlessy and fast as mplayer.

  16. dude says:

    Wow Nick, u are sooo clever.1 percent is still means 20 million users, think about that. I like these troll comments everywhere in linux topics. What a shame, we want to use open source software, and get to know, how our system really works. We must be idiots, because we dont like viruses, slowing systems that must be reinstalled every year to work correctly, full of with security bugs. U are soo brave, you should be proud to be a MS user 😉

  17. Poman says:

    OK, I just went through this exercise on Karmic.Tried gnash, then sfwdec, then the flashplugin-installer.Was using a youtube video for test case.The Adobe flash plugin was the one that performed the best of the three.CPU usage did go quite high, but not 100% like the first two. Was able to play the content reasonably well.Now, I know that it uses more CPU than mplayer, vlc, etc for playing video, and fullscreen is mostly unusable, but it looks like it’s the best that we have for right now.Seems to perform about the same as the firefox plugin for windows for me on the one dual-boot machine that I have.

  18. Audrius says:

    Adobe is a proprietary platform and is funny to demand any third party to implement support for you. It will not work properly even if Microsoft itself will try. However I am sure Adobe will implement it itself because the biggest benefit of this platform is that, same as Java, it is cross platform. If they ignore this, other technologies take over; these technologies exist and are widely known. It may be reasonable to notify web masters that they miss part of the audience by immediately using the newest Flash version they can get this evening. Proper administrators restrict frequent plugin update also under Windows so pages are only viewable from home.Web trolls like Ken, the wisest thing to ignore.

  19. Andy says:

    “1. The problem isn’t with Mike, it’s with the Linux Youth who fill these blog comments with tedious braying about the NextBigThing™ API in Loonix Land,”Xv is OLD. Hardware acceleration of video scaling has been available with a stable API on nearly every chipset in existence for close to a decade. I’ve read the post linked about why Adobe seems to think they can’t do XV, however:Xine can do Xv hardware scaling and still display an OSDMplayer can do Xv hardware scaling and still display an OSDMythTV can do Xv hardware scaling and still display an OSDRGB-to-YUV conversion at the source resolution is FAR less CPU intensive than a hardware scaling algorithmThe short of it is: Basically every other video player in Linux can decode H.264 FLV video using stable well-established APIs (not VDPAU, which I agree is too new), all of those players can display an OSD during playback (Adobe’s claim of why they can’t use Xv is because they wouldn’t be able to mix other graphical elements onto the video) using a fraction of the resources Flash does.I don’t want VDPAU support, I want Flash that can play standard def Hulu content on my current HTPC. I know it is possible, MPlayer could do it with 50% CPU before Hulu’s anti-rtmpdump measures went into effect.

  20. Daniel Hansen says:

    @KenThe supposed “openness” of the SWF format is a joke. The documentation provided by Adobe provides few details about how things are really supposed to interact. Furthermore, the gnash folks obtained most of the information that the documentation provided from reverse-engineering flash years ago. Really, Adobe’s opening of the SWF format is the same old story of too little too late. The open source developers had already figured the basics out on their own, and that information is far from sufficient anyway.There are plenty of reasons that flash suffers in linux, but really the performance of video is horrific and has nothing to do with linux itself. I’ve used the move networks video plugin in linux (under WINE, mind you, which incurs overhead by itself) and am able to play full screen 480p video completely smooth on a netbook. It is simply a shame that flash can’t even come close to doing this with a native plugin in linux. I don’t know much about how the flash plugin handles video, but I do know that is very poorly adapted to linux, and the whole complaint about APIs is just an excuse to not provide real support, because you simply don’t care that much or you don’t want to devote resources to it. In the end, video decoders are pushing rgb pixel data, and there ARE standard, accepted APIs for that. I’m no expert, but it appears to me that the flash plugin’s video decoders simply don’t perform that well.

  21. Emil Briggs says:

    The latest version of Flash (10.0.r42) does not appear to even use the /etc/adobe/mms.cfg file on linux. I ran Firefox via strace and the config file was never accessed so the attempt to override the GPU validation does not work.

  22. Emil Briggs says:

    Update on that last post. It does read the /etc/adobe/mms.cfg file. I needed to tell strace to follow forks. Still no evidence of hardware acceleration though.