diff --git a/README.md b/README.md new file mode 100644 index 0000000..ff9a0bc --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# Rust-based vgpu\_unlock + +Unlock vGPU functionality for consumer-grade NVIDIA GPUs. + +**This tool is to be used with the kernel patches from the main +[`vgpu_unlock`](https://github.com/DualCoder/vgpu_unlock) repository!** + +## Dependencies + +* This tool requires Rust. You can install it via your package manager or via + [](https://rustup.rs). +* Rust requires a linker to be installed to be able to create the shared + library. Typically, this is installed with the C compiler through your + distribution's package manager. +* The dependencies from the main `vgpu_unlock` project excluding Python and + `frida`. + +## Installation + +In the following instructions `` needs to be replaced +with the path to this repository on the target system. + +Install the NVIDIA vGPU driver and kernel driver patches as detailed in the +main `vgpu_unlock` project README. Ignore the steps regarding editing the +systemd service unit files. + +Run `cargo build --release` to compile the shared library. + +Create the directories `/etc/systemd/system/nvidia-vgpud.service.d` and +`/etc/systemd/system/nvidia-vgpu-mgr.service.d`. + +Create the files `/etc/systemd/system/nvidia-vgpud.service.d/vgpu_unlock.conf` +and `/etc/systemd/system/nvidia-vgpu-mgr.service.d/vgpu_unlock.conf` +with the following: +``` +[Service] +Environment=LD_PRELOAD=/target/release/libvgpu_unlock_rs.so +``` + +Create the directory `/etc/vgpu_unlock` which will house the vGPU profile +override configuration file. + +Create the file `/etc/vgpu_unlock/profile_override.toml` with the profile +fields that are to be overridden. The following is an example that sets +the number of heads to 1, sets the framebuffer to be 1920x1080 (1920 * 1080 += 2073600 pixels), enables CUDA, and disables the frame-rate limiter. + +```toml +num_displays = 1 +display_width = 1920 +display_height = 1080 +max_pixels = 2073600 +cuda_enabled = 1 +frl_enabled = 0 +``` + +Happy hacking!