This article is solely targeted at people that (want to) mirror the image of their iDevice onto an external TV / projector / streaming service and have jailbroken their iDevice. You'll learn a lot of practical tips and tricks never before published by anyone else.
With the advent of even realtime game video streaming services like Twitch.tv, in addition to the “traditional” ones like YouTube's own YouTube live streaming, outputting / streaming the contents of the iDevice's screen became even more important. In addition to the standard mirroring available on all A5 CPU-based iDevices (and, with some tweaking, on A4-based ones too), Cydia-based (link; $3.99) DisplayOut (DO for short) has always been the most preferred solution. In this tutorial, I directly compare it to the stock mirroring readily available in all new devices announced in 2011 or later.
First, let me quickly list the pros / cons of DO.
When to prefer DisplayOut over standard mirroring (if available)?
You want
- to show your audience where you've tapped
- you have an Retina iPad and want to mirror your screen to a TV with higher-than-900p resolution in as good an effective, actual resolution as possible
- you in no way can get rid of the thick black border around your screen content, that is, the windowboxing of the always-enabled overscan
- to show the output of an app with buggy native TV out support; for example, that of Keynote
- to use your old composite or component cables (as opposed to the HDMI and VGA adapters) to mirror the screen of your iDevice
- to force some video streaming apps' output be displayed on an external source – apps that just show a black screen by default on the external TV to disable mirroring
- to play back high-resolution videos on the external screen over either the VGA adapter or a connection not supporting
- to mirror the screen of an A4-based iDevice without hacking their capabilities plist
When to prefer the built-in mirroring?
You want
- to play a game with as high a framerate and as low lag as possible
Now, let's examine all these bullets in detail!
1. Show The Tap Position
By default, there isn't any way of showing on the external TV where the user tapped in generic apps or the SpringBoard. This may be a big problem when, say, you record a software review or have a user interface with tons of widgets and you want to avoid having to tell your audience “now, I've tapped this and this”.
A recent example is, say, THIS (linked from HERE) TA video. (Many other TA videos could also be cited as examples.) You can only guess where the reviewers tapped in a lot of times. In a review video like this, it would have been MUCH better to constantly see what has been tapped.
Unfortunately, there doens't seem to be any way of doing this while just using the built-in screen mirroring of iOS using jailbreak tools, let alone the non-jailbroken iOS.
DO can this too. By default, a circle is displayed at the tap location. You can set the perimeter of the circle and can also enable it for OpenGL surfaces and on-screen keyboards. (This isn't enabled by default.) It does what it's supposed to do.
Note that the only known major DO bug is related to these circles. In many cases, on all kinds of machines, they just stay on-screen until the next complete device restart. Unfortunately, simply dis/enabling DO doesn't help; neither does “just” respringing the device.
(as with all the images in this article, click for the original)
2. Actual Resolution
2.1 iPad 2
First, in order to have something to compare to, let's start with non-Retina, that is, XGA (1024x768) iPads' mirroring; more specifically, that of the iPad 2. (I don't provide you with Lightning-HDMI captures in this article, their being of significantly worse quality because of the implicit 900p scaling than those of 30-pin ones.)
Let me show you two resolution charts with my programmatically generated (see THIS for a discussion and source code – it starts at #4; the code is at #8) 1x1 checkerboard. As you may recall, it looks like as follows on the built-in Retina iPad screen:
That is, as the source image (it's HERE for download) is mapped pixel-by-pixel to the screen of equal dimensions, there's absolutely o scaling and every pixel is displayed faithfully to the original image.
This is how it's rendered on the XGA screen of the iDevice (here, it's shown with about a 5x zoom):
(Note: as with all the two other shots in this section, I've made this in iFile's built-in image viewer and not using the stock Photos app. The reasons for this is simple and you may already know: the stock Photos app has native TV out support. That would rendered the natively mirrored captured frame non-comparable to the other two pictures. I've made sure the header / footer of iFile's image viewer is visible to emphasize all this.)
As you can see, it's just a solid, homogenous mass. There isn't any sign of even scaling.
Why? This can be very easily understood. The original image is of Retina iPad resolution, while the screen of the iPad 2 is XGA (1024x768). This means 1x1 checkerboards will become just gray masses as four black and white squares next and below to each other will be combined to one “superpixel” during scaling, averaging their luminoisity value too. Hence the almost fully solid color without any signs of scaling or detail.
Let's take a look at the effective resolution of this reschart – still on the same iPad 2. Let's elaborate on the horizontal resolution. (Vertical resolution compares in exactly the same way.) This is a crop of the direct screen capture (that is, without any kind of mirroring yet):
As you can see for yourself too, you can no longer get the correct count (nine) of the nine almost-vertical lines below the label 8.
Let's see how this all is mirrored via the stock TV mirroring support:
(only showing the resolution lines. The 1x1 checkerboard looks exactly the same as in the above screenshot.)
As you can see, the resolution is a little bit (about 10%, but ot significantly more) worse than on the built-in screen (shown on the last-but-one crop). The explanation for this is very simple: the original screen content is reduced in size in order to apply overscan; hence the lower resolution. As you may well remember, it's not possible to disable overscan while mirroring on the iDevice's side.
As the stock mirroring delivers essentially (apart from the resolution hit introduced by the, with iOS, obligatory overscan) the same resolution as the built-in screen, I don't provide a shot made with DO. Apart from not having to use overscan, there wouldn't be any resolution increase when using DO instead of the stock mirroring client.
The situation will be vastly different with the iPad 3.
2.2 iPad 3
Let's compare the last two crops (vertical lines) to that of the iPad3, which is already Retina. Resolution on the built-in screen:
Resolution on the TV using the standard, stock mirroring in the best possible circumstances (30-pin (and not the significantly worse Lightning), first-gen (and not the somewhat-worse second) HDMI adapter):
As you can see, the resolution is
- somewhat (about 25%) better than with the iPad 2 – here, the vertical lines' number becomes impossible to count between the 10th and 11th line. I'd say the iPad3 screen's mirrored at SXGA (1280x1024) effective resolution – no more, no less. (Note: some people state standard mirroring tops out at the effective resolution of XGA (1024x768) on even Retina (2048x1536) iPads even on external TV's capable of displaying even Full HD (1920x1080). This certainly isn't true, as you can see here if you compare this crop to that of the iPad 2.)
- much-much worse than in the in-screen screenshot, which you may already guessed, given that I've aleady mentioned the resolution advantage over the iPad2 is around 25% only – while the screen has double the resolution. Where is the remaining 75%?
Let's also take a look at the 1x1 checkerboard:
Well-well, while, at least, it's definitely different from the homogenous mass of the XGA case - you can easily see based on this crop too that the effective resolution is indeed not XGA.
2.2.1 How Does DO Compare?
Definitely much better in the 1080p / High Quality mode. While, physically, it's impossible to deliver the full resolution of the Retina iPad's screen over a Full HD connection (how would you show a 2048x1536 screen on an external TV with a resolution of only 1920x1080?), DO at least makes it possible to realize there has been some fine-lined graphics in that area - unlike with the built-in mirroring.
Let's see how DO handles the vertical lines:
Yes, it's definitely better than the resolution delivered by stock mirroring. (And it'd be even better after disabling overscan – which is definitely possible with DO!)
The 1x1 checkerboard also shows the effective resolution of DO's output being definitely better than that of the stock mirroring:
As you can see, while it's not delivering the same checkerboard as the original 2048x1536 screenshot (it couldn't, given that the Full HD resolution is below that of 2048x1536 and, consequently, scaling must take place), it's the most textured one so far.
All in all, DO does deliver a resolution advantage on Retina-screen iPads; particularly on 30-pin ones (namely, the iPad 3). The difference between DO's and the stock mirroring's output isn't this pronounced on the iPad 4 because of the sub-par Lightning – HDMI adapter only letting video signals through at 900p resolution, introducing another rescaling and recompression layer, visibly reducing image quality.
3. Configuring DO
DO has its own configuration dialog in the system-level Settings.
3.1 Quickly En/Disabling DO
The uppermost switch allows for quickly en/disabling the tweak very useful when you plan to quickly switch back and forth between the native TV support, including the possible mirroring support, and that of DO:
In the original-sized image, I've also shown in the same image the icon integrating into SBSettings, also allowing for quickly en/disabling DO from anywhere:
No matter which of the two you use for toggling the tweak, both offer a way for very fast switching. I wish all other, major tweaks had the same quick en/disabling. Unfortunately, one of the best other, TV out-related tweaks, ReSupported 4+, which is also recommended by the developer of DO, don't have such a thing. It must always be completely uninstalled to disable it (and reinstalled to be enabled). Which is a pity, as it's an excellent app allowing for, among other things, adding TV out to the AppStore version of the YouTube app. It's only in pre-iOS6 times that it came bundled as a stock app on every iDevice. On iOS6, you must install it yourself. While the AppStore version does have some advantages (for example, support for CC's), it no longer supports TV out. ReSupported 4 can tweak this new client to stream to an external TV but – when the tweak is installed, the high-definition (HD) HDMI and VGA adapters stop working, and only the standard-definition (SD) composite / RGB cables work. (Both official and unofficial.) Unfortunately, I haven't managed to speak to the developer on this matter as he hasn't answered my mails. All in all, for now, should you want to use ReSupported 4, do it only if you only have / can only use SD cables and not HD adapters.
(continues below)
With the advent of even realtime game video streaming services like Twitch.tv, in addition to the “traditional” ones like YouTube's own YouTube live streaming, outputting / streaming the contents of the iDevice's screen became even more important. In addition to the standard mirroring available on all A5 CPU-based iDevices (and, with some tweaking, on A4-based ones too), Cydia-based (link; $3.99) DisplayOut (DO for short) has always been the most preferred solution. In this tutorial, I directly compare it to the stock mirroring readily available in all new devices announced in 2011 or later.
First, let me quickly list the pros / cons of DO.
When to prefer DisplayOut over standard mirroring (if available)?
You want
- to show your audience where you've tapped
- you have an Retina iPad and want to mirror your screen to a TV with higher-than-900p resolution in as good an effective, actual resolution as possible
- you in no way can get rid of the thick black border around your screen content, that is, the windowboxing of the always-enabled overscan
- to show the output of an app with buggy native TV out support; for example, that of Keynote
- to use your old composite or component cables (as opposed to the HDMI and VGA adapters) to mirror the screen of your iDevice
- to force some video streaming apps' output be displayed on an external source – apps that just show a black screen by default on the external TV to disable mirroring
- to play back high-resolution videos on the external screen over either the VGA adapter or a connection not supporting
- to mirror the screen of an A4-based iDevice without hacking their capabilities plist
When to prefer the built-in mirroring?
You want
- to play a game with as high a framerate and as low lag as possible
Now, let's examine all these bullets in detail!
1. Show The Tap Position
By default, there isn't any way of showing on the external TV where the user tapped in generic apps or the SpringBoard. This may be a big problem when, say, you record a software review or have a user interface with tons of widgets and you want to avoid having to tell your audience “now, I've tapped this and this”.
A recent example is, say, THIS (linked from HERE) TA video. (Many other TA videos could also be cited as examples.) You can only guess where the reviewers tapped in a lot of times. In a review video like this, it would have been MUCH better to constantly see what has been tapped.
Unfortunately, there doens't seem to be any way of doing this while just using the built-in screen mirroring of iOS using jailbreak tools, let alone the non-jailbroken iOS.
DO can this too. By default, a circle is displayed at the tap location. You can set the perimeter of the circle and can also enable it for OpenGL surfaces and on-screen keyboards. (This isn't enabled by default.) It does what it's supposed to do.
Note that the only known major DO bug is related to these circles. In many cases, on all kinds of machines, they just stay on-screen until the next complete device restart. Unfortunately, simply dis/enabling DO doesn't help; neither does “just” respringing the device.
(as with all the images in this article, click for the original)
2. Actual Resolution
2.1 iPad 2
First, in order to have something to compare to, let's start with non-Retina, that is, XGA (1024x768) iPads' mirroring; more specifically, that of the iPad 2. (I don't provide you with Lightning-HDMI captures in this article, their being of significantly worse quality because of the implicit 900p scaling than those of 30-pin ones.)
Let me show you two resolution charts with my programmatically generated (see THIS for a discussion and source code – it starts at #4; the code is at #8) 1x1 checkerboard. As you may recall, it looks like as follows on the built-in Retina iPad screen:
That is, as the source image (it's HERE for download) is mapped pixel-by-pixel to the screen of equal dimensions, there's absolutely o scaling and every pixel is displayed faithfully to the original image.
This is how it's rendered on the XGA screen of the iDevice (here, it's shown with about a 5x zoom):
(Note: as with all the two other shots in this section, I've made this in iFile's built-in image viewer and not using the stock Photos app. The reasons for this is simple and you may already know: the stock Photos app has native TV out support. That would rendered the natively mirrored captured frame non-comparable to the other two pictures. I've made sure the header / footer of iFile's image viewer is visible to emphasize all this.)
As you can see, it's just a solid, homogenous mass. There isn't any sign of even scaling.
Why? This can be very easily understood. The original image is of Retina iPad resolution, while the screen of the iPad 2 is XGA (1024x768). This means 1x1 checkerboards will become just gray masses as four black and white squares next and below to each other will be combined to one “superpixel” during scaling, averaging their luminoisity value too. Hence the almost fully solid color without any signs of scaling or detail.
Let's take a look at the effective resolution of this reschart – still on the same iPad 2. Let's elaborate on the horizontal resolution. (Vertical resolution compares in exactly the same way.) This is a crop of the direct screen capture (that is, without any kind of mirroring yet):
As you can see for yourself too, you can no longer get the correct count (nine) of the nine almost-vertical lines below the label 8.
Let's see how this all is mirrored via the stock TV mirroring support:
(only showing the resolution lines. The 1x1 checkerboard looks exactly the same as in the above screenshot.)
As you can see, the resolution is a little bit (about 10%, but ot significantly more) worse than on the built-in screen (shown on the last-but-one crop). The explanation for this is very simple: the original screen content is reduced in size in order to apply overscan; hence the lower resolution. As you may well remember, it's not possible to disable overscan while mirroring on the iDevice's side.
As the stock mirroring delivers essentially (apart from the resolution hit introduced by the, with iOS, obligatory overscan) the same resolution as the built-in screen, I don't provide a shot made with DO. Apart from not having to use overscan, there wouldn't be any resolution increase when using DO instead of the stock mirroring client.
The situation will be vastly different with the iPad 3.
2.2 iPad 3
Let's compare the last two crops (vertical lines) to that of the iPad3, which is already Retina. Resolution on the built-in screen:
Resolution on the TV using the standard, stock mirroring in the best possible circumstances (30-pin (and not the significantly worse Lightning), first-gen (and not the somewhat-worse second) HDMI adapter):
As you can see, the resolution is
- somewhat (about 25%) better than with the iPad 2 – here, the vertical lines' number becomes impossible to count between the 10th and 11th line. I'd say the iPad3 screen's mirrored at SXGA (1280x1024) effective resolution – no more, no less. (Note: some people state standard mirroring tops out at the effective resolution of XGA (1024x768) on even Retina (2048x1536) iPads even on external TV's capable of displaying even Full HD (1920x1080). This certainly isn't true, as you can see here if you compare this crop to that of the iPad 2.)
- much-much worse than in the in-screen screenshot, which you may already guessed, given that I've aleady mentioned the resolution advantage over the iPad2 is around 25% only – while the screen has double the resolution. Where is the remaining 75%?
Let's also take a look at the 1x1 checkerboard:
Well-well, while, at least, it's definitely different from the homogenous mass of the XGA case - you can easily see based on this crop too that the effective resolution is indeed not XGA.
2.2.1 How Does DO Compare?
Definitely much better in the 1080p / High Quality mode. While, physically, it's impossible to deliver the full resolution of the Retina iPad's screen over a Full HD connection (how would you show a 2048x1536 screen on an external TV with a resolution of only 1920x1080?), DO at least makes it possible to realize there has been some fine-lined graphics in that area - unlike with the built-in mirroring.
Let's see how DO handles the vertical lines:
Yes, it's definitely better than the resolution delivered by stock mirroring. (And it'd be even better after disabling overscan – which is definitely possible with DO!)
The 1x1 checkerboard also shows the effective resolution of DO's output being definitely better than that of the stock mirroring:
As you can see, while it's not delivering the same checkerboard as the original 2048x1536 screenshot (it couldn't, given that the Full HD resolution is below that of 2048x1536 and, consequently, scaling must take place), it's the most textured one so far.
All in all, DO does deliver a resolution advantage on Retina-screen iPads; particularly on 30-pin ones (namely, the iPad 3). The difference between DO's and the stock mirroring's output isn't this pronounced on the iPad 4 because of the sub-par Lightning – HDMI adapter only letting video signals through at 900p resolution, introducing another rescaling and recompression layer, visibly reducing image quality.
3. Configuring DO
DO has its own configuration dialog in the system-level Settings.
3.1 Quickly En/Disabling DO
The uppermost switch allows for quickly en/disabling the tweak very useful when you plan to quickly switch back and forth between the native TV support, including the possible mirroring support, and that of DO:
In the original-sized image, I've also shown in the same image the icon integrating into SBSettings, also allowing for quickly en/disabling DO from anywhere:
No matter which of the two you use for toggling the tweak, both offer a way for very fast switching. I wish all other, major tweaks had the same quick en/disabling. Unfortunately, one of the best other, TV out-related tweaks, ReSupported 4+, which is also recommended by the developer of DO, don't have such a thing. It must always be completely uninstalled to disable it (and reinstalled to be enabled). Which is a pity, as it's an excellent app allowing for, among other things, adding TV out to the AppStore version of the YouTube app. It's only in pre-iOS6 times that it came bundled as a stock app on every iDevice. On iOS6, you must install it yourself. While the AppStore version does have some advantages (for example, support for CC's), it no longer supports TV out. ReSupported 4 can tweak this new client to stream to an external TV but – when the tweak is installed, the high-definition (HD) HDMI and VGA adapters stop working, and only the standard-definition (SD) composite / RGB cables work. (Both official and unofficial.) Unfortunately, I haven't managed to speak to the developer on this matter as he hasn't answered my mails. All in all, for now, should you want to use ReSupported 4, do it only if you only have / can only use SD cables and not HD adapters.
(continues below)
Last edited: