README.md fixed and test-results

This commit is contained in:
Dmitry Sergeev
2026-09-04 00:28:23 +03:00
parent 4fa5f9212a
commit f5852dafe0
3 changed files with 56 additions and 8 deletions
+31 -7
View File
@@ -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.
+1 -1
View File
@@ -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
)
+24
View File
@@ -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