chore: Cleanup README

This commit is contained in:
Tera << 8 2025-06-21 13:02:45 -04:00
parent 643fd3c61c
commit a88b75a4bc
Signed by: imterah
GPG key ID: 8FA7DD57BA6CEA37

View file

@ -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. 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` TODO.
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`