From f5852dafe0f8b74053ff7852d651b986e083f016 Mon Sep 17 00:00:00 2001 From: Dmitry Sergeev Date: Fri, 4 Sep 2026 00:28:23 +0300 Subject: [PATCH] README.md fixed and test-results --- README.md | 38 +++++++++++++++++++++++++++++++------- cmd/mxl-player/main.go | 2 +- test-notes.txt | 24 ++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 test-notes.txt diff --git a/README.md b/README.md index 0014e1c..bf63e34 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,11 @@ video and ImGui rendering; and [`go-mxl`](https://github.com/qvest-digital/go-mxl) for MXL access. > [!IMPORTANT] -> This project is under active development. Linux is the currently tested -> platform. macOS support through Vulkan/MoltenVK is being tested. Packaging, -> stable releases, and MXL Fabrics support are planned. +> This project is under active development. Source builds have been verified +> on current Ubuntu and Fedora environments, and the player has also been +> tested on a separate Ubuntu machine. macOS builds are in progress; native +> playback testing and packaging are still pending. Stable releases and MXL +> Fabrics support are planned. ## Features @@ -58,6 +60,18 @@ nm -D /path/to/libmxl.so | grep mxlCreateFlowSynchronizationGroup ## Building on Linux +Verified source-build environments: + +| Environment | Result | Required distribution packages | +|---|---|---| +| Ubuntu (`ubuntu:latest`, Distrobox) | Build successful | `golang`, `libsdl3-dev`, `spdlog-dev` | +| Fedora (`fedora:latest`, Distrobox) | Build successful | `golang`, `SDL3-devel`, `spdlog-devel`, `g++` | +| Ubuntu, separate physical machine | Build and player testing completed | SDL3, compiler toolchain, and a compatible libmxl installation | + +These checks used an existing shared libmxl installation with +`PKG_CONFIG_PATH` pointing to a valid `libmxl.pc`. Package names can differ +between distribution releases. + First verify that pkg-config resolves the intended MXL installation: ```sh @@ -99,7 +113,8 @@ The SDL3 and Vulkan loaders contain macOS library-name support. The Vulkan dependency is temporarily replaced by a portability fork while the upstream change is reviewed. -A macOS source build currently requires: +A macOS source build has succeeded on real Apple hardware and currently +requires: - Xcode Command Line Tools; - Go; @@ -114,8 +129,16 @@ export SDL3_LIBRARY=/absolute/path/to/libSDL3.dylib export VULKAN_LIBRARY=/absolute/path/to/libvulkan.dylib ``` -These variables should not be necessary once the libraries are installed in a -normal dynamic-loader path. A self-contained `.app` bundle is planned but does +The resulting executable may currently need an additional libmxl runtime search +path, for example: + +```sh +install_name_tool -add_rpath /absolute/path/to/mxl/lib build/mxl-player +``` + +These workarounds should not be necessary once the libraries are installed in +a normal dynamic-loader path. Native playback testing is still pending. A +self-contained `.app` bundle and downloadable GitHub release are planned but do not exist yet. ## Running @@ -429,7 +452,8 @@ local MXL flow; it will not be implemented as a separate playback backend. See ## Known limitations -- Linux is the only platform currently exercised regularly. +- Linux builds have been verified on Ubuntu and Fedora; broader runtime and + hardware coverage is still limited. - macOS/MoltenVK support is not yet release-tested. - Windows support is not currently claimed. - GPU selection and verbose logging flags are incomplete. diff --git a/cmd/mxl-player/main.go b/cmd/mxl-player/main.go index a2f83c0..3dddb5f 100644 --- a/cmd/mxl-player/main.go +++ b/cmd/mxl-player/main.go @@ -23,7 +23,7 @@ import ( const ( APP_NAME = "MXL Player" - APP_VER = "0.3.0" + APP_VER = "0.1.0" WIN_WIDTH int32 = 1280 WIN_HEIGHT int32 = 720 ) diff --git a/test-notes.txt b/test-notes.txt new file mode 100644 index 0000000..e13a848 --- /dev/null +++ b/test-notes.txt @@ -0,0 +1,24 @@ +03.09.26 + +## Distrobox ubuntu:latest +0) check that libmxl installed, PKG_CONFIG_PATH leads to valid libmxl.pc +1) git clone repo +2) install golang libsdl3-dev spdlog-dev (for some reasons sdplog required in libmxl.pc) +3) cd go-mxl-player +4) go build -o ./build/mxl-player ./cmd/mxl-player/ + +## Distrobox fedora:latest +0) check that libmxl installed, PKG_CONFIG_PATH leads to valid libmxl.pc +1) git clone repo +2) dnf install golang SDL3-devel spdlog-devel g++ +3) cd go-mxl-player +4) go build -o ./build/mxl-player ./cmd/mxl-player/ + +## MacOS test. Real hardware + +0) check libmxl installed +1) git clone repo +2) +3) cd go-mxl-player +4) go build -o ./build/mxl-player ./cmd/mxl-player +5) install_name_tool -add_rpath $PATH_TO_MXL_LIB ./build/mxl-player