general arch updates plus steam streaming notes
This commit is contained in:
@@ -3,7 +3,9 @@
|
|||||||
- [Gaming](#gaming)
|
- [Gaming](#gaming)
|
||||||
- [Discord](#discord)
|
- [Discord](#discord)
|
||||||
- [Steam](#steam)
|
- [Steam](#steam)
|
||||||
- [Streaming not working](#streaming-not-working)
|
- [autostart](#autostart)
|
||||||
|
- [mangohud](#mangohud)
|
||||||
|
- [Streaming](#streaming)
|
||||||
- [FSR](#fsr)
|
- [FSR](#fsr)
|
||||||
- [ProtonUp-QT](#protonup-qt)
|
- [ProtonUp-QT](#protonup-qt)
|
||||||
- [VSCode](#vscode)
|
- [VSCode](#vscode)
|
||||||
@@ -15,7 +17,7 @@
|
|||||||
- [Bitwarden](#bitwarden)
|
- [Bitwarden](#bitwarden)
|
||||||
- [OBS](#obs)
|
- [OBS](#obs)
|
||||||
- [Xbox Controller](#xbox-controller)
|
- [Xbox Controller](#xbox-controller)
|
||||||
- [Mangohud](#mangohud)
|
- [Mangohud](#mangohud-1)
|
||||||
- [ffmpeg](#ffmpeg)
|
- [ffmpeg](#ffmpeg)
|
||||||
- [Intel 11th gen](#intel-11th-gen)
|
- [Intel 11th gen](#intel-11th-gen)
|
||||||
- [AMD 7900xtx](#amd-7900xtx)
|
- [AMD 7900xtx](#amd-7900xtx)
|
||||||
@@ -54,15 +56,87 @@ pacman -S steam
|
|||||||
|
|
||||||
When prompted use vulkan-radeon on AMD and vulkan-intel on intel.
|
When prompted use vulkan-radeon on AMD and vulkan-intel on intel.
|
||||||
|
|
||||||
### Streaming not working
|
### autostart
|
||||||
|
|
||||||
<https://wiki.archlinux.org/title/Steam/Troubleshooting#Steam_Remote_Play_issues>
|
```bash
|
||||||
|
ln -s ~/.local/share/applications/steam-native.desktop ~/.config/autostart/
|
||||||
|
```
|
||||||
|
|
||||||
I have no idea what actually fixes steam streaming. While installing the recommended
|
### mangohud
|
||||||
packages and rebooting does nothing to fix the crashing, starting and enabling `ufw` does? Is it `ufw` in combination with the required packages? I have no idea. Try the following:
|
|
||||||
|
|
||||||
1. `pacman -S lib32-libcanberra lib32-libva-intel-driver libva-intel-driver`
|
Start steam with mangohud
|
||||||
2. `systemctl enable --now ufw`
|
|
||||||
|
```bash
|
||||||
|
pacman -S mangohud lib32-mangohud
|
||||||
|
cp /usr/share/applications/steam-native.desktop ~/.local/share/applications/steam.desktop
|
||||||
|
```
|
||||||
|
|
||||||
|
Edit ~/.local/share/applications/steam.desktop:
|
||||||
|
|
||||||
|
```conf
|
||||||
|
Exec=/usr/bin/mangohud /usr/bin/steam-native %U
|
||||||
|
```
|
||||||
|
|
||||||
|
### Streaming
|
||||||
|
|
||||||
|
Works great from Arch hosts to Arch guests with a little configuration.
|
||||||
|
|
||||||
|
1. wifi
|
||||||
|
|
||||||
|
Your wifi should be isolated to the fastest band you have available at the widest channel width on
|
||||||
|
the least populated channel. BSS Transition and Fast Roaming are the only settings I enable since
|
||||||
|
they do make a difference for video calls and streaming while moving from room to room but don't
|
||||||
|
cause interference or connectivity issues like the other settings.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
2. host
|
||||||
|
|
||||||
|
Your host settings don't matter too much since you'll be limited to Steam's compatibility with
|
||||||
|
Arch's mesa drivers, the current kernel version, and whether Mercury is retrograde. Steam does a
|
||||||
|
pretty good job automatically selecting the correct libraries and capture mechanism. Here are
|
||||||
|
the settings I use:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
3. Client
|
||||||
|
|
||||||
|
Here's where things start to matter. As of kernel `6.7.6-arch1-2`, `mesa 1:24.0.2-1`,
|
||||||
|
`libva 2.20.0-1`, `mesa-vdpau 1:24.0.2-1`, and `libvdpau 1.5-2` hardware decoding works on Arch
|
||||||
|
with AMD integrated graphics on both my framework (Ryzen 7 7840U w/ Radeon 780M Graphics) and my
|
||||||
|
Steam Deck.
|
||||||
|
|
||||||
|
In the steam advanced client settings select "Enhanced 4k" to start. Do not change
|
||||||
|
the Resolution limit. Decoding at the native resolution of your screen will always perform
|
||||||
|
better than using a non-native resolution. In my testing even lower resolutions result in
|
||||||
|
20-30ms of additional delay over native. Framerate limit should stay at automatic. This will try
|
||||||
|
to match the streaming framerate to your display's refresh rate. You can set this to 60 if
|
||||||
|
things are lagging too much. Bandwidth limit can be adjusted up and down to fit your wifi's
|
||||||
|
limitations if you are experience frame drops and stuttering. If you experience issues like
|
||||||
|
crashing on launch, blank screen or strange artifacts disable hardware decoding. HEVC and low
|
||||||
|
latency networking have never caused me issues. Here are my settings:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
And to show what a properly configured client can do, here's Crab Champions streamed to my
|
||||||
|
laptop at 2k, 99fps. Note the streaming latency is ~10ms and the dark blue (encode time), light
|
||||||
|
blue (network transmit time), and red (decode time) lines are extremely close together.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
My Steam Deck performs about the same but with a lower (~7ms) streaming latency. This is
|
||||||
|
expected because the steam deck streams at 1280x720 which means faster encode and transmit.
|
||||||
|
|
||||||
|
If the red line is far above the blue lines it means your decoding (software or hardware) is
|
||||||
|
struggling to keep up. Either it's not decoding at native resolution (likely transforming the
|
||||||
|
decoded frame to match the display resolution) or your cpu/gpu is doing something else.
|
||||||
|
|
||||||
|
If the light blue line is far above the dark blue line your wifi is slow. Increase channel
|
||||||
|
width, increase transmit power, ensure devices are connected to 5 or 6Ghz, and ensure your
|
||||||
|
device has the latest drivers.
|
||||||
|
|
||||||
|
If the dark blue line is far above the x axis of the graph your host is struggling to encode
|
||||||
|
fast enough. Likely the host's cpu/gpu is doing something else or it's an old computer
|
||||||
|
|
||||||
### FSR
|
### FSR
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# Kubernetes
|
# Kubernetes
|
||||||
|
|
||||||
|
- [Kubernetes](#kubernetes)
|
||||||
|
- [Setup](#setup)
|
||||||
|
- [MetalLB](#metallb)
|
||||||
|
- [Ingress Nginx](#ingress-nginx)
|
||||||
|
- [Cert Manager](#cert-manager)
|
||||||
|
- [Storage](#storage)
|
||||||
|
|
||||||
<https://wiki.archlinux.org/title/Kubernetes>
|
<https://wiki.archlinux.org/title/Kubernetes>
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|||||||
BIN
arch/media/enhanced_4k_framework.png
Normal file
BIN
arch/media/enhanced_4k_framework.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.4 MiB |
BIN
arch/media/steam_client_settings.png
Normal file
BIN
arch/media/steam_client_settings.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 75 KiB |
BIN
arch/media/steam_host_settings.png
Normal file
BIN
arch/media/steam_host_settings.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 213 KiB |
BIN
arch/media/unifi_wifi_config.png
Normal file
BIN
arch/media/unifi_wifi_config.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 83 KiB |
@@ -48,7 +48,7 @@ Install the wireless-regdb to set the regulatory domain to US
|
|||||||
pacman -S wireless-regdb
|
pacman -S wireless-regdb
|
||||||
```
|
```
|
||||||
|
|
||||||
Edit /etc/conf.d/wireless-regdom to set the domain
|
Edit `/etc/conf.d/wireless-regdom` to set the domain
|
||||||
|
|
||||||
Switch to iwd for the NetworkManager backend.
|
Switch to iwd for the NetworkManager backend.
|
||||||
|
|
||||||
@@ -56,16 +56,14 @@ Switch to iwd for the NetworkManager backend.
|
|||||||
pacman -S iwd
|
pacman -S iwd
|
||||||
```
|
```
|
||||||
|
|
||||||
Edit /etc/NetworkManager/conf.d/wifi_backend.conf
|
Edit `/etc/NetworkManager/conf.d/wifi_backend.conf`
|
||||||
|
|
||||||
```conf
|
```conf
|
||||||
[device]
|
[device]
|
||||||
wifi.backend=iwd
|
wifi.backend=iwd
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
Finally, reboot the machine for the changes to take effect.
|
||||||
systemctl restart NetworkManager
|
|
||||||
```
|
|
||||||
|
|
||||||
### Microcode
|
### Microcode
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
- [Tweaks](#tweaks)
|
- [Tweaks](#tweaks)
|
||||||
- [systemd-cryptenroll](#systemd-cryptenroll)
|
- [systemd-cryptenroll](#systemd-cryptenroll)
|
||||||
- [Certbot for Cockpit](#certbot-for-cockpit)
|
- [Certbot for Cockpit](#certbot-for-cockpit)
|
||||||
|
- [Backups](#backups)
|
||||||
|
|
||||||
## First boot
|
## First boot
|
||||||
|
|
||||||
@@ -236,3 +237,10 @@ systemctl enable --now certbot-renew.timer
|
|||||||
```
|
```
|
||||||
|
|
||||||
Cockpit now has a valid TLS certificate that auto-renews!
|
Cockpit now has a valid TLS certificate that auto-renews!
|
||||||
|
|
||||||
|
## Backups
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Create an LVM snapshot
|
||||||
|
lvcreate -L 1GB -s -n test /dev/fedora_orange/root
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# Ubuntu Server
|
# Ubuntu Server
|
||||||
|
|
||||||
|
## Unattended Upgrades
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt install unattended-upgrades
|
||||||
|
systemctl enable unattended-upgrades
|
||||||
|
```
|
||||||
|
|
||||||
## Certbot for Cockpit
|
## Certbot for Cockpit
|
||||||
|
|
||||||
During this process you'll pick one node to act as your manager for your other nodes.
|
During this process you'll pick one node to act as your manager for your other nodes.
|
||||||
|
|||||||
Reference in New Issue
Block a user