From abf50cc66d666fd736c3298fc9f6132c29119c9c Mon Sep 17 00:00:00 2001 From: Vixea Date: Fri, 17 Feb 2023 22:45:03 -0600 Subject: [PATCH] Revert "Wiki additions & cleanup/fixing (#1465)" This reverts commit 3298450fe404ec7d273af7dae11151e0ecd8fe1f. --- wiki/ALVR-Checklist.md | 2 - ...-client-and-server-on-separate-networks.md | 2 - ...uration-Information-and-Recommendations.md | 88 ------------------- wiki/Linux-encoders-requirements.md | 76 ++++++++++++++++ wiki/Real-time-video-upscaling-experiments.md | 2 - wiki/Troubleshooting.md | 2 - wiki/Use-ALVR-through-a-USB-connection.md | 2 +- wiki/_Sidebar.md | 2 +- 8 files changed, 78 insertions(+), 98 deletions(-) create mode 100644 wiki/Linux-encoders-requirements.md diff --git a/wiki/ALVR-Checklist.md b/wiki/ALVR-Checklist.md index ccb69a91dd..023e562945 100644 --- a/wiki/ALVR-Checklist.md +++ b/wiki/ALVR-Checklist.md @@ -1,5 +1,3 @@ -# ALVR Checklist before posting a new Issue - ## Hardware Requirements * [ ] Intel Core i5-4590/AMD FX 8350 equivalent or better diff --git a/wiki/ALVR-client-and-server-on-separate-networks.md b/wiki/ALVR-client-and-server-on-separate-networks.md index 7ed7f64045..8a5b5f5720 100644 --- a/wiki/ALVR-client-and-server-on-separate-networks.md +++ b/wiki/ALVR-client-and-server-on-separate-networks.md @@ -1,5 +1,3 @@ -# ALVR client and server on separate networks - # ALVR v14 and Above Here are explained two methods to connect PC and headset remotely, port-forwarding and ZeroTier. The primary purpose of this is connecting the headset to a Cloud PC (like ShadowPC). diff --git a/wiki/Configuration-Information-and-Recommendations.md b/wiki/Configuration-Information-and-Recommendations.md index 11583bf34e..29e938c35e 100644 --- a/wiki/Configuration-Information-and-Recommendations.md +++ b/wiki/Configuration-Information-and-Recommendations.md @@ -1,5 +1,3 @@ -# Information and Recommendations - # PC - A high-end PC is a requirement; ALVR is not a cheap alternative to a PCVR HMD - ALVR resolution configuration and SteamVR multi-sampling may be used to influence quality in favor of performance or vice-versa @@ -54,89 +52,3 @@ https://imaginevr.home.blog/author/imaginevrresearch/ Some points came from [FingrMastr](https://github.com/FingrMastr) -# Linux -## Encoder requirements - -ALVR uses FFmpeg for all encoders (except AMF), so you will need to make sure the encoder of your choice works with FFmpeg. -Always consult Log tab in dashboard, it will tell you the reason why an encoder failed to initialize. - -### VAAPI (AMD/Intel GPUs) - -Requires *libva* and appropriate driver for your GPU. Check codec support with `vainfo`: - -```sh -$ vainfo 130 ↵ !10090 -Trying display: wayland -vainfo: VA-API version: 1.16 (libva 2.16.0) -vainfo: Driver version: Mesa Gallium driver 23.0.0-devel for Radeon RX 7900 XTX (gfx1100, LLVM 16.0.0, DRM 3.49, 6.1.1-zen1-1-zen) -vainfo: Supported profile and entrypoints - VAProfileH264ConstrainedBaseline: VAEntrypointVLD - VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice - VAProfileH264Main : VAEntrypointVLD - VAProfileH264Main : VAEntrypointEncSlice - VAProfileH264High : VAEntrypointVLD - VAProfileH264High : VAEntrypointEncSlice - VAProfileHEVCMain : VAEntrypointVLD - VAProfileHEVCMain : VAEntrypointEncSlice - VAProfileHEVCMain10 : VAEntrypointVLD - VAProfileHEVCMain10 : VAEntrypointEncSlice - VAProfileJPEGBaseline : VAEntrypointVLD - VAProfileVP9Profile0 : VAEntrypointVLD - VAProfileVP9Profile2 : VAEntrypointVLD - VAProfileAV1Profile0 : VAEntrypointVLD - VAProfileNone : VAEntrypointVideoProc -``` - -*VAProfileH264High, VAProfileHEVCMain, VAProfileHEVCMain10* encoders (VAEntrypointEncSlice) required. If you don't see those -in your output, your driver install is incorrect or your distribution decided to build *mesa* without non-free codecs. - -**Test ffmpeg commands** - -```sh -# H264 -ffmpeg -vaapi_device /dev/dri/renderD128 -f lavfi -i testsrc -t 30 -vf 'format=nv12,hwupload' -c:v h264_vaapi vaapi-h264.mp4 - -# HEVC -ffmpeg -vaapi_device /dev/dri/renderD128 -f lavfi -i testsrc -t 30 -vf 'format=nv12,hwupload' -c:v hevc_vaapi vaapi-hevc.mp4 -``` - -### AMF (AMD GPUs) - -AMF requires proprietary Vulkan driver amd-pro. Troubleshooting AMF installation on your system is out of scope here, but you -can use [amf-test](https://github.com/nowrep/amf-test-linux). HEVC is only supported on RDNA and newer GPUs. - -Make sure amf-test succeeds before you try to get it working with ALVR. -You will need to tell ALVR where to find amd-pro driver, edit your SteamVR launch command (change the path as appropriate -for your system): - - env ALVR_AMF_ICD=/path/to/amd_pro_icd64.json %command% - -ALVR should now be able to use AMF. - -### NVENC (NVidia) - -Requires *libcuda*. - -**Test ffmpeg commands** - -```sh -# H264 -ffmpeg -f lavfi -i testsrc -t 30 -vf 'format=nv12,hwupload' -c:v h264_nvenc nvenc-h264.mp4 - -# HEVC -ffmpeg -f lavfi -i testsrc -t 30 -vf 'format=nv12,hwupload' -c:v hevc_nvenc nvenc-hevc.mp4 -``` - -### Software (all GPUs) - -Software encoder is mainly used as a fallback and as such should work on all GPUs without any requirements. -Only H264 encoding is currently supported. - -## Legacy Reprojection -SteamVR by default will still use async reprojection for all games, which can cause issues such as: - - Ghosting - - Jumpy framerate - - Jittery movement - - General unsmoothness -And all other sorts of issues. Turning on Legacy Reprojection in the per game video settings inside SteamVR will effectively disable -any reprojection making the experience far better. diff --git a/wiki/Linux-encoders-requirements.md b/wiki/Linux-encoders-requirements.md new file mode 100644 index 0000000000..dbafa21f87 --- /dev/null +++ b/wiki/Linux-encoders-requirements.md @@ -0,0 +1,76 @@ +# Linux encoders requirements + +ALVR uses FFmpeg for all encoders (except AMF), so you will need to make sure the encoder of your choice works with FFmpeg. +Always consult Log tab in dashboard, it will tell you the reason why an encoder failed to initialize. + +## VAAPI (AMD/Intel GPUs) + +Requires *libva* and appropriate driver for your GPU. Check codec support with `vainfo`: + +```sh +$ vainfo 130 ↵ !10090 +Trying display: wayland +vainfo: VA-API version: 1.16 (libva 2.16.0) +vainfo: Driver version: Mesa Gallium driver 23.0.0-devel for Radeon RX 7900 XTX (gfx1100, LLVM 16.0.0, DRM 3.49, 6.1.1-zen1-1-zen) +vainfo: Supported profile and entrypoints + VAProfileH264ConstrainedBaseline: VAEntrypointVLD + VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice + VAProfileH264Main : VAEntrypointVLD + VAProfileH264Main : VAEntrypointEncSlice + VAProfileH264High : VAEntrypointVLD + VAProfileH264High : VAEntrypointEncSlice + VAProfileHEVCMain : VAEntrypointVLD + VAProfileHEVCMain : VAEntrypointEncSlice + VAProfileHEVCMain10 : VAEntrypointVLD + VAProfileHEVCMain10 : VAEntrypointEncSlice + VAProfileJPEGBaseline : VAEntrypointVLD + VAProfileVP9Profile0 : VAEntrypointVLD + VAProfileVP9Profile2 : VAEntrypointVLD + VAProfileAV1Profile0 : VAEntrypointVLD + VAProfileNone : VAEntrypointVideoProc +``` + +*VAProfileH264High, VAProfileHEVCMain, VAProfileHEVCMain10* encoders (VAEntrypointEncSlice) required. If you don't see those +in your output, your driver install is incorrect or your distribution decided to build *mesa* without non-free codecs. + +**Test ffmpeg commands** + +```sh +# H264 +ffmpeg -vaapi_device /dev/dri/renderD128 -f lavfi -i testsrc -t 30 -vf 'format=nv12,hwupload' -c:v h264_vaapi vaapi-h264.mp4 + +# HEVC +ffmpeg -vaapi_device /dev/dri/renderD128 -f lavfi -i testsrc -t 30 -vf 'format=nv12,hwupload' -c:v hevc_vaapi vaapi-hevc.mp4 +``` + +## AMF (AMD GPUs) + +AMF requires proprietary Vulkan driver amd-pro. Troubleshooting AMF installation on your system is out of scope here, but you +can use [amf-test](https://github.com/nowrep/amf-test-linux). HEVC is only supported on RDNA and newer GPUs. + +Make sure amf-test succeeds before you try to get it working with ALVR. +You will need to tell ALVR where to find amd-pro driver, edit your SteamVR launch command (change the path as appropriate +for your system): + + env ALVR_AMF_ICD=/path/to/amd_pro_icd64.json %command% + +ALVR should now be able to use AMF. + +## NVENC (NVidia) + +Requires *libcuda*. + +**Test ffmpeg commands** + +```sh +# H264 +ffmpeg -f lavfi -i testsrc -t 30 -vf 'format=nv12,hwupload' -c:v h264_nvenc nvenc-h264.mp4 + +# HEVC +ffmpeg -f lavfi -i testsrc -t 30 -vf 'format=nv12,hwupload' -c:v hevc_nvenc nvenc-hevc.mp4 +``` + +## Software (all GPUs) + +Software encoder is mainly used as a fallback and as such should work on all GPUs without any requirements. +Only H264 encoding is currently supported. diff --git a/wiki/Real-time-video-upscaling-experiments.md b/wiki/Real-time-video-upscaling-experiments.md index 82f6f7080b..86b39890b3 100644 --- a/wiki/Real-time-video-upscaling-experiments.md +++ b/wiki/Real-time-video-upscaling-experiments.md @@ -1,5 +1,3 @@ -# Real time video upscaling experiments - # Why? The Quest can display a resolution close to 4k. Rendering a game, encoding and decoding these kinds of resolutions is very taxing on both the PC and the Quest. So usually a lower resolution image displayed on the Quest. diff --git a/wiki/Troubleshooting.md b/wiki/Troubleshooting.md index da410c648a..2381786162 100644 --- a/wiki/Troubleshooting.md +++ b/wiki/Troubleshooting.md @@ -1,5 +1,3 @@ -# Issues running and connecting to ALVR - Troubleshooting (for ALVR 14.0.0 and later) === diff --git a/wiki/Use-ALVR-through-a-USB-connection.md b/wiki/Use-ALVR-through-a-USB-connection.md index a925a76dce..1b244bdb79 100644 --- a/wiki/Use-ALVR-through-a-USB-connection.md +++ b/wiki/Use-ALVR-through-a-USB-connection.md @@ -1,4 +1,4 @@ -# ALVR wired setup (ALVR over USB) +# Using ALVR through a USB connection ## ALVR Configuration diff --git a/wiki/_Sidebar.md b/wiki/_Sidebar.md index b87629987b..2f7137db64 100644 --- a/wiki/_Sidebar.md +++ b/wiki/_Sidebar.md @@ -48,4 +48,4 @@ * [Linux support](https://github.com/alvr-org/ALVR/wiki/Linux-Support-development-progress) -* [Real time video upscaling experiments](https://github.com/alvr-org/ALVR/wiki/Real-time-video-upscaling-experiments) +* [Real time video upscaling experiments](https://github.com/alvr-org/ALVR/wiki/Why?)