No description
Find a file
2025-06-08 09:19:44 -04:00
evdi@600ed4342a chore: Implement display initialization 2025-06-04 22:53:38 -04:00
libunreal chore: Get display EDID patching working 2025-06-07 20:22:17 -04:00
raylib-python-cffi@1e195e4ac9 feature: Add ability to draw to display directly from Python 2025-06-08 09:19:44 -04:00
.gitignore chore: Implement display initialization 2025-06-04 22:53:38 -04:00
.gitmodules feature: Add ability to draw to display directly from Python 2025-06-08 09:19:44 -04:00
LICENSE Initial commit 2025-06-04 17:48:22 -04:00
main.py feature: Add ability to draw to display directly from Python 2025-06-08 09:19:44 -04:00
README.md feature: Add ability to draw to display directly from Python 2025-06-08 09:19:44 -04:00
render.py feature: Add ability to draw to display directly from Python 2025-06-08 09:19:44 -04:00
requirements.txt feature: Add ability to draw to display directly from Python 2025-06-08 09:19:44 -04:00
shell.nix feature: Add ability to draw to display directly from Python 2025-06-08 09:19:44 -04:00
unrealxr feature: Add ability to draw to display directly from Python 2025-06-08 09:19:44 -04:00

UnrealXR

UnrealXR is a display multiplexer for the original Nreal Air (other devices may be supported).

Development

  1. Clone this repository with submodules: git clone --recurse-submodules https://git.terah.dev/imterah/unrealxr.git
  2. Initialize the development shell: nix-shell
  3. Create a virtual environment: python3 -m venv .venv; source .venv/bin/activate
  4. Install Python dependencies: pip install -r requirements.txt

Building PyEvdi

  1. Build libevdi: cd evdi/library; make -j$(nproc); cd ../..
  2. Build PyEvdi: cd evdi/pyevdi; make -j$(nproc); make install; cd ../..

Building patched PyRay/raylib

  1. Build the native version of raylib: cd raylib-python-cffi/raylib-c; mkdir -p build/out; cd build; cmake -DCUSTOMIZE_BUILD=ON -DSUPPORT_FILEFORMAT_JPG=ON -DSUPPORT_FILEFORMAT_FLAC=ON -DWITH_PIC=ON -DCMAKE_BUILD_TYPE=Release -DPLATFORM=DRM -DENABLE_WAYLAND_DRM_LEASING=ON -DSUPPORT_CLIPBOARD_IMAGE=ON -DCMAKE_INSTALL_PREFIX:PATH=$PWD/out ..; make install -j$(nproc)
  2. Build the Python version of raylib: cd ../..; PKG_CONFIG_PATH_FOR_TARGET="$PKG_CONFIG_PATH_FOR_TARGET:$PWD/raylib-c/build/out/lib64/pkgconfig/" PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$PWD/raylib-c/build/out/lib64/pkgconfig/" ENABLE_WAYLAND_DRM_LEASING=YES RAYLIB_PLATFORM=DRM python3 setup.py bdist_wheel; pip install dist/*.whl