Airplay is very useful when we have an Apple device… except when we want to mirror to a screen without an Apple TV or without using an HDMI cable.
This is a working solution and open source, tested recently with:
- Device to mirror: MacBook Pro 13" Intel - macOS 12.5 (21G72)
- UxPlay on RHEL 9 using Wayland and SELinux enforced
UxPlay doesn't provide RPM package or RPM spec, I'll do a PR to add one.
You need RPM Fusion repositories before continuing
- Install requirements:
sudo dnf install -y openssl-devel libplist-devel avahi-compat-libdns_sd-devel gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-libav gstreamer1-plugins-bad-free
- Get source:
git clone https://github.com/FDH2/UxPlay && cd UxPlay
cmake . && make
sudo make install
- Repair SELinux:
sudo restorecon -Rv /usr/local/
It's time to authorize UxPlay
Create the service file:
<service> <description>An open-source AirPlay mirroring server based on RPiPlay</description> <port port="6000-6001" protocol="udp"/> <port port="7011" protocol="udp"/> <port port="7000-7001" protocol="tcp"/> <port port="7100" protocol="tcp"/> </service>
sudo firewall-cmd --zone=public --add-service=uxplay --permanent && sudo firewall-cmd --reload
Depending of your setup, you may need to change the zone to the right one.
You don't need to be root, or special SELinux tuning…
/usr/local/bin/uxplay -p -vs waylandsink