From 47990cdbd473440f83441cc01425166c15373615 Mon Sep 17 00:00:00 2001 From: "F. Duncanh" Date: Sun, 15 Mar 2026 03:00:37 -0400 Subject: [PATCH] prepare 1.73.4 --- README.html | 24 ++++++++++++++++++------ README.md | 21 +++++++++++++++------ README.txt | 35 ++++++++++++++++++++++++----------- uxplay.cpp | 2 +- uxplay.spec | 2 +- 5 files changed, 59 insertions(+), 25 deletions(-) diff --git a/README.html b/README.html index 943ed11..b6efcd5 100644 --- a/README.html +++ b/README.html @@ -24,12 +24,14 @@ Bonjour/Rendezvous DNS-SD service discovery). This can be used on networks that do not allow the user to run a DNS_SD service. The user must run a Bluetooth LE “beacon”, (a USB 4.0 or later “dongle” can be used). The beacon is managed by a Python3 script -uxplay-beacon.py: three implementations of Bleutooth LE +uxplay-beacon.py: four implementations of Bleutooth LE advertising are available as loadable modules: BlueZ for Linux only, -winrt for Windows only, and BleuIO for the BlueIO usb-serial dongle -(which has its own BlueTooth-LE stack, independent of that of the host -system) that runs on all systems including macOS and *BSD). The beacon -runs independently of UxPlay: while UxPlay is running, it regularly +winrt for Windows only, BleuIO for the BlueIO usb-serial dongle (which +has its own BlueTooth-LE stack, independent of that of the host system) +that runs on all systems including macOS and *BSD), and a low-level HCI +module (Linux and BSD only) that access the Host Contoller Interface +(but users need enhanced privileges to use this). The beacon runs +independently of UxPlay: while UxPlay is running, it regularly broadcasts a Bluetooth LE (“Low Energy”) 46 byte legacy-type advertisement informing nearby iOS/macOS devices of the local IPv4 network address of the UxPlay server, and which TCP port to contact @@ -1545,7 +1547,7 @@ messages, set GST_DEBUG=4; for DEBUG messages, GST_DEBUG=5; increase this to see even more of the GStreamer inner workings.

Bluetooth LE beacon setup

The python>=3.6 script for running a Bluetooth LE Service -Discovery beacon is uxplay-beacon.py. It provides three possible +Discovery beacon is uxplay-beacon.py. It provides four possible Bluetooth LE implementations (loaded as modules): one for Linux systems with D-Bus, one for Windows, and one for the BleuIO (or BleuIO Pro) USB dongle with @@ -1557,6 +1559,13 @@ dongle is available, the bleuio version of the python script can be used on many operating systems including macOS, Windows and Linux, and perhaps *BSD (not tested): it requires python library python3-pyserial to be installed.

+

A fourth implementation (module HCI) for Linux or FreeBSD (maybe +other BSD’s too?) requires elevated permissions to access the Host +Controller Interface. These are granted by adding users to a new group +“hciusers” that are give permission to call +“sudo -n hcitool/hciconfig/hccontrol” without entering a +password: this can be configured by the system admistrator using visudo, +but has security implications.

On Linux, Bluetooth support (using the offical Linux Bluetooth stack BlueZ) must be installed (on Debian-based systems: sudo apt install bluez bluez-tools; recent Ubuntu releases @@ -1998,6 +2007,9 @@ an AppleTV6,2 with sourceVersion 380.20.1 (an AppleTV 4K 1st gen, introduced 2017, running tvOS 12.2.1), so it does not seem to matter what version UxPlay claims to be.

Changelog

+

1.73.4 2026-03-15 Modularize Bluetooth support for uxplay-beacon. Add +modules for BLeuIO serial-modem Bluetooth LE device, and HCI access +(Linux/FreeBSD). Fix broken -vol option.

1.73 2026-01-25 Render Audio cover-art inside UxPlay with -ca option (no file specified). (D-Bus based) option -scrsv to inhibit screensaver while UxPlay is running (Linux/*BSD only). Add password diff --git a/README.md b/README.md index d914bc7..ea991b0 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,11 @@ - Support for **service discovery using a Bluetooth LE "beacon"** for both Linux/\*BSD and Windows (as an alternative to Bonjour/Rendezvous DNS-SD service discovery). **This can be used on networks that do not allow the user to run a DNS_SD service.** The user must run a Bluetooth LE "beacon", (a USB 4.0 or - later "dongle" can be used). The beacon is managed by a Python3 script `uxplay-beacon.py`: three implementations of Bleutooth LE advertising are available - as loadable modules: BlueZ for Linux only, winrt for Windows only, and BleuIO + later "dongle" can be used). The beacon is managed by a Python3 script `uxplay-beacon.py`: four implementations of Bleutooth LE advertising are available + as loadable modules: BlueZ for Linux only, winrt for Windows only, BleuIO for the BlueIO usb-serial dongle (which has its own BlueTooth-LE stack, independent of that of the - host system) that runs on all systems including macOS and *BSD). The beacon + host system) that runs on all systems including macOS and *BSD), and a low-level HCI module (Linux and BSD only) that + access the Host Contoller Interface (but users need enhanced privileges to use this). The beacon runs independently of UxPlay: while UxPlay is running, it regularly broadcasts a Bluetooth LE ("Low Energy") 46 byte legacy-type advertisement informing nearby iOS/macOS devices of the local IPv4 network address of the UxPlay server, and which TCP port to contact UxPlay on. Instructions @@ -1559,9 +1560,8 @@ GStreamer inner workings. # Bluetooth LE beacon setup The python>=3.6 script for running a Bluetooth LE Service Discovery beacon is uxplay-beacon.py. -It provides three possible Bluetooth LE implementations (loaded as modules): one for Linux systems with D-Bus, -one for Windows, and one for -the [BleuIO (or BleuIO Pro) USB +It provides four possible Bluetooth LE implementations (loaded as modules): one for Linux systems with D-Bus, +one for Windows, and one for the [BleuIO (or BleuIO Pro) USB dongle](https://www.bleuio.com) with its own on-board Bluetooth-LE Stack that does not use the host operating system Bluetooth (the Host sees the device as a USB serial modem). This is needed for macOS where the operating system does not allow users to send Bluetooth-LE advertisements of the type we require. If a BleuIO dongle is @@ -1569,6 +1569,11 @@ available, the bleuio version of the python script can be used on many operating systems including macOS, Windows and Linux, and perhaps *BSD (not tested): it requires python library `python3-pyserial` to be installed. +A fourth implementation (module HCI) for Linux or FreeBSD (maybe other BSD's too?) requires elevated permissions to access the Host +Controller Interface. These are granted by adding users to a new group "hciusers" that are give permission to +call "`sudo -n hcitool/hciconfig/hccontrol`" without entering a password: this can be configured by the system admistrator +using visudo, but has security implications. + On Linux, Bluetooth support (using the offical Linux Bluetooth stack BlueZ) must be installed (on Debian-based systems: `sudo apt install bluez bluez-tools`; recent Ubuntu releases provide bluez as a snap package). In addition to standard Python3 libraries, you may need to install the gi, dbus, and psutil Python libraries used by @@ -2007,6 +2012,10 @@ introduced 2017, running tvOS 12.2.1), so it does not seem to matter what version UxPlay claims to be. # Changelog +1.73.4 2026-03-15 Modularize Bluetooth support for uxplay-beacon. +Add modules for BLeuIO serial-modem Bluetooth LE device, and HCI +access (Linux/FreeBSD). Fix broken -vol option. + 1.73 2026-01-25 Render Audio cover-art inside UxPlay with -ca option (no file specified). (D-Bus based) option -scrsv to inhibit screensaver while UxPlay is running (Linux/*BSD only). Add password support (-pw) using a displayed diff --git a/README.txt b/README.txt index 4357eb3..37241ab 100644 --- a/README.txt +++ b/README.txt @@ -21,16 +21,18 @@ networks that do not allow the user to run a DNS_SD service.** The user must run a Bluetooth LE "beacon", (a USB 4.0 or later "dongle" can be used). The beacon is managed by a Python3 script - `uxplay-beacon.py`: three implementations of Bleutooth LE - advertising are available as loadable modules: BlueZ for Linux only, - winrt for Windows only, and BleuIO for the BlueIO usb-serial dongle - (which has its own BlueTooth-LE stack, independent of that of the - host system) that runs on all systems including macOS and \*BSD). - The beacon runs independently of UxPlay: while UxPlay is running, it - regularly broadcasts a Bluetooth LE ("Low Energy") 46 byte - legacy-type advertisement informing nearby iOS/macOS devices of the - local IPv4 network address of the UxPlay server, and which TCP port - to contact UxPlay on. Instructions are [given + `uxplay-beacon.py`: four implementations of Bleutooth LE advertising + are available as loadable modules: BlueZ for Linux only, winrt for + Windows only, BleuIO for the BlueIO usb-serial dongle (which has its + own BlueTooth-LE stack, independent of that of the host system) that + runs on all systems including macOS and \*BSD), and a low-level HCI + module (Linux and BSD only) that access the Host Contoller Interface + (but users need enhanced privileges to use this). The beacon runs + independently of UxPlay: while UxPlay is running, it regularly + broadcasts a Bluetooth LE ("Low Energy") 46 byte legacy-type + advertisement informing nearby iOS/macOS devices of the local IPv4 + network address of the UxPlay server, and which TCP port to contact + UxPlay on. Instructions are [given below](#bluetooth-le-beacon-setup). - option `-vrtp ` bypasses rendering by UxPlay, and @@ -1592,7 +1594,7 @@ this to see even more of the GStreamer inner workings. # Bluetooth LE beacon setup The python\>=3.6 script for running a Bluetooth LE Service Discovery -beacon is uxplay-beacon.py. It provides three possible Bluetooth LE +beacon is uxplay-beacon.py. It provides four possible Bluetooth LE implementations (loaded as modules): one for Linux systems with D-Bus, one for Windows, and one for the [BleuIO (or BleuIO Pro) USB dongle](https://www.bleuio.com) with its own on-board Bluetooth-LE Stack @@ -1604,6 +1606,13 @@ the bleuio version of the python script can be used on many operating systems including macOS, Windows and Linux, and perhaps \*BSD (not tested): it requires python library `python3-pyserial` to be installed. +A fourth implementation (module HCI) for Linux or FreeBSD (maybe other +BSD's too?) requires elevated permissions to access the Host Controller +Interface. These are granted by adding users to a new group "hciusers" +that are give permission to call "`sudo -n hcitool/hciconfig/hccontrol`" +without entering a password: this can be configured by the system +admistrator using visudo, but has security implications. + On Linux, Bluetooth support (using the offical Linux Bluetooth stack BlueZ) must be installed (on Debian-based systems: `sudo apt install bluez bluez-tools`; recent Ubuntu releases provide @@ -2070,6 +2079,10 @@ what version UxPlay claims to be. # Changelog +1.73.4 2026-03-15 Modularize Bluetooth support for uxplay-beacon. Add +modules for BLeuIO serial-modem Bluetooth LE device, and HCI access +(Linux/FreeBSD). Fix broken -vol option. + 1.73 2026-01-25 Render Audio cover-art inside UxPlay with -ca option (no file specified). (D-Bus based) option -scrsv ``{=html} to inhibit screensaver while UxPlay is running (Linux/\*BSD only). Add password diff --git a/uxplay.cpp b/uxplay.cpp index 5d2da7a..b729a40 100644 --- a/uxplay.cpp +++ b/uxplay.cpp @@ -73,7 +73,7 @@ #endif -#define VERSION "1.73" +#define VERSION "1.73.4" #define SECOND_IN_USECS 1000000 #define SECOND_IN_NSECS 1000000000UL diff --git a/uxplay.spec b/uxplay.spec index 251f0f6..4eed4b1 100644 --- a/uxplay.spec +++ b/uxplay.spec @@ -1,5 +1,5 @@ Name: uxplay -Version: 1.73.3 +Version: 1.73.4 Release: 1%{?dist} %global gittag v%{version}