You can mirror your iPhone screen on the Ubuntu desktop using a free, open-source app that’s available in the Ubuntu repos.
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 after you install it you can use AirPlay to ‘cast’ your iPhone, iPad or Mac screen to Ubuntu, complete with audio.
You don’t have to install a special app on your Apple device to do this as it works using Apple’s built-in AirPlay feature, which can be accessed from Control Center.
Whatever is shown on your iPhone or iPad screen is streamed in real-time to your desktop, displayed in a floating window that you can move around, resize, or take full screen.
Neat feature, right — 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 (basically an iPhone 4 or later). You will need a stable internet connection too.
Apple revamped AirPlay in 2017 (called ‘AirPlay 2’) but it continues to include the “legacy protocol” UxPlay uses for screen mirroring on Linux. Apple may remove the older protocol in a future update, but as of iOS 18.x it’s still there, still working.
So if you want to see your iPhone or iPad screen on your Ubuntu desktop using free, open-source software (no shady web-based services or subscription apps) here’s what to do!
See Your iPad or iPhone on the Desktop
I’ve shown you how to use an iPad as a second monitor in Ubuntu, and things the other way around, i.e., seeing your iPhone or iPad screen on Ubuntu, is almost as easy.
UxPlay mirrors your iPhone. You can’t interact with it. 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.
This tech uses hardware accelerated H.264 decoders where available (if it can’t it falls back to software decoding) using GStreamer plugins. Performance is good and video is smooth with few stalls, stutters, or dropped frames on good connections.
We’re not talking “cable-grade” fluidity and audio latency, but it’s perfectly acceptable for the kinds of use cases I mentioned above.
Alongside AirPlay mirror mode (which is what casts screen and lossily-compressed AAC audio), UxPlay supports AirPlay Audio mode for Apple Lossless (ALAC) audio (meaning audio only, no video), and, in the latest update, HLS video streaming – sending video direct to your device.
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, you can.
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.
To only send audio, open Control Center, tap the audio pod, then tap the AirPlay icon inside.
When you’re finished, disconnect through your iPhone and close the UxPlay window on the desktop (if it doesn’t close automatically). Finally, 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 ↩︎



