Do you want to mirror your iPhone screen on your Ubuntu desktop? There’s a free, open-source app in the Ubuntu repos that lets you do it.

If you’re looking to mirror your iPhone or iPad to Ubuntu UxPlay is the easy way to do it — and it’s free, open-source software

It’s called UxPlay and once you have installed it you can quickly share your iPhone (or iPad) screen to Ubuntu with audio, and you don’t have to install an app on your Apple device to use it.

Whatever is shown on your Apple device screen is streamed to your desktop in real time, displayed in a floating window you are free to move around the desktop or take full screen.

How does it work?

UxPlay uses AirPlay, Apple’s screen sharing tech that is built-in to iOS — no hacks, cables, or jailbreaks needed just a device with AirPlay support (i.e., an iPhone 4 or later) and a working network connection.

Now, Apple did revamp AirPlay in 2017 (AirPlay 2) but does continue to include the “legacy protocol” this app uses to enable screen mirroring on Linux. Apple will likely remove the older protocol in a future update but as of iOS 17.x it’s present and working.

If you want to mirror your iPhone or iPad to Ubuntu the using UxPlay is the easy to to achieve it — and it’s all free, open-source software, which is ace!

See Your iPad or iPhone on Your Desktop

Mirroring my iPad with UxPlay in Ubuntu 23.10
Mirroring an iPad with UxPlay in Ubuntu 23.10

I’ve shown you how you can use an iPad as a second monitor in Ubuntu but doing things the other way around, i.e. seeing an iPhone or iPad screen on Ubuntu, is almost as easy, all thanks to this tool.

UxPlay only mirrors your screen (and its audio) so you can’t interact with you see. But mirroring has many uses: it can help you collaborate at work, share presentations, demo code, art, or other content on streams or video calls, watch/listen to content from your device on a larger screen, etc.

And because UxPlay uses hardware accelerated H.264 decoders where available (if they aren’t it falls back to software decoding) via GStreamer plugins, performance is great and video is smooth with few stalls, stutters, and dropped frames — don’t expect cable-grade fluidity, though.

You can take screenshare full-screen

Alongside AirPlay mirror mode (which is what casts your screen and its lossily-compressed AAC audio) UxPlay supports AirPlay Audio mode for Apple Lossless (ALAC) audio (meaning audio only, no video) for whatever is playing on your device.

So if you only want to listen to something from your iPad or iPhone and hear it through your desktop or laptop speakers, use that feature for the best possible audio quality.

To share your iPhone/iPad screen with Ubuntu:

  1. Install UxPlay. Search for it in Ubuntu Software/App Center apps or open a Terminal window and run sudo apt install uxplay to install it
  2. Install the required GStreamer plugins. Without these the app won’t work. Run sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav to install them
  3. Launch UxPlay by running uxplay in a terminal
  4. On your iPhone/iPad open Control Center (pull down from top-right of screen), tap Screen Mirroring icon (overlapping squares), select ‘UxPlay’ from list

Et voila: what’s showing on your smartphone or tablet screen is now instantly viewable in UxPlay.

When you’re done, disconnect through your iPhone and close the UxPlay window on your desktop (if it doesn’t close automatically). Then end the UxPlay process in the Terminal by pressing the ctrl + c keys on your keyboard.

Things UxPlay can’t do

DRM video can’t be mirrored using this app

UxPlay is sometimes referred to as “Scrpy for iPhone” or a “free Vysor alternative” but it’s not. Unlike both of those apps UxPlay is simply a mirror and doesn’t let you interact with a device from your computer using a mouse and keyboard.

There are other limitations too. You can’t “see” Apple video content encrypted by DRM (i.e. stuff in the Apple TV app, Amazon Prime, and other apps) through UxPlay.

Finally, non-mirror AirPlay2 video streaming isn’t possible. This means you can’t open an app, tap on a native ‘cast’ icon, select UxPlay, and have the video stream bypass your device and re-route direct to the app.

Other things UxPlay can do

Want to configure things further?

UxPlay’s Github page offers details on the many options available, including rotating the screen, specifying a FPS (helpful to improve performance), disabling video for audio-only stream, choosing a specific decoder, and more.

You can edit the tool’s config file if you’d like to “hardcode” the options and not have to pass them manually, otherwise just run them as/when needed.

A few helpful ones:

  • Set the resolution: use -s flag plus resolution, e.g., uxplay -s 1366x768
  • Rotate the screen: before connecting pass -r plus L or R
  • Enter full-screen mode1: press F11 on your keyboard (and again to exit) or pass -fs

Interestingly, UxPlay is able to perform hardware-accelerated decoding on on the Raspberry Pi 4B (and older) using Video4Linux2, but this can vary from distro to distro. On Ubuntu for the Raspberry Pi 4 this should work automatically.

Summary

UxPlay in use in Ubuntu

So that’s how you can share an iPhone or iPad screen to any desktop PC or laptop running Ubuntu.

Other options for doing this are available, many with more functionality, but most are paid software, only work with Windows or macOS, and involve installing apps from the App Store.

But for a fuss-free FOSS approach, this is hard to beat.

  1. The version of UxPlay in Ubuntu 22.04 LTS doesn’t support this feature ↩︎