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

This commit is contained in:
Tayou 2024-06-09 02:35:29 +00:00 committed by Bones
parent d1ec731ffc
commit 3b73dae95e

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 | ✅ | ✅ | 🚧 (WiVRn PC-PC stream) |
| HTC Vive Pro Eye | ✅ (No eyechip) | ✅ (No eyechip) | 🚧 (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)) | -- | | 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 | ? | ? | ? | | Somnium VR1 | ? | ? | ? |
| VRgineers XTAL | ? | ? | ? | | VRgineers XTAL | ? | ? | ? |
| StarVR One | ? | ? | ? | | StarVR One | ? | ? | ? |
| Varjo VR-1 | ? | ? | ? | | Varjo VR-1 | ? | ? | ? |
| Varjo VR-2 | ? | ? | ? | | Varjo VR-2 | ? | ? | ? |
| Varjo VR-3 | ? | ? | ? | | Varjo VR-3 | ? | ? | ? |
| Pimax 4K | ❌ (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) | 🚧 (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) | 🚧 (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) | 🚧 (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) | 🚧 (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) | 🚧 (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) | 🚧 (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) | | Lenovo Explorer | ✅ (Monado SteamVR plugin) | ✅ (experimental 6dof controllers) | 🚧 (WiVRn PC-PC stream) |
| Acer AH101 | ✅ (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) | | 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. 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