Skip to content

UxPlay 1.65

Compare
Choose a tag to compare
@fduncanh fduncanh released this 05 Jun 10:42
· 177 commits to master since this release

UxPlay is a GPLv3 unix AirPlay2 Mirror and AirPlay2 Audio (but not AirPlay2 Video) server: its main use is to act like an AppleTV for screen-mirroring (with audio) of iOS/MacOS clients (iPads, iPhones, MacBooks, etc.) in a window on the server display (with the possibility of sharing that window on screen-sharing applications such as Zoom) on a host running Linux, macOS, or other unix, (and now also Windows 10/11, with the unix-like MYSYS2 environment) using Apple's AirPlay2 Mirror protocol. When the client screen is not mirrored, Apple Lossless (ALAC) AirPlay2 Audio can be streamed from the client to the server.

UxPlay is derived from https://github.com/FD-/RPiPlay, with audio and video rendered using GStreamer, and many enhancements. While originally targeted at x86/x86_64 server and desktop systems, it now also supports Raspberry Pi (model 4B 32/64 bit, also model 3B+) using Video4Linux2 (instead of OpenMAX) to access accelerated hardware video decoding. UxPlay is tested on a number of systems, including (among others) Debian (10 "Buster", 11 "Bullseye", 12 "Bookworm"), Ubuntu (20.04 LTS, 22.04 LTS, 23.04; also Ubuntu derivatives Linux Mint 20.3, Pop!_OS 22.04 (NVIDIA edition)), Red Hat and clones (Fedora 38, Rocky Linux 9.2), openSUSE 15.4, Arch Linux 23.05, macOS 13.3 (Intel and M2), FreeBSD 13.2, Windows 10 and 11 (64 bit). On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.04 LTS and 23.04, Manjaro RPi4 23.02, and (without hardware video decoding) on openSUSE 15.4.

ChangeLog:
1.65 2023-06-05. Eliminate pair_setup part of connection protocol to allow faster connections with clients (thanks to @shuax #176 for this discovery); to revert, uncomment a line in lib/dnssdint.h. Disconnect from audio device when connection closes, to not block its use by other apps if uxplay is running but not connected. Fix for AirMyPC client (broken since 1.60), so its older non-NTP timestamp protocol works with -vsync. Corrected parsing of configuration file entries that were in quotes.