Merge branch 'add_kernel_patch_instructions' into 'main'

add kernel patch instructions for arch & NixOS, add link to BSB patch

See merge request lvra/lvra.gitlab.io!24
This commit is contained in:
Bones 2024-06-09 02:35:29 +00:00
commit 17e13413bf

View file

@ -42,20 +42,20 @@ A non-comprehensive table of various VR/XR devices and the drivers that support
| HTC Vive Pro | ✅ | ✅ | 🚧 (WiVRn PC-PC stream) |
| HTC Vive Pro Eye | ✅ (No eyechip) | ✅ (No eyechip) | 🚧 (WiVRn PC-PC stream) |
| HTC Vive Pro 2 | ✅ (custom [driver and patches](https://github.com/CertainLach/VivePro2-Linux-Driver)) | ? (presumably with two kernel patches [1](https://github.com/CertainLach/VivePro2-Linux-Driver/blob/master/kernel-patches/0002-drm-edid-parse-DRM-VESA-dsc-bpp-target.patch) [2](https://github.com/CertainLach/VivePro2-Linux-Driver/blob/master/kernel-patches/0003-drm-amd-use-fixed-dsc-bits-per-pixel-from-edid.patch)) | -- |
| Bigscreen Beyond | ~ (Functional after monado has run. Doesn't work on Nvidia) | ✅ (with two kernel patches [1](https://github.com/CertainLach/VivePro2-Linux-Driver/blob/master/kernel-patches/0002-drm-edid-parse-DRM-VESA-dsc-bpp-target.patch) [2](https://github.com/CertainLach/VivePro2-Linux-Driver/blob/master/kernel-patches/0003-drm-amd-use-fixed-dsc-bits-per-pixel-from-edid.patch) Doesn't work on Nvidia) | -- |
| Bigscreen Beyond | ~ (Functional after monado has run. Doesn't work on Nvidia) | ✅ (with [kernel patches](https://gist.githubusercontent.com/TayouVR/af8635a4b8e1d02d038be1be1d221c83/raw/3806a6ff0a03721904164277d7523d43f7ca383c/bigscreenBeyond.patch). Doesn't work on Nvidia) | -- |
| Somnium VR1 | ? | ? | ? |
| VRgineers XTAL | ? | ? | ? |
| StarVR One | ? | ? | ? |
| Varjo VR-1 | ? | ? | ? |
| Varjo VR-2 | ? | ? | ? |
| Varjo VR-3 | ? | ? | ? |
| Pimax 4K | ❌ (Planned) | 🚧 (WIP) | 🚧 (WiVRn PC-PC stream) |
| Pimax 5K Plus | ❌ (Planned) | 🚧 (WIP) | 🚧 (WiVRn PC-PC stream) |
| Pimax 5K XR | ❌ (Planned) | 🚧 (WIP) | 🚧 (WiVRn PC-PC stream) |
| Pimax 5K SUPER | ❌ (Planned) | 🚧 (WIP) | 🚧 (WiVRn PC-PC stream) |
| Pimax 8K | ❌ (Planned) | 🚧 (WIP) | 🚧 (WiVRn PC-PC stream) |
| Pimax Vision 8K X | ❌ (Planned) | 🚧 (WIP) | 🚧 (WiVRn PC-PC stream) |
| Pimax Vision 8K PLUS | ❌ (Planned) | 🚧 (WIP) | 🚧 (WiVRn PC-PC stream) |
| Pimax 4K | ❌ (Planned) | 🚧 (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch)) | 🚧 (WiVRn PC-PC stream) |
| Pimax 5K Plus | ❌ (Planned) | 🚧 (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch)) | 🚧 (WiVRn PC-PC stream) |
| Pimax 5K XR | ❌ (Planned) | 🚧 (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch)) | 🚧 (WiVRn PC-PC stream) |
| Pimax 5K SUPER | ❌ (Planned) | 🚧 (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch)) | 🚧 (WiVRn PC-PC stream) |
| Pimax 8K | ❌ (Planned) | 🚧 (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch)) | 🚧 (WiVRn PC-PC stream) |
| Pimax Vision 8K X | ❌ (Planned) | 🚧 (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch)) | 🚧 (WiVRn PC-PC stream) |
| Pimax Vision 8K PLUS | ❌ (Planned) | 🚧 (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch)) | 🚧 (WiVRn PC-PC stream) |
| Lenovo Explorer | ✅ (Monado SteamVR plugin) | ✅ (experimental 6dof controllers) | 🚧 (WiVRn PC-PC stream) |
| Acer AH101 | ✅ (Monado SteamVR plugin) | ✅ (experimental 6dof controllers) | 🚧 (WiVRn PC-PC stream) |
| Dell Visor | ✅ (Monado SteamVR plugin) | ✅ (experimental 6dof controllers) | 🚧 (WiVRn PC-PC stream) |
@ -102,4 +102,38 @@ Pimax initialization code WIP.
Tundra trackers preferred for full body, linear and angular velocity stop upon occlusion.
Eyetrack VR and Project Babble will both be implemented through [oscavmgr](https://github.com/galister/oscavmgr) to emit proper unified flexes over OSC.
Eyetrack VR and Project Babble will both be implemented through [oscavmgr](https://github.com/galister/oscavmgr) to emit proper unified flexes over OSC.
## Applying a kernel patch (for Vive Pro 2, Bigscreen Beyond)
### Arch
1. download the patch(es), then follow the steps on https://wiki.archlinux.org/title/Kernel/Arch_build_system,
which should be roughly: `mkdir ~/build/` -> `cd ~/build/` -> `pkgctl repo clone --protocol=https linux` -> `cd linux`
2. (section 2 of link) open `PKGBUILD` in that directory and modify the `pkgbase` line (at the top) to read e.g. "`pkgbase=linux-customvr`". then add a line containing "`<patchfilename>.patch`" to the `source` array:
```pkgbuild
source=(
https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign}
<patchfilename>.patch
$url/releases/download/$_srctag/linux-$_srctag.patch.zst{,.sig}
config # the main kernel config file
)
```
4. close `PKGBUILD`. (may not be necessary but i ran `updpkgsums`) -> `makepkg -s --skippgpcheck` (i didn't feel like fixing a pgp error)
5. then section 4 of https://wiki.archlinux.org/title/Kernel/Arch_build_system#Installing and restart
### NixOS
1. download the patch(es)
2. add this to your configuration.nix or other nix file you use:
```nix
boot.kernelPatches = [
{
name = "type what the patch is for here";
patch = /path/to/patch/file.patch;
}
];
```
reference commit on my nix files: https://github.com/TayouVR/nixfiles/commit/d6ef568a2642c5a26eb92611be7335afdb6047de