From a88b75a4bcfbce7f622e673ac46ac8f4ffb8b728 Mon Sep 17 00:00:00 2001 From: imterah Date: Sat, 21 Jun 2025 13:02:45 -0400 Subject: [PATCH] chore: Cleanup README --- README.md | 39 ++++----------------------------------- 1 file changed, 4 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 8c72056..f64c367 100644 --- a/README.md +++ b/README.md @@ -22,41 +22,10 @@ UnrealXR is a spatial multi-display renderer for the Xreal line of devices, enab Before anything, this depends on the `evdi` Linux kernel module. This is packaged in Debian-based distributions as `evdi-dkms`. If you already have DisplayLink drivers installed for their devices, you likely do not need to do this step. After installing this, please reboot your computer. -First, install the runtime dependencies. For Debian-based distros, the dependency list should be: `python3 python3-pip` +You'll need to install build dependencies after this. For Debian-based distros, the dependency list should be: `git golang build-essential libdrm libdrm-dev linux-headers-$(uname -r) cmake clang-tools pkg-config libwayland-client++1 libgl1-mesa-dev libglu1-mesa-dev libwayland-dev libxkbcommon-dev libhidapi-dev libjson-c-dev libudev-dev libusb-1.0-0 libusb-1.0-0-dev libopencv-dev` -You'll need to install build dependencies after this. For Debian-based distros, the dependency list should be: `git build-essential libdrm libdrm-dev linux-headers-$(uname -r) cmake clang-tools pkg-config libwayland-client++1 libgl1-mesa-dev libglu1-mesa-dev libwayland-dev libxkbcommon-dev libhidapi-dev libjson-c-dev libudev-dev libusb-1.0-0 libusb-1.0-0-dev libopencv-dev` +If you're using Nix/NixOS, all you need to do is use `nix-shell` to enter the development environment. -If you're using Nix/NixOS, use the `nix-shell` to enter the development environment. +## Building -After that, create a virtual environment for Python (done automatically in Nix): `python3 -m venv .venv`. Then, activate it: `source .venv/bin/activate` - -Finally, install the Python dependencies: `pip install -r requirements.txt` - -From there, you need to follow all the below steps if applicable to your current platform. -. -### Building patched `raylib` and `PyRay` (all platforms) - -1. First, you need to build the native version of raylib. To do that, go inside the `modules/raylib-python-cffi/raylib-c` directory. -2. Then, make the build directories and go into them: `mkdir -p build/out; cd build` -3. Configure raylib: `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 -DBUILD_EXAMPLES=OFF -DSUPPORT_SSH_KEYBOARD_RPI=OFF -DDISABLE_EVDEV_INPUT=ON -DCMAKE_INSTALL_PREFIX:PATH=$PWD/out ..` -4. Finally, build and install raylib: `make install -j$(nproc)` -5. After that, you need to build the Python bindings. To do that, go to the `modules/raylib-python-cffi` directory. Assuming you did everything correctly, you should be able to go 2 directories back (`../..`) to get there. -6. If you're on normal Linux and are not using Nix, do this command to build the package: `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` -7. If you are using Nix/NixOS, do this command to build the package: `PKG_CONFIG_PATH_FOR_TARGET="$PKG_CONFIG_PATH_FOR_TARGET:$PWD/raylib-c/build/out/lib64/pkgconfig/" ENABLE_WAYLAND_DRM_LEASING=YES RAYLIB_PLATFORM=DRM python3 setup.py bdist_wheel` -8. Finally, install the package: `pip install dist/*.whl` - -### Building `PyEvdi` (Linux) - -1. First, build the original libevdi. To start that, go inside the `modules/evdi/library` directory. -2. Then, build `libevdi`: `make -j$(nproc)` -3. After that, you need to build the Python bindings. To do that, go to the `modules/evdi/pyevdi` directory. Assuming you did everything correctly, you should be able to go a directory back (`../pyevdi`) to get there. -4. Then, build `PyEvdi`: `make -j$(nproc); make install` - -### Building `nreal-driver` (all platforms) - -1. First, create the `drivers` directory in the project root. -2. Then, go inside the `modules/nreal-driver` directory. -3. After that, make the build directories and go into them: `mkdir -p build/out; cd build` -4. Configure nreal-driver: `cmake -DCMAKE_BUILD_TYPE=Release ..` -5. Build the driver: `make -j$(nproc)` -6. Move the driver to the correct directory: `mv xrealAirLinuxDriver ../../../drivers/xreal_ar_driver` +TODO.