Do you want to mirror your iPhone screen on your Ubuntu desktop? If you do, there’s a free, open-source app in the Ubuntu repos that lets you do it.
Want 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 it’s installed you can easily share your iPhone (or iPad) screen to Ubuntu complete with audio — and you don’t have to install an app on your Apple device to do it.
Whatever is on your iPhone or iPad screen is streamed in real time to your desktop where it’s shown in a floating window you can move around, resize, or take full screen.
Neat feature, but how does it work?
UxPlay uses AirPlay, Apple’s screen sharing tech built-in to iOS. No hacks, cables, or jailbreaks are needed just an iPhone or iPad with AirPlay support (an iPhone 4 or later). Oh, and a working network connection of course!
Apple revamped AirPlay in 2017 (called ‘AirPlay 2’) but includes the “legacy protocol” UxPlay uses for screen mirroring on Linux. Apple could remove the older protocol in a future update, but as of iOS 17.x it’s still there, and still working.
If you want to mirror your iPhone or iPad to Ubuntu the using UxPlay is the easy to to achieve it using free, open-source software.
See Your iPad or iPhone on the Desktop
I’ve previously shown you how to use an iPad as a second monitor in Ubuntu. Doing things the other way around, i.e., seeing your iPhone or iPad screen on Ubuntu, is almost as easy.
UxPlay mirrors your iPhone but you can’t interact with it. But passive mirroring has its uses: collaborate at work, share presentations, demo code, art, and other creative content on streams and video calls, watch/listen to content from your device on a larger screen, etc.
And as UxPlay uses hardware accelerated H.264 decoders where available (if it can’t it falls back to software decoding) via GStreamer plugins, performance is great and video is smooth with few stalls, stutters, or dropped frames.
It’s not cable-grade fluidity, but it’s perfectly acceptable.
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) of whatever is playing on your device.
Thus if you only want to listen to something from your iPad or iPhone —HQ stream on TIDAL, perhaps?— and hear it through your desktop or laptop speakers, use that feature to get the best possible audio quality.
To share your iPhone/iPad screen with Ubuntu: –
- Install UxPlay. Search for it in Ubuntu Software/App Center apps or open a Terminal window and run
sudo apt install uxplayto install it - Install the required GStreamer plugins. Without these the app won’t work. Run
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libavto install them - Launch UxPlay by running
uxplayin a terminal - 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 shown on your smartphone or tablet screen is instantly viewable in UxPlay on the Ubuntu desktop.
When you’re finished, disconnect through your iPhone and close the UxPlay window on the 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
While this nifty tool is often described as “Scrpy for iPhone” or a “free Vysor alternative” it’s not. Unlike those apps UxPlay is just a mirror, which means you can’t interact with your device from your computer, use your mouse and keyboard, drag and drop files, etc.
Other limitations are present as well. Video content encrypted by DRM (i.e. stuff in the Apple TV app, Amazon Prime, and other streaming services) isn’t supported. Instead of you favourite show or movie you’ll see a black screen and terse warning.
Finally, non-mirror AirPlay2 video streaming isn’t supported. You can’t open an iOS app, tap the ‘cast’ icon, pick UxPlay, and have the video stream bypass your device and re-route itself directly to the app — not a major drawback, but one I thought I’d mention.
UxPlay Configuration
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
-sflag plus resolution, e.g.,uxplay -s 1366x768 - Rotate the screen: before connecting pass
-rplusLorR - Enter full-screen mode1: press F11 (and again to exit) or pass
-fs
Interestingly, UxPlay supports hardware-accelerated decoding on on the Raspberry Pi 4B (and later) using Video4Linux2. Support may vary from distro to distro but in Ubuntu for the Raspberry Pi 4 it will work automatically.
Sweet!
Summary
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.
- The version of UxPlay in Ubuntu 22.04 LTS doesn’t support this feature ↩︎



