From c19637ca2231d940111d4fd3054827a354d8133e Mon Sep 17 00:00:00 2001 From: "F. Duncanh" Date: Thu, 16 Feb 2023 01:33:43 -0500 Subject: [PATCH 1/3] README fixes --- README.html | 474 +++++++++++++++++++++++++++------------------------- README.md | 266 +++++++++++++++-------------- README.txt | 426 +++++++++++++++++++++++----------------------- 3 files changed, 605 insertions(+), 561 deletions(-) diff --git a/README.html b/README.html index fce769d..0ef2534 100644 --- a/README.html +++ b/README.html @@ -9,37 +9,28 @@ href="https://github.com/FDH2/UxPlay">https://github.com/FDH2/UxPlay (where all user issues should be posted).

Highlights:

Packaging status (Linux and *BSD distributions)

@@ -66,18 +57,14 @@ binary package, you may need to read the instructions below for running UxPlay to see which of your distribution’s GStreamer plugin packages you should also install.

-
  • For Raspberry Pi (tested on RPi 4 model B, reported to work on -RPi 3 model B+), only Raspberry Pi OS, plus the Debian and Manjaro -ARM-RPi4 images made available through the Raspberry Pi Imager, are -known to provide the (out-of-mainline-kernel) kernel-module -bcm2835-codec.ko maintained -by Raspberry Pi, and needed for hardware-accelerated video decoding -by the Broadcom GPU on the Pi, accessed using the GStreamer Video4Linux -(v4l2) plugin. In addition, for Ubuntu and Manjaro, the v4l2 plugin -needs a patch -forGStreamer < 1.22.

  • +
  • For hardware-accelerated video decoding on Raspberry Pi, Ubuntu +< 23.04 needs GStreamer to be patched +(recommended but optional for Raspberry Pi OS (Bullseye), no longer +needed for Manjaro >= 23.02). (Only these three distributions +supply a kernel module maintained by Raspberry Pi outside the mainline +Linux kernel that accesses the firmware decoder in the Broadcom +GPU).

  • To (easily) compile the latest UxPlay from source, see the section Getting UxPlay.

  • @@ -98,18 +85,18 @@ href="https://github.com/FDH2/UxPlay">UxPlay site).

    Debian 10.11 “Buster” and 11.2 “Bullseye”, Ubuntu 20.04 LTS and 22.04.1 LTS, Linux Mint 20.3, Pop!_OS 22.04 (NVIDIA edition), Rocky Linux 8.6 (a CentOS successor), Fedora 36, OpenSUSE 15.4, Arch Linux 22.10, macOS -12.3 (Intel and M1), FreeBSD 13.1. On Raspberry Pi, it is tested on -Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.04.1, and Manjaro -RPi4 22.10. Also tested on 64-bit Windows 10 and 11.

    +12.3 (Intel and M1), FreeBSD 13.1, Windows 10 and 11 (64 bit).

    +

    On Raspberry Pi 4 model B, it is tested on Raspberry Pi OS (Bullseye) +(32- and 64-bit), Ubuntu 22.10, Manjaro RPi4 23.02, and (without +hardware video decoding) on OpenSUSE 15.4.

    Its main use is to act like an AppleTV for screen-mirroring (with audio) of iOS/iPadOS/macOS clients (iPhone, iPod Touch, iPad, Mac -computers) 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 Microsoft -Windows). UxPlay supports Apple’s AirPlay2 protocol using “Legacy -Pairing”, but some features are missing. (Details of what is publicly -known about Apple’s AirPlay 2 protocol can be found here, here, +here and here). While there is no guarantee that future iOS releases will keep supporting @@ -185,25 +172,23 @@ instructions.

  • Video4Linux2 support for the Raspberry Pi Broadcom 2835 GPU

    Raspberry Pi (RPi) computers (tested on Pi 4 Model B) can now run -UxPlay using software decoding of h264 video, but hardware-accelerated -decoding by firmware in the Pi’s GPU is prefered. UxPlay accesses the -GPU using the GStreamer-1.22 Video4Linux2 (v4l2) plugin; the plugin from -older GStreamer needs a patch to backport fixes from v1.22: this has -been done in the v1.18.4 version supplied by Raspberry Pi OS (Bullseye), -and patches for this and later 1.20 versions are available in the UxPlay -Wiki (see patching -instructions for GStreamer). Also required is the out-of-mainline -Linux kernel module bcm2835-v4l2-codec maintained by Raspberry Pi, so -far only included in Raspberry Pi OS, and two other distributions -(Ubuntu, Manjaro) available with Raspberry Pi Imager.

  • +UxPlay using software video decoding, but hardware-accelerated decoding +by firmware in the Pi’s GPU is prefered. UxPlay accesses this using the +GStreamer-1.22 Video4Linux2 (v4l2) plugin; the plugin from older +GStreamer needs a patch to backport fixes from v1.22 (already applied in +Raspberry Pi OS (Bullseye), and available for 1.18.4 and later in the UxPlay +Wiki). Also requires the out-of-mainline Linux kernel module +bcm2835-codec maintained by Raspberry Pi, so far only included in +Raspberry Pi OS, and two other distributions (Ubuntu, Manjaro) available +with Raspberry Pi Imager.

    Note to packagers:

    -

    UxPlay’s GPLv3 license does not have an added “exception” explicitly -allowing it to be distributed in compiled form when linked to OpenSSL -versions prior to v. 3.0.0 (older versions of OpenSSL -have a license clause incompatible with the GPL unless OpenSSL can be -regarded as a “System Library”, which it is in *BSD). Many Linux +

    UxPlay’s GPLv3 license does not have an added “GPL exception” +explicitly allowing it to be distributed in compiled form when linked to +OpenSSL versions prior to v. 3.0.0 (older versions of +OpenSSL have a license clause incompatible with the GPL unless OpenSSL +can be regarded as a “System Library”, which it is in *BSD). Many Linux distributions treat OpenSSL as a “System Library”, but some (e.g. Debian) do not: in this case, the issue is solved by linking with OpenSSL-3.0.0 or later.

    @@ -253,18 +238,19 @@ follow the instructions below:

    optimization for the computer it is built on; when this is not the case, as when you are packaging for a distribution, use the cmake option -DNO_MARCH_NATIVE=ON.

    -

    If you use X11 Windows on Linux or BSD, and wish to toggle in/out -of fullscreen mode with a keypress (F11 or Alt_L+Enter) UxPlay needs to -be built with a dependence on X11. Starting with UxPlay-1.59, this will -be done by default IF the X11 development libraries are +

    If you use X11 Windows on Linux or *BSD, and wish to toggle in/out of +fullscreen mode with a keypress (F11 or Alt_L+Enter) UxPlay needs to be +built with a dependence on X11. Starting with UxPlay-1.59, this will be +done by default IF the X11 development libraries are installed and detected. Install these with “sudo apt-get install libx11-dev”. If GStreamer < 1.20 -is detected, a fix (“ZOOMFIX”) to a problem (fixed since GStreamer-1.20) -that prevents screen-sharing apps like Zoom from detecting (and sharing) -an X11 UxPlay window will also be made. If you wish to build UxPlay -without* any X11 dependence, use the cmake option --DNO_X11_DEPS=ON (this is not necessary if the X11 -development libraries are not installed).

    +is detected, a fix needed by screen-sharing apps (e.g., Zoom) +will also be made.

    +
    1. sudo apt-get install libssl-dev libplist-dev“. (unless you need to build OpenSSL and libplist from source).
    2. @@ -292,13 +278,15 @@ GStreamer plugins must already be installed)

      Linux and *BSD