mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-15 00:34:05 +09:00
README: note on CentOS/Rocky Linux
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<p>Its main use is to act like an AppleTV for screen-mirroring (with audio) of iOS/iPadOS/macOS clients (iPhones, iPads, MacBooks) 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. UxPlay supports a “legacy” form of Apple’s AirPlay Mirror protocol introduced in iOS 12; client devices running iOS/iPadOS 12 or later are supported, as is a (non-free) Windows-based AirPlay-client software emulator, AirMyPC. Older (32-bit) client devices that can only run iOS 9.3 or iOS 10.3 are currently partially supported by UxPlay: reports indicate that screen-mirroring video works, audio is a work-in-progress, but is correctly decrypted. (Details of what is publically known about Apple’s AirPlay2 protocol can be found <a href="https://github.com/SteeBono/airplayreceiver/wiki/AirPlay2-Protocol">here</a> and <a href="https://emanuelecozzi.net/docs/airplay2">here</a>).</p>
|
||||
<p>The UxPlay server and its client must be on the same local area network, on which a <strong>Bonjour/Zeroconf mDNS/DNS-SD server</strong> is also running (only DNS-SD “Service Discovery” service is strictly necessary, it is not necessary that the local network also be of the “.local” mDNS-based type). On Linux and BSD Unix servers, this is usually provided by <a href="https://www.avahi.org">Avahi</a>, through the avahi-daemon service, and is included in most Linux distributions (this service can also be provided by macOS, iOS or Windows servers).</p>
|
||||
<p>Connections to the UxPlay server by iOS/MacOS clients can be initiated both in AirPlay Mirror mode (which streams lossily-compressed AAC audio while mirroring the client screen, or in the alternative AirPlay Audio mode which streams Apple Lossless (ALAC) audio without screen mirroring (the accompanying metadata and cover art in this mode is not displayed). <em>Switching between these two modes during an active connection is possible: in Mirror mode, close the mirror window and start an Audio mode connection, switch back by initiating a Mirror mode connection.</em> <strong>Note that Apple DRM (as in Apple TV app content on the client) cannot be decrypted by UxPlay, and (unlike with a true AppleTV), the client cannot run a http connection on the server instead of streaming content from one on the client.</strong></p>
|
||||
<p>UxPlay uses GStreamer Plugins for rendering audio and video, and does not offer the alternative Raspberry-Pi-specific audio and video renderers available in <a href="https://github.com/FD-/RPiPlay">RPiPlay</a>. It is tested on a number of systems, including (among others) Debian 11.2, Ubuntu 20.04 and 21.10, Linux Mint 20.2, Pop!_OS 21.10 (NVIDIA edition), OpenSUSE 15.3, macOS 10.15.7, FreeBSD 13.0.</p>
|
||||
<p>UxPlay uses GStreamer Plugins for rendering audio and video, and does not offer the alternative Raspberry-Pi-specific audio and video renderers available in <a href="https://github.com/FD-/RPiPlay">RPiPlay</a>. It is tested on a number of systems, including (among others) Debian 11.2, Ubuntu 20.04 and 21.10, Linux Mint 20.2, Pop!_OS 21.10 (NVIDIA edition), Rocky Linux 8.4 (a CentOS successor), OpenSUSE 15.3, macOS 10.15.7, FreeBSD 13.0.</p>
|
||||
<p>Using Gstreamer means that video and audio are supported “out of the box”, using a choice of plugins. Gstreamer decoding is plugin agnostic, and uses accelerated decoders if available. For Intel integrated graphics, the VAAPI plugin is preferable, (but don’t use it with NVIDIA).</p>
|
||||
<h3 id="note-to-packagers-openssl-3.0.0-solves-gpl-v3-license-issues.">Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.</h3>
|
||||
<p>Some Linux distributions such as Debian do not allow distribution of compiled GPL code linked to OpenSSL-1.1.1 because its “dual OpenSSL/SSLeay” license has some incompatibilities with GPL, unless all code authors have explicitly given an “exception” to allow such linking (the historical origins of UxPlay make this impossible to obtain). Other distributions treat OpenSSL as a “System Library” which the GPL allows linking to.</p>
|
||||
@@ -28,7 +28,7 @@
|
||||
<p><strong>Finally, run uxplay in a terminal window</strong>. If it is not seen by the iOS client’s drop-down “Screen Mirroring” panel, check that your DNS-SD server (usually avahi-daemon) is running: do this in a terminal window with <code>systemctl status avahi-daemon</code>. (If this shows the avahi-daemon is not running, control it with <code>sudo systemctl [start,stop,enable,disable] avahi-daemon</code> (or avahi-daemon.service). If UxPlay is seen, but the client fails to connect when it is selected, there may be a firewall on the server that prevents UxPlay from receiving client connection requests unless some network ports are opened. See <strong>Troubleshooting</strong> below for help with this or other problems.</p>
|
||||
<p><strong>Note libplist-dev (version 2.0 or greater) is a new dependency (originally, libplist was bundled with UxPlay-1.2). Older Linux distributions may only supply libplist 1.x, which is too old. [Installing libplist-dev (with libplist3) from ubuntu 18.04 solves this problem on ubuntu 16.04.]</strong> If you cannot find a libplist-2.x package that installs on your distribution, you can get it at <a href="https://github.com/libimobiledevice/libplist">https://github.com/libimobiledevice/libplist</a> and build it from source. _(You will need build tools autoconf, automake, libtool, and may need to also install some libpython*-dev package). By default, libplist installs in /usr/local/lib. If this is not in the library path (as in ubuntu), create a file /etc/ld.so.conf.d/libplist.conf containing the text “/usr/local/lib”, and run “sudo ldconfig” to permanently add /usr/local/lib to the library path._</p>
|
||||
<h3 id="modified-build-instructions-for-non-debian-based-distributions">Modified build instructions for Non-Debian-based distributions:</h3>
|
||||
<p><strong>Red Hat, Fedora, CentOS:</strong> (sudo yum install) openssl-devel libplist-devel avahi-compat-libdns_sd-devel (+libX11-devel for ZOOMFIX). The required GStreamer packages are: gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-libav gstreamer1-plugins-bad-free ( + gstreamer1-vaapi for intel graphics).</p>
|
||||
<p><strong>Red Hat, Fedora, CentOS (now continued as Rocky Linux or Alma Linux):</strong> (sudo yum install) openssl-devel libplist-devel avahi-compat-libdns_sd-devel (+libX11-devel for ZOOMFIX). The required GStreamer packages (some from PowerTools repository or rpmfusion.org): gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-libav gstreamer1-plugins-bad-free ( + gstreamer1-vaapi for intel graphics).</p>
|
||||
<p><strong>OpenSUSE:</strong> (sudo zypper install) libopenssl-devel libplist-devel avahi-compat-mDNSResponder-devel (+ libX11-devel for ZOOMFIX). The required GStreamer packages are: gstreamer-devel gstreamer-plugins-base-devel gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel graphics).</p>
|
||||
<p><strong>FreeBSD:</strong> (sudo pkg install) libplist gstreamer1, gstreamer1-libav, gstreamer1-plugins, gstreamer1-plugins-* (* = core, good, bad, x, gtk, gl, vulkan, pulse …), (+ gstreamer1-vaapi for Intel graphics). Either avahi-libdns or mDNSResponder must also be installed to provide the dns_sd library. OpenSSL is already installed as a System Library. “ZOOMFIX” is untested; don’t try to use it on FreeBSD unless you need it.</p>
|
||||
<h2 id="building-uxplay-on-macos-only-tested-on-intel-x86_64-macs">Building UxPlay on macOS: <strong>(Only tested on Intel X86_64 Macs)</strong></h2>
|
||||
|
||||
@@ -44,7 +44,8 @@ instead of streaming content from one on the client.**
|
||||
UxPlay uses GStreamer Plugins for rendering audio and video,
|
||||
and does not offer the alternative Raspberry-Pi-specific
|
||||
audio and video renderers available in [RPiPlay](https://github.com/FD-/RPiPlay).
|
||||
It is tested on a number of systems, including (among others) Debian 11.2, Ubuntu 20.04 and 21.10, Linux Mint 20.2, Pop!\_OS 21.10 (NVIDIA edition), OpenSUSE 15.3, macOS 10.15.7, FreeBSD 13.0.
|
||||
It is tested on a number of systems, including (among others) Debian 11.2, Ubuntu 20.04 and 21.10, Linux Mint 20.2, Pop!\_OS 21.10 (NVIDIA edition),
|
||||
Rocky Linux 8.4 (a CentOS successor), OpenSUSE 15.3, macOS 10.15.7, FreeBSD 13.0.
|
||||
|
||||
Using Gstreamer means that video and audio are supported "out of the box", using a choice of plugins.
|
||||
Gstreamer decoding is plugin agnostic, and uses accelerated decoders if
|
||||
@@ -117,10 +118,10 @@ file /etc/ld.so.conf.d/libplist.conf containing the text "/usr/local/lib", and
|
||||
|
||||
### Modified build instructions for Non-Debian-based distributions:
|
||||
|
||||
**Red Hat, Fedora, CentOS:**
|
||||
**Red Hat, Fedora, CentOS (now continued as Rocky Linux or Alma Linux):**
|
||||
(sudo yum install) openssl-devel libplist-devel avahi-compat-libdns_sd-devel (+libX11-devel for ZOOMFIX). The required
|
||||
GStreamer packages are:
|
||||
gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-libav gstreamer1-plugins-bad-free ( + gstreamer1-vaapi for intel graphics).
|
||||
GStreamer packages (some from PowerTools repository or rpmfusion.org):
|
||||
gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-libav gstreamer1-plugins-bad-free ( + gstreamer1-vaapi for intel graphics).
|
||||
|
||||
**OpenSUSE:**
|
||||
(sudo zypper install) libopenssl-devel libplist-devel
|
||||
|
||||
12
README.txt
12
README.txt
@@ -55,7 +55,8 @@ not offer the alternative Raspberry-Pi-specific audio and video
|
||||
renderers available in [RPiPlay](https://github.com/FD-/RPiPlay). It is
|
||||
tested on a number of systems, including (among others) Debian 11.2,
|
||||
Ubuntu 20.04 and 21.10, Linux Mint 20.2, Pop!\_OS 21.10 (NVIDIA
|
||||
edition), OpenSUSE 15.3, macOS 10.15.7, FreeBSD 13.0.
|
||||
edition), Rocky Linux 8.4 (a CentOS successor), OpenSUSE 15.3, macOS
|
||||
10.15.7, FreeBSD 13.0.
|
||||
|
||||
Using Gstreamer means that video and audio are supported "out of the
|
||||
box", using a choice of plugins. Gstreamer decoding is plugin agnostic,
|
||||
@@ -157,10 +158,11 @@ text "/usr/local/lib", and run "sudo ldconfig" to permanently add
|
||||
|
||||
### Modified build instructions for Non-Debian-based distributions:
|
||||
|
||||
**Red Hat, Fedora, CentOS:** (sudo yum install) openssl-devel
|
||||
libplist-devel avahi-compat-libdns\_sd-devel (+libX11-devel for
|
||||
ZOOMFIX). The required GStreamer packages are: gstreamer1-devel
|
||||
gstreamer1-plugins-base-devel gstreamer1-libav
|
||||
**Red Hat, Fedora, CentOS (now continued as Rocky Linux or Alma
|
||||
Linux):** (sudo yum install) openssl-devel libplist-devel
|
||||
avahi-compat-libdns\_sd-devel (+libX11-devel for ZOOMFIX). The required
|
||||
GStreamer packages (some from PowerTools repository or rpmfusion.org):
|
||||
gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-libav
|
||||
gstreamer1-plugins-bad-free ( + gstreamer1-vaapi for intel graphics).
|
||||
|
||||
**OpenSUSE:** (sudo zypper install) libopenssl-devel libplist-devel
|
||||
|
||||
Reference in New Issue
Block a user