mac os test

This commit is contained in:
Dmitry Sergeev
2026-09-05 01:10:36 +03:00
parent dd75cac4a3
commit 3768397bfd
2 changed files with 39 additions and 11 deletions
+38 -10
View File
@@ -12,8 +12,9 @@ video and ImGui rendering; and
> [!IMPORTANT] > [!IMPORTANT]
> This project is under active development. Builds and feed playback have been > This project is under active development. Builds and feed playback have been
> verified in current Ubuntu and Fedora environments and on a separate Ubuntu > verified in current Ubuntu and Fedora environments and on a separate Ubuntu
> machine. macOS builds are in progress; native playback testing and packaging > machine. Native builds and feed playback have also been verified on macOS
> are still pending. Stable releases and MXL Fabrics support are planned. > with MoltenVK. macOS packaging, stable releases, and MXL Fabrics support are
> planned.
## Features ## Features
@@ -112,8 +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 dependency is temporarily replaced by a portability fork while the upstream
change is reviewed. change is reviewed.
A macOS source build has succeeded on real Apple hardware and currently A macOS source build and native feed playback have succeeded on real Apple
requires: hardware. Building currently requires:
- Xcode Command Line Tools; - Xcode Command Line Tools;
- Go; - Go;
@@ -121,13 +122,40 @@ requires:
- Vulkan loader and MoltenVK; - Vulkan loader and MoltenVK;
- a macOS build of libmxl with matching headers and pkg-config metadata. - a macOS build of libmxl with matching headers and pkg-config metadata.
When libmxl has been built from its source tree but has not been installed into
a standard prefix, expose its build metadata, source headers, and library
directory to cgo. For example:
```sh
export MXL_SOURCE=/Users/jitten/extra/mxl
export MXL_BUILD="$MXL_SOURCE/build/Darwin-Clang-Release"
export PKG_CONFIG_PATH="$MXL_BUILD${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}"
export CGO_CFLAGS="-I$MXL_SOURCE/lib/include"
export CGO_LDFLAGS="-L$MXL_BUILD/lib"
mkdir -p build
go build -o build/mxl-player ./cmd/mxl-player
```
The `CGO_CFLAGS` workaround is needed because the headers are still in the MXL
source tree. A properly installed MXL SDK should expose them through
`libmxl.pc` instead.
Nonstandard loader locations can be supplied explicitly: Nonstandard loader locations can be supplied explicitly:
```sh ```sh
export SDL3_LIBRARY=/absolute/path/to/libSDL3.dylib export SDL3_LIBRARY="$(brew --prefix sdl3)/lib/libSDL3.dylib"
export VULKAN_LIBRARY=/absolute/path/to/libvulkan.dylib export VULKAN_LIBRARY=/absolute/path/to/libMoltenVK.dylib
export DYLD_LIBRARY_PATH="$MXL_BUILD/lib${DYLD_LIBRARY_PATH:+:$DYLD_LIBRARY_PATH}"
./build/mxl-player
``` ```
Direct loading of `libMoltenVK.dylib` is the configuration verified to work.
The Vulkan loader installed through Homebrew did not work in the tested setup,
so it is not currently recommended for running the player.
The resulting executable may currently need an additional libmxl runtime search The resulting executable may currently need an additional libmxl runtime search
path, for example: path, for example:
@@ -136,9 +164,8 @@ 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 These workarounds should not be necessary once the libraries are installed in
a normal dynamic-loader path. Native playback testing is still pending. A a normal dynamic-loader path. A self-contained `.app` bundle and downloadable
self-contained `.app` bundle and downloadable GitHub release are planned but do GitHub release are planned but do not exist yet.
not exist yet.
## Running ## Running
@@ -453,7 +480,8 @@ local MXL flow; it will not be implemented as a separate playback backend. See
- Linux builds and feed playback have been verified on Ubuntu and Fedora; - Linux builds and feed playback have been verified on Ubuntu and Fedora;
broader runtime and hardware coverage is still limited. broader runtime and hardware coverage is still limited.
- macOS/MoltenVK support is not yet release-tested. - macOS/MoltenVK builds and feed playback work on tested hardware, but the
application is not yet packaged or release-tested on a clean machine.
- Windows support is not currently claimed. - Windows support is not currently claimed.
- GPU selection and verbose logging flags are incomplete. - GPU selection and verbose logging flags are incomplete.
- There are no prebuilt packages or application bundles yet. - There are no prebuilt packages or application bundles yet.
+1 -1
View File
@@ -5,7 +5,7 @@ Collapsed=0
[Window][Settings & Info] [Window][Settings & Info]
Pos=0,0 Pos=0,0
Size=700,720 Size=700,1080
Collapsed=0 Collapsed=0
[Window][Stats] [Window][Stats]