general arch updates plus steam streaming notes

This commit is contained in:
2024-03-02 15:31:01 -05:00
parent 550e5f8e50
commit b50a1ed6c5
11 changed files with 107 additions and 13 deletions

View File

View File

@@ -3,7 +3,9 @@
- [Gaming](#gaming)
- [Discord](#discord)
- [Steam](#steam)
- [Streaming not working](#streaming-not-working)
- [autostart](#autostart)
- [mangohud](#mangohud)
- [Streaming](#streaming)
- [FSR](#fsr)
- [ProtonUp-QT](#protonup-qt)
- [VSCode](#vscode)
@@ -15,7 +17,7 @@
- [Bitwarden](#bitwarden)
- [OBS](#obs)
- [Xbox Controller](#xbox-controller)
- [Mangohud](#mangohud)
- [Mangohud](#mangohud-1)
- [ffmpeg](#ffmpeg)
- [Intel 11th gen](#intel-11th-gen)
- [AMD 7900xtx](#amd-7900xtx)
@@ -54,15 +56,87 @@ pacman -S steam
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
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:
### mangohud
1. `pacman -S lib32-libcanberra lib32-libva-intel-driver libva-intel-driver`
2. `systemctl enable --now ufw`
Start steam with mangohud
```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.
![unifi wifi config](media/unifi_wifi_config.png)
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:
![steam host settings](media/steam_host_settings.png)
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:
![steam client settings](media/steam_client_settings.png)
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.
![enhanced 4k framework](media/enhanced_4k_framework.png)
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

View File

@@ -1,5 +1,12 @@
# Kubernetes
- [Kubernetes](#kubernetes)
- [Setup](#setup)
- [MetalLB](#metallb)
- [Ingress Nginx](#ingress-nginx)
- [Cert Manager](#cert-manager)
- [Storage](#storage)
<https://wiki.archlinux.org/title/Kubernetes>
## Setup

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

View File

View File

@@ -48,7 +48,7 @@ Install the wireless-regdb to set the regulatory domain to US
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.
@@ -56,16 +56,14 @@ Switch to iwd for the NetworkManager backend.
pacman -S iwd
```
Edit /etc/NetworkManager/conf.d/wifi_backend.conf
Edit `/etc/NetworkManager/conf.d/wifi_backend.conf`
```conf
[device]
wifi.backend=iwd
```
```bash
systemctl restart NetworkManager
```
Finally, reboot the machine for the changes to take effect.
### Microcode

View File

@@ -6,6 +6,7 @@
- [Tweaks](#tweaks)
- [systemd-cryptenroll](#systemd-cryptenroll)
- [Certbot for Cockpit](#certbot-for-cockpit)
- [Backups](#backups)
## First boot
@@ -236,3 +237,10 @@ systemctl enable --now certbot-renew.timer
```
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
```

View File

@@ -1,5 +1,12 @@
# Ubuntu Server
## Unattended Upgrades
```bash
apt install unattended-upgrades
systemctl enable unattended-upgrades
```
## Certbot for Cockpit
During this process you'll pick one node to act as your manager for your other nodes.