Sunday 29 July 2012

Enabling the Mercury Playback Engine for Premiere Pro CS6 in Mountain Lion

Premiere Pro CS6
Adobe recently released Creative Suite CS6 with new versions of all their creative software including their video editing application, Premiere.
I have tried Premiere on a number of occasions before and never really liked it, but starting with version 5 it has been improving steadily.
One of the key new features is the "Mercury Playback Engine" which leverages the power of your graphics card to give you smoother playback and more real time effects without rendering.
Premiere CS6 takes this to an even higher level with improvements to the Mercury playback engine that provide a really slick and responsive interface.

In order to take advantage of the Mercury Playback Engine you need a computer with supported Graphics hardware. Adobe publish a list here.

If you look at this list you will see there are plenty of cards for the PC, but only three for the Mac Pro, and they're all a bit old. Following on from my post about running PC Graphics cards in a Mac Pro, I thought I would pass on my experience with getting Premiere CS6 to run with the Mercury Playback Engine enabled on a Mac Pro 3,1 running Mountain Lion (OSX 10.8)

My Mac Pro had been running Lion happily with a PC version of the GTX550ti graphics card, I recently updated the OS to Mountain Lion with no problems (well, I did see some issues with resuming from sleep mode but I just switched that off) However, the GTX550ti is not on Adobe's list of supported graphics cards.

There is an excellent guide to enabling support for the Mercury Playback Engine on PC's here, but I found the Mac instructions to be confusing, plus I know most people are not comfortable with messing around with the command line.

So here is my non-command line guide to enabling support for your graphics card in Mountain Lion.

First: Install Premiere CS6, you can download the trial version of Creative Suite 6 here.

Second: If you create a new project in Premiere and then check: Project > Project settings > General under the "Video rendering and Playback" tab you should only have the option "Mercury Playback Engine software only" If you see GPU acceleration as an option your card is already supported.

Third: Shut down Premiere, in finder go to the folder where Premiere is installed, by default it should be: Applications - Adobe Premiere Pro CS6. Command click on the Adobe Premiere Pro CS6.app and choose "Show package contents", then choose contents.

Fourth: In the contents folder you will see a file called "GPUsniffer.app" again command click the file and choose "Show package contents", then choose contents, then MacOS.

Fifth: Command click the file "GPUsniffer" and choose "open with> Terminal.app. A terminal window will open with information like this: (this is from my computer)

Vendor: NVIDIA Corporation
Renderer: NVIDIA GeForce GTX 550 Ti OpenGL Engine
OpenGL Version: 2.1 NVIDIA-8.0.51
GLSL Version: 1.20
Monitors: 1
Monitor 0 properties -
   Size: (0, 0, 1920, 1200)
   Max texture size: 16384
   Supports non-power of two: 1
   Shaders 444: 1
   Shaders 422: 1
   Shaders 420: 1


--- GPU Computation Info ---
Found 2 devices supporting GPU computation.
CUDA Device 0 - 
   Name: GeForce GTX 550 Ti
   Capability: 2.1
   Driver: 5
   Total Video Memory: 2047MB
OpenCL Device 1 - 
   Name: GeForce GTX 550 Ti
   Capability: 1.2
   Driver: 1.1
   Total Video Memory: 2048MB
logout

Copy the Name of the Graphics card, so here it is GeForce GTX 550 Ti (spaces and capitalisation are important)

Sixth: In finder, navigate back to the Premiere CS6 app contents, there you should see a file called "cuda_supported_cards.txt" double click the file to open it in the text editor. You will see a list of supported graphics cards, paste the name of your graphics card under the other cards listed. If Mountain Lion says that the file is protected and asks if you want to edit a copy, say yes. Then save the copy with the same name, overwriting the original. (at this point text edit on my computer hung, but the file was saved, so just force quit text edit)

Optionally, do the same with the file "OpenCL_supported_cards.txt" you may need to do this for AMD graphics cards that do not support CUDA

Seven: Launch Premiere Pro CS6 and check Project > Project settings > General, under the "Video rendering and Playback" tab you should now have the option "Mercury Playback Engine GPU acceleration"

Congratulations!! You have successfully enabled Mercury Playback Acceleration.

DISCLAIMER: I cannot guarantee this will work with your card but it should be fine with any Nvidia GTX 500 or 600 series card. I accept no responsibility for damage to your machine or lost data.

I have been playing with Premiere CS6 since enabling the Mercury Playback engine and have created a timeline with 8 layers of Chroma key at HD resolution that plays back in real time!!! Here is a screenshot of the project :-)

Eight layers of Chroma Key in real time!!!
Use the comments to let me know if you succeed, or to ask questions. Thanks and good luck!!