The Real Reason Why Macs Before 2011 Can’t Use AirPlay Mirroring In Mountain Lion [Feature]

By

airplay-mirroring-mac
If your Mac wasn't made in the last year and a half, you won't be able to do this.

With OS X Mountain Lion, AirPlay Mirroring is finally coming to the Mac, allowing some Macs to stream audio and video directly to their Apple TV.

‘Some’ is the operative word here. Much to the disappointment of the vast majority of Mac owners who will be installing Mountain Lion on their machines in a couple weeks time, AirPlay Mirroring will only work if you have an iMac, MacBook Air or Mac Mini from mid-2011, or a MacBook Pro from early 2011.

There’s been a lot of conspiracy theories floated about this requirement. Some have argued that it’s forced obsolescence on Apple’s part, trying to force older Mac owners to upgrade their machines. Others have suggested that the reason Apple requires a Mac from 2011 or later is because of special DRM technology in Intel’s chips that didn’t debut until last year.

The truth of the matter, however, is far less sensational. The reason you need a 2011 Mac to make use of AirPlay Mirroring in OS X Mountain Lion is because the graphics in older Macs just don’t cut the mustard.

How can that be?

It’s simple: the secret sauce that Apple requires to make AirPlay Mirroring work is on-GPU H.264 encoding, or the ability to compress video on your device’s actual graphic chips without calling upon the CPU.

“At least as far as Apple’s concerned, it’s not really possible for older Macs to support AirPlay Mirroring,” Sid Keith of AirParrot, an OS X app that allows you to mirror video to the Apple TV. “Without physical hardware support, mirroring eats a huge chunk of CPU, which means performance would be hindered to a point Apple would never allow.”

“Without physical hardware support, mirroring eats a huge chunk of CPU, which means performance would be hindered to a point Apple would never allow.”

It’s not just Macs that can’t use AirPlay Mirroring if they are older than 2011: even on the iOS side of things, you need a minimum of an iPhone 4S or an iPad 2 to use AirPlay Mirroring on your Apple TV. Why? Because older iOS devices don’t have on-GPU H.264 encoding either.

“The new generation of Intel and AMD chipsets that debuted in 2011 are definitely required for this to work up to Apple’s specifications,” agrees AirParrot’s lead developer, David Stanfill.

“For the modern [Intel and AMD] chipsets Apple has written drivers to access the on-GPU H264 encoding,” says Stanfill. “Since the image of whatever is on screen is already in your graphics’ frame buffer, all Apple needs to do is the scaling (the most expensive part of AirPlay Mirroring, which is why you have ‘Best for AirPlay’ resolutions that are 1:1), the color conversion (H.264 video needs YUV color space vs. RGB), and the actual encoding itself right on the GPU. Then, Apple only has to transmit the relatively small encoded video stream to the Apple TV.”

That’s not to say that it’s impossible for Apple to do AirPlay Mirroring on a Mac without on-GPU H.264 encoding. AirParrot is an app that proves exactly the opposite: all that is required is a multi-core CPU. But things can definitely get hot, and Apple hates that.

“With AirParrot, we spent a lot more time hand tuning the CPU instructions that power the video conversion,” Stanfill told Cult of Mac. “The H. 264 encoding is actually plenty fast enough on any modern multi-core CPU, but the scaling and colorspace conversion processes are still pretty intensive. We can do 60FPS of 1080p mirroring with only 10-20% CPU usage, which is better than Flash can say for playing 1080p video. The compromise is that on older machines, AirParrot uses a non-trivial amount of CPU, which can result in the fans kicking and the machine getting a little warm… but even with on-GPU AirPlay Mirroring, 2011 MacBook owners will still notice the heat.”

Whether you use AirParrot or AirPlay Mirroring, on a newer Mac or an older one, though, the real bottleneck for most users isn’t going to be whether the H.264 encoding was done on the CPU or on the GPU… it’s going to be your network.

Even on an older Mac, the real bottleneck for AirPlay Mirroring isn’t your GPU, it’s your network.

“You really need a top-notch network to do Airplay Mirroring of say, a web-based video player, with smooth low latency audio and video,” says Stanfill again. “That means an AirPort Express N router or any other high-quality brand router, and a pretty uncongested network. We’ve been out there for several months and have had tens of thousands of users in all kinds of networks using AirParrot. The actual video stream we are sending is the same size and shape as Apple’s stream, so we have no reason to expect that Apple’s experience will be much different. If you’re BitTorrenting while AirPlay Mirroring, good luck.”

Mystery solved! If you’ve got a Mac older than 2011 that won’t be able to take advantage of AirPlay Mirroring when OS X Mountain Lion is released, AirParrot can be purchased for just $9.99, and runs on Snow Leopard or above. A demo is available if you’d like to try it first.

Correction: The original version of this article mistakenly said that AirParrot did not transmit audio. This was in error, and the revised version of this article has corrected the mistake

Newsletters

Daily round-ups or a weekly refresher, straight from Cult of Mac to your inbox.

  • The Weekender

    The week's best Apple news, reviews and how-tos from Cult of Mac, every Saturday morning. Our readers say: "Thank you guys for always posting cool stuff" -- Vaughn Nevins. "Very informative" -- Kenly Xavier.