Skip to content

UxPlay on Raspberry Pi: success reports:

fduncanh edited this page Nov 19, 2022 · 72 revisions
  • Only the Raspberry Pi OS, Ubuntu and Manjaro Linux distributions for Raspberry Pi, all available using rpi-imager, seem to include the necessary Linux kernel module bcm2835_codec needed for hardware h264 videodecoding by the Broadcom GPU on the Pi. (This module is not yet in the mainline Linux kernel, and is maintained by Raspberry Pi at https://github.com/raspberrypi/linux/tree/rpi-5.15.y/drivers/staging/vc04_services ).

  • For GStreamer patching instructions see https://github.com/FDH2/UxPlay/wiki/Gstreamer-Video4Linux2-plugin-patches

  • SINCE UXPLAY-1.56, the -bt709 option for RPi GPU support is needed if the GStreamer version is older than 1.20.4 and it has not been updated with the latest versions of the patches from the UxPlay wiki. (For releases prior to 1.20.4, the GStreamer Video4Linux2 plugin does not recognize the "full-range bt709" color format used by Apple's AirPlay Mirror protocol, and needs the workaround now provided by the -bt709 option, if the patch to backport the fix from 1.20.4 has not been applied.)

Raspberry Pi OS (Bullseye) Kernel 5.15.61-v8+ aarch64 or Kernel 5.15.32-v7 eabihf R Pi model 4B 8GB; hdmi audio.

Gstreamer-1.18.4 (unpatched, with latest update gstreamer1.0-plugins-good 1.18.4-2+deb11u1+rpt1), firmware version
(given by rpi-eeprom-update) was 000138a1.

  • UxPlay-1.56: uxplay -rpifb -bt709 or uxplay -bt709 -vs kmssink

    (using framebuffer video)

  • "Desktop" version :

    UxPlay-1.56: uxplay -bt709 or uxplay -rpi -bt709 (using X11 video)

  • both 32-bit and 64-bit version work well.

  • need to install pulseaudio (and use raspi-config) to get hdmi audio working.

Ubuntu Desktop 22.10 64-bit. Kernel 5.19.0-1002-raspi aarch64. R Pi model 4B; hdmi audio.

GStreamer-1.20.3 (with v4l2 patch v4l2_1_20_3_diff3.txt)

UxPlay-1.56 (package supplied by Ubuntu, after gstreamer1.0-libav and gstreamer-1.0-plugins-bad were installed ):

uxplay works well.

Ubuntu Desktop 22.04.1 64-bit. Kernel 5.15.0-1014-raspi aarch64. R Pi model 4B, 8GB; hdmi audio

GStreamer-1.20.3 (with v4l2 patch v4l2_1_20_3_diff3.txt):

UxPlay-1.56: uxplay works well.

Ubuntu Mate 22.04.1 64 bit. Kernel 5.15.0-1014-raspi aarch64. R Pi model 4B, 8GB ; hdmi audio

GStreamer-1.20.3 (with v4l2 patch v4l2_1_20_3_diff3.txt):

UxPlay-1.56: just uxplay (no options) works, and appears to be equivalent to

uxplay -vp h264parse -vd v4l2h264dec -vc videoconvert -vs xvimagesink -as pulsesink 
  • working well

Ubuntu Desktop 21.10 64-bit. Kernel 5.13.0-1024-raspi aarch64. R Pi model 4B, 8GB; hdmi audio

GStreamer-1.18.5 (with v4l2 patch v4l2_1_18_5_diff2.txt):

UxPlay-1.51: uxplay -v4l2 -vs waylandsink (Wayland) or uxplay -v4l2 -vs waylandsink -fs (Wayland full-screen)

  • working well (-rpiwl is a synonym for "-v4l2 -vs waylandsink").

Manjaro ARM 22.11 kernel 5.15.78-1-MANJARO-ARM-RPI RPi model 4B 8GB.

  • KDE Plasma Desktop version (note that Manjaro Desktop runs a firewall by default: either stop it or open the default UxPlay ports and use the -p option):

Gstreamer-1.20.4 (with v4l2 patch v4l2_1_20_4_diff3.txt).

UxPlay-1.58: "uxplay -p -vs glimagesink"

  • working well (without -vs glimagesink, the latency (lag between audio and video) seems to be poor with this release of Manjaro).

for the "minimal" (no-X11) Manjaro edition, use "uxplay -p -vs kmssink".