Add OBS/ffmpeg instructions with AMD vaapi
This commit is contained in:
58
pc_fedora.md
58
pc_fedora.md
@@ -102,7 +102,8 @@ And timers to run the btrbk services on a regular schedule.
|
|||||||
Description=Run btrbk_snapshots every hour
|
Description=Run btrbk_snapshots every hour
|
||||||
|
|
||||||
[Timer]
|
[Timer]
|
||||||
OnCalendar=hourly
|
OnCalendar=hourlyalways want to give it a device name; the implicit selection may be right in some cases but it's better not to rely on it.
|
||||||
|
|
||||||
AccuracySec=10min
|
AccuracySec=10min
|
||||||
Persistent=true
|
Persistent=true
|
||||||
Unit=btrbk_snapshots.service
|
Unit=btrbk_snapshots.service
|
||||||
@@ -334,10 +335,14 @@ flatpak update
|
|||||||
|
|
||||||
## Steam
|
## Steam
|
||||||
|
|
||||||
|
### Install ProtonUp-Qt
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
flatpak install flathub net.davidotek.pupgui2
|
flatpak install flathub net.davidotek.pupgui2
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Install Steam
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo dnf install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
|
sudo dnf install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
|
||||||
sudo dnf install steam
|
sudo dnf install steam
|
||||||
@@ -348,9 +353,24 @@ cd ~/.local/share/Steam/
|
|||||||
./steam.sh --reset
|
./steam.sh --reset
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Enable OBS Game Capture
|
||||||
|
|
||||||
|
<https://github.com/nowrep/obs-vkcapture>
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo dnf install cmake gcc gcc-c++ obs-studio-devel mesa-libGL-devel vulkan-loader-devel
|
||||||
|
|
||||||
|
git clone ssh://git@gitea.reeseapps.com:2222/mirrors/obs-vkcapture.git
|
||||||
|
mkdir build && cd build
|
||||||
|
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
|
||||||
|
make && make install
|
||||||
|
```
|
||||||
|
|
||||||
|
Add `env OBS_VKCAPTURE=1 %command%` to your launch options for the game you want to capture.
|
||||||
|
|
||||||
## OBS
|
## OBS
|
||||||
|
|
||||||
https://www.reddit.com/r/linux_gaming/comments/w4i3qf/easy_way_to_get_good_4k_60fps_obs_encoding/
|
<https://www.reddit.com/r/linux_gaming/comments/w4i3qf/easy_way_to_get_good_4k_60fps_obs_encoding>
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo flatpak install \
|
sudo flatpak install \
|
||||||
@@ -360,10 +380,44 @@ sudo flatpak install \
|
|||||||
com.obsproject.Studio.Plugin.OBSVkCapture
|
com.obsproject.Studio.Plugin.OBSVkCapture
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Create a new scene and add "Game Capture" to it. When you start a game with the above
|
||||||
|
launch option (`env OBS_VKCAPTURE=1 %command%`) OBS will automatically pick it up.
|
||||||
|
|
||||||
Use advanced settings to select the GStreamer encoder and the VA-API encoder type.
|
Use advanced settings to select the GStreamer encoder and the VA-API encoder type.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
## FFMPEG with hardware encoding/decoding
|
||||||
|
|
||||||
|
First you'll need mesa-va-drivers-freeworld which provides x264 and hevc support for
|
||||||
|
vaapi decoding. First you'll need to install [https://rpmfusion.org/Configuration](rpm fusion).
|
||||||
|
Then the freeworld drivers need to be swapped with mesa-va-drivers:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld
|
||||||
|
```
|
||||||
|
|
||||||
|
To check what hardware decoding is supported by your system you'll need vainfo:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo dnf install libva-utils
|
||||||
|
```
|
||||||
|
|
||||||
|
Running `vainfo` will show all available profiles. You should see H264, HEVC, AV1, and VP9.
|
||||||
|
|
||||||
|
Then with ffmpeg you can run
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ffmpeg \
|
||||||
|
-hwaccel vaapi \
|
||||||
|
-vaapi_device /dev/dri/renderD128 \
|
||||||
|
-hwaccel_output_format vaapi \
|
||||||
|
-i input.mkv \
|
||||||
|
-c:v hevc_vaapi \
|
||||||
|
-b:v 0 \
|
||||||
|
test.mp4
|
||||||
|
```
|
||||||
|
|
||||||
## Power Button Behavior
|
## Power Button Behavior
|
||||||
|
|
||||||
The power button is controlled from 2 locations:
|
The power button is controlled from 2 locations:
|
||||||
|
|||||||
Reference in New Issue
Block a user