Wiki additions & cleanup/fixing (#1466)

This commit is contained in:
Kirottu 2023-02-18 20:04:50 +02:00 committed by GitHub
parent fc7df0ef90
commit d3c1bf9068
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 103 additions and 85 deletions

View File

@ -1,3 +1,5 @@
# ALVR Checklist before posting a new Issue
## Hardware Requirements
* [ ] Intel Core i5-4590/AMD FX 8350 equivalent or better

View File

@ -1,3 +1,5 @@
# 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).

View File

@ -1,3 +1,5 @@
# 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
@ -52,3 +54,89 @@ 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.

View File

@ -1,76 +0,0 @@
# 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.

View File

@ -1,3 +1,5 @@
# 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.

View File

@ -1,3 +1,5 @@
# Issues running and connecting to ALVR
Troubleshooting (for ALVR 14.0.0 and later)
===

View File

@ -1,4 +1,4 @@
# Using ALVR through a USB connection
# ALVR wired setup (ALVR over USB)
## ALVR Configuration

View File

@ -14,23 +14,21 @@
* [Settings tutorial](https://github.com/alvr-org/ALVR/wiki/Settings-tutorial)
* [Information and Recommendations](https://github.com/alvr-org/ALVR/wiki/PC)
* [Information and Recommendations](https://github.com/alvr-org/ALVR/wiki/Information-and-Recommendations)
* [ALVR client and server on separate networks](https://github.com/alvr-org/ALVR/wiki/ALVR-v14-and-Above)
* [ALVR client and server on separate networks](https://github.com/alvr-org/ALVR/wiki/ALVR-client-and-server-on-separate-networks)
* [Fixed Foveated Rendering (FFR)](https://github.com/alvr-org/ALVR/wiki/Fixed-Foveated-Rendering-(FFR))
* [ALVR wired setup (ALVR over USB)](https://github.com/alvr-org/ALVR/wiki/Using-ALVR-through-a-USB-connection)
* [Linux encoders requirements](https://github.com/alvr-org/ALVR/wiki/Linux-encoders-requirements)
* [ALVR wired setup (ALVR over USB)](https://github.com/alvr-org/ALVR/wiki/ALVR-wired-setup-(ALVR-over-USB))
***
**Troubleshooting**
* [Issues running and connecting to ALVR](https://github.com/alvr-org/ALVR/wiki/Troubleshooting)
* [Issues running and connecting to ALVR](https://github.com/alvr-org/ALVR/wiki/Issues-running-and-connecting-to-ALVR)
* [ALVR Checklist before posting a new Issue](https://github.com/alvr-org/ALVR/wiki/ALVR-Checklist)
* [ALVR Checklist before posting a new Issue](https://github.com/alvr-org/ALVR/wiki/ALVR-Checklist-before-posting-a-new-Issue)
* [Controller latency](https://github.com/alvr-org/ALVR/wiki/Controller-latency)
@ -48,4 +46,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/Why?)
* [Real time video upscaling experiments](https://github.com/alvr-org/ALVR/wiki/Real-time-video-upscaling-experiments)