Skip to content

Instantly share code, notes, and snippets.

@ChrisDeadman
Last active December 21, 2022 21:30
Show Gist options
  • Save ChrisDeadman/bd5a9a0993c9c3fa2e131067183025c5 to your computer and use it in GitHub Desktop.
Save ChrisDeadman/bd5a9a0993c9c3fa2e131067183025c5 to your computer and use it in GitHub Desktop.
Deads Arch Linux Gaming Compendium

Deads Arch Linux Gaming Compendium

Pacman quick reference

sudo pacman -Syy                # update package sources
sudo pacman -Syu                # update system
sudo paccache -rk 1             # clean cache

sudo pacman -S package_name     # install package
sudo pacman -Rs package_name    # remove package
sudo pacman -Rns package_name   # purge package

pacman -Qi package_name         # info about installed package
pacman -Ss package_name         # search package in repo

pacman -Qent                    # manually installed packages
pacman -Qm                      # manually installed foreign packages
pacman -Qdtq                    # packages without dependencies

# mark package as explicitly installed
sudo pacman -S --asexplicit --noconfirm PACKAGE

# mark package as automatically installed
sudo pacman -S --asdeps --noconfirm PACKAGE

Show System Info

inxi -Fza # nice list

mhwd -lh -d # overkill

Bootsplash

To change bootsplash install a bootsplash package and modify the following files accordingly. (example is for manjaro-glitch)

/etc/mkinitcpio.conf

HOOKS="... bootsplash-manjaro-glitch"

Append the following to GRUB_CMDLINE_LINUX_DEFAULT:

/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="... bootsplash.bootfile=bootsplash-themes/manjaro-glitch/bootsplash"

Update initramfs and grub:

sudo mkinitcpio -P

sudo update-grub

Fancontrol

Install fancontrol-gui package, changes will be saved in configuration file.

sudo pacman -S fancontrol-gui

Enable fancontrol:

sudo systemctl enable fancontrol.service

This is my custom config file where most fans are controlled by GPU temp (do not use, just for reference):

/etc/fancontrol

# This file was created by Fancontrol-GUI
INTERVAL=2
DEVPATH=hwmon0=devices/pci0000:00/0000:00:03.1/0000:2b:00.0/0000:2c:00.0/0000:2d:00.0 hwmon4=devices/platform/nct6687.2592 
DEVNAME=hwmon0=amdgpu hwmon4=nct6687 
FCTEMPS=hwmon4/pwm1=hwmon4/temp1_input hwmon4/pwm2=hwmon0/temp2_input hwmon4/pwm3=hwmon0/temp2_input hwmon4/pwm4=hwmon0/temp2_input hwmon4/pwm5=hwmon0/temp2_input hwmon4/pwm6=hwmon0/temp2_input hwmon4/pwm7=hwmon0/temp2_input 
FCFANS=hwmon4/pwm1=hwmon4/fan1_input hwmon4/pwm2=hwmon4/fan2_input hwmon4/pwm3=hwmon4/fan3_input hwmon4/pwm4=hwmon4/fan4_input hwmon4/pwm5=hwmon4/fan5_input hwmon4/pwm6=hwmon4/fan6_input hwmon4/pwm7=hwmon4/fan7_input 
MINTEMP=hwmon4/pwm1=50 hwmon4/pwm2=40 hwmon4/pwm3=40 hwmon4/pwm4=40 hwmon4/pwm5=40 hwmon4/pwm6=40 hwmon4/pwm7=40 
MAXTEMP=hwmon4/pwm1=90 hwmon4/pwm2=90 hwmon4/pwm3=90 hwmon4/pwm4=90 hwmon4/pwm5=90 hwmon4/pwm6=90 hwmon4/pwm7=90 
MINSTART=hwmon4/pwm1=255 hwmon4/pwm2=255 hwmon4/pwm3=255 hwmon4/pwm4=255 hwmon4/pwm5=255 hwmon4/pwm6=255 hwmon4/pwm7=255 
MINSTOP=hwmon4/pwm1=72 hwmon4/pwm2=72 hwmon4/pwm3=72 hwmon4/pwm4=72 hwmon4/pwm5=72 hwmon4/pwm6=72 hwmon4/pwm7=72 
MINPWM=hwmon4/pwm1=72 hwmon4/pwm2=72 hwmon4/pwm3=72 hwmon4/pwm4=72 hwmon4/pwm5=72 hwmon4/pwm6=72 hwmon4/pwm7=72 
MAXPWM=hwmon4/pwm1=255 hwmon4/pwm2=255 hwmon4/pwm3=255 hwmon4/pwm4=255 hwmon4/pwm5=205 hwmon4/pwm6=205 hwmon4/pwm7=205 
AVERAGE=hwmon4/pwm1=2 hwmon4/pwm2=1 hwmon4/pwm3=1 hwmon4/pwm4=1 hwmon4/pwm5=1 hwmon4/pwm6=1 hwmon4/pwm7=1

Fix for random sensor order

Create a modprobe config file and set the dependencies of the modules manually. This is a pain to find out but was unfortunately necessary so my sensors always have the same ids :(

Note: This example is for nct6687 temp. sensor (I have that one on my MSI B550 Tomahawk), you have to substitute for yours)

/etc/modprobe.d/fancontrol.conf

softdep nct6687 pre: zenpower
softdep ucsi_ccg pre: nct6687
softdep hid_logitech_hidpp pre: nct6687

Fix 100% fans during shutdown

During shutdown my fans went bonkers, so I added a script that is called when fancontrol service is stopped.

Create a stop script (modify for your hardware):

/usr/sbin/fancontrol-stop.sh

#!/bin/sh
echo 60 > /sys/class/hwmon/hwmon4/pwm1
echo 60 > /sys/class/hwmon/hwmon4/pwm2
echo 60 > /sys/class/hwmon/hwmon4/pwm3
echo 60 > /sys/class/hwmon/hwmon4/pwm4
echo 60 > /sys/class/hwmon/hwmon4/pwm5
echo 60 > /sys/class/hwmon/hwmon4/pwm6
echo 60 > /sys/class/hwmon/hwmon4/pwm7

Make script executable:

sudo chmod +x /usr/sbin/fancontrol-stop.sh

Add the stop script to fancontrol service config:

/etc/systemd/system/multi-user.target.wants/fancontrol.service

ExecStopPost=/usr/sbin/fancontrol-stop.sh

High refresh rate / Freesync

NOTE: Many examples are only for amdgpu driver and for 144Hz display.

Create X11 configuration file:

/etc/X11/xorg.conf.d/20-amdgpu.conf

Section "Device"
     Identifier "AMD"
     Driver "amdgpu"
     Option "VariableRefresh" "true"
     Option "TearFree" "true"
EndSection

Add this to sddm startup script (modify for your refresh rate):

/usr/share/sddm/scripts/Xsetup

xrandr --rate 144

Add both options to the [Compositing] section of kwin config (adapt for your refresh rate):

~/.config/kwinrc

MaxFPS=144
RefreshRate=144

Hack for freesync monitors not allowing full refresh rate

Modify EDID

Install wxedid package.

Find currently used EDID:

find /sys/devices/pci*/ -name edid

Copy to a new file (change to the path of the original edid you found):

cat path-to-edid > /usr/lib/firmware/edid/modified-edid.bin

Then edit with wxedid, change MRL Vfreq and save.

Add modified EDID to initramfs

Add amdgpu driver together with edid file to initramfs so it's loaded during init:

/etc/mkinitcpio.conf

#MODULES=""
MODULES=(amdgpu)
#FILES=""
FILES=(/usr/lib/firmware/edid/modified-edid.bin)

Generate new initramfs:

sudo mkinitcpio -P

Append the following to GRUB_CMDLINE_LINUX_DEFAULT:

/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="... drm.edid_firmware=DP-1:edid/modified-edid.bin"

Update grub:

sudo update-grub

Gaming hacks

Better audio, fix for stutters

Uncomment the following in configuration:

/etc/pulse/daemon.conf

high-priority = yes
nice-level = -11

realtime-scheduling = yes
realtime-priority = 5
...
resample-method = speex-float-10

Overclocking / Undervolting

Disclaimer: Be very careful with overclocking/undervolting, my settings are chosen for my chip after a lot of trial and error and greatly vary for each chip.

Append the following to GRUB_CMDLINE_LINUX_DEFAULT:

/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="... amdgpu.ppfeaturemask=0xffffffff"

Update grub:

sudo update-grub

Execute sudo pacman -S upliftpowerplay to install upp command from AUR for modyfing radeon soft power-play-tables.

Create a script for undervolting that you can execute when you need it.

Example script (this is for my undervolted watercooled RX 6900XT):

overclock.sh

#!/bin/sh

#
# GPU Power
#
POWER_CAP_W=366
POWER_CAP=${POWER_CAP_W}000000

# needed first, otherwise power1_cap_max is not raised for some reason
echo "auto" > /sys/class/drm/card0/device/power_dpm_force_performance_level

POWER_CAP_MAX=$(cat /sys/class/drm/card0/device/hwmon/hwmon0/power1_cap_max)
if [ $POWER_CAP_MAX -lt $POWER_CAP ]; then
  # set max power cap
  cat /sys/class/drm/card0/device/hwmon/hwmon0/power1_cap_max > /sys/class/drm/card0/device/hwmon/hwmon0/power1_cap

  # modify power-play table
  upp set --write \
    smc_pptable/SocketPowerLimitAc/0=$POWER_CAP_W \
    smc_pptable/SocketPowerLimitDc/0=$POWER_CAP_W

  # set closest power cap
  POWER_CAP_MAX=$(cat /sys/class/drm/card0/device/hwmon/hwmon0/power1_cap_max)
  NEW_POWER_CAP=$(( $POWER_CAP < $POWER_CAP_MAX ? $POWER_CAP : $POWER_CAP_MAX ))
  echo $NEW_POWER_CAP > /sys/class/drm/card0/device/hwmon/hwmon0/power1_cap
else
  # set exact power cap
  echo $POWER_CAP  > /sys/class/drm/card0/device/hwmon/hwmon0/power1_cap
fi

# set manual perf. level
echo "manual" > /sys/class/drm/card0/device/power_dpm_force_performance_level

#
# GPU Core
#
echo "s 0 2450" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 1 2550" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "vo -12" > /sys/class/drm/card0/device/pp_od_clk_voltage

#
# GPU MEM
#
echo "m 1 1075" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "c" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "3" > /sys/class/drm/card0/device/pp_dpm_mclk

#
# CPU OC
#
cpupower frequency-set -g performance > /dev/null

#
# Print Status
#
SCALING_DRV=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver)
SCALING_GOV=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
POWER_CAP=$(cat /sys/class/drm/card0/device/hwmon/hwmon0/power1_cap)
POWER_CAP_MAX=$(cat /sys/class/drm/card0/device/hwmon/hwmon0/power1_cap_max)

echo "CPU scaling driver:   $SCALING_DRV"
echo "CPU scaling governor: $SCALING_GOV"
echo "GPU power cap:        $POWER_CAP"
echo "GPU power cap max.:   $POWER_CAP_MAX"
echo ""
echo "GPU pp_od_clk_voltage table"
echo "---------------------------"

Fix for system crash when changing soft power-play-tables

If you run into this issue you need to build a patched kernel - see this issue.

Best way to do this under arch is to first clone the kernel you want to use, e.g.: git clone https://gitlab.manjaro.org/packages/core/linux61.

Then build the kernel with makepkg -s -f (this fetches kernel source and applies distro-specific changes).

When you finished building, modify the kernel source under src/linux61. (The file to patch there is drivers/gpu/drm/amd/pm/amdgpu_dpm.c).

Then build again with makepkg -s -f -e so only your changes are rebuilt.

Lastly, install your custom kernel with e.g.:

sudo pacman -U linux61-6.1.0-1-x86_64.pkg.tar.zst linux61-headers-6.1.0-1-x86_64.pkg.tar.zst

Ryzen tweaks

Install zenpower3 so power usage can be monitored

sudo pacman -S zenpower3-dkms

Blacklist k10temp driver:

/etc/modprobe.d/k10temp-blacklist.conf

blacklist k10temp

Enable amd-pstate driver

amd-pstate driver is compiled into the kernel since kernel >= 6.1.

To enable it append the following to GRUB_CMDLINE_LINUX_DEFAULT:

/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="... amd_pstate=passive"

Then update grub:

sudo update-grub

After rebooting verify that amd-pstate is active:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver

Set CPU to highest frequence

Switch to the performance scheduler (you might want to add this to your overclocking/undervolting script):

sudo cpupower frequency-set -g performance

Performance overlay

Install mangohud package.

Then enable mangohud in lutris settings - either per game or per runner (systemwide).

Modify configuration to your liking, here is an example:

$HOME/.config/MangoHud/MangoHud.conf

### MangoHud configuration file
### Uncomment any options you wish to enable. Default options are left uncommented
### Use some_parameter=0 to disable a parameter (only works with on/off parameters)
### Everything below can be used / overridden with the environment variable MANGOHUD_CONFIG instead

################ PERFORMANCE #################

### Limit the application FPS. Comma-separated list of one or more FPS values (e.g. 0,30,60). 0 means unlimited (unless VSynced)
fps_limit=140,0

### VSync [0-3] 0 = adaptive; 1 = off; 2 = mailbox; 3 = on
vsync=1

### OpenGL VSync [0-N] 0 = off; >=1 = wait for N v-blanks, N > 1 acts as a FPS limiter (FPS = display refresh rate / N)
gl_vsync=0

################### VISUAL ###################

### Legacy layout
legacy_layout=false

### Display custom centered text, useful for a header
# custom_text_center=

### Display the current system time
# time

### Time formatting examples
# time_format=%H:%M
# time_format=[ %T %F ]
# time_format=%X # locally formatted time, because of limited glyph range, missing characters may show as '?' (e.g. Japanese)

### Display MangoHud version
# version

### Display the current CPU information
cpu_stats
cpu_temp
cpu_power
cpu_text=5900X
cpu_mhz
# cpu_load_change
# cpu_load_value=60,90
# cpu_load_color=39F900,FDFD09,B22222

### Display the current CPU load & frequency for each core
# core_load
# core_load_change

### Display custom text
#custom_text=CPU Mhz
### Display output of Bash command in next column
#exec=cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
#exec=cat /sys/class/drm/card0/device/hwmon/hwmon2/in0_input

### Display IO read and write for the app (not system)
# io_stats
# io_read
# io_write

### Display system ram / swap space usage
ram
# swap

### Display the current GPU information
gpu_stats
gpu_temp
gpu_core_clock
gpu_mem_clock
gpu_power
gpu_text=6900XT
# gpu_load_change
# gpu_load_value=60,90
# gpu_load_color=39F900,FDFD09,B22222

### Display system vram usage
vram

### Display per process memory usage
## Show resident memory and other types, if enabled
# procmem
# procmem_shared
# procmem_virt

### Display battery information
# battery
# battery_icon

### Display FPS and frametime
fps
# fps_sampling_period=500
# fps_color_change
# fps_value=30,60
# fps_color=B22222,FDFD09,39F900
frametime

### Display miscellaneus information
engine_version
gpu_name
vulkan_driver
wine

### Display loaded MangoHud architecture
# arch

### Display GameMode / vkBasalt running status
gamemode
# vkbasalt

### Display current FPS limit
# show_fps_limit

### Display the current resolution
resolution

### Display the frametime line graph
frame_timing
# histogram

### Display media player metadata
# media_player
# media_player_name=spotify
## Format metadata, lines are delimited by ; (wip)
# media_player_format={title};{artist};{album}
# media_player_format=Track:;{title};By:;{artist};From:;{album}

### Change the hud font size
# font_size=24
# font_scale=1.0
# font_size_text=24
# font_scale_media_player=0.55
# no_small_font

### Change default font (set location to TTF/OTF file)
## Set font for the whole hud
# font_file=

## Set font only for text like media player metadata
# font_file_text=

## Set font glyph ranges. Defaults to Latin-only. Don't forget to set font_file/font_file_text to font that supports these
## Probably don't enable all at once because of memory usage and hardware limits concerns
## If you experience crashes or text is just squares, reduce glyph range or reduce font size
# font_glyph_ranges=korean,chinese,chinese_simplified,japanese,cyrillic,thai,vietnamese,latin_ext_a,latin_ext_b

### Change the hud position
# position=top-left

### Change the corner roundness
# round_corners=

### Disable / hide the hud by default
# no_display

### Hud position offset
# offset_x=
# offset_y=

### Hud dimensions
# width=
# height=
# table_columns=
# cellpadding_y=

### Hud transparency / alpha
# background_alpha=0.5
# alpha=

### Color customization
# text_color=FFFFFF
# gpu_color=2E9762
# cpu_color=2E97CB
# vram_color=AD64C1
# ram_color=C26693
# engine_color=EB5B5B
# io_color=A491D3
# frametime_color=00FF00
# background_color=020202
# media_player_color=FFFFFF
# wine_color=EB5B5B
# battery_color=FF9078

### Specify GPU with PCI bus ID for AMDGPU and NVML stats
### Set to 'domain:bus:slot.function'
# pci_dev=0:0a:0.0

### Blacklist
# blacklist=

################ WORKAROUNDS #################
### Options starting with "gl_*" are for OpenGL
### Specify what to use for getting display size. Options are "viewport", "scissorbox" or disabled. Defaults to using glXQueryDrawable
# gl_size_query=viewport

### (Re)bind given framebuffer before MangoHud gets drawn. Helps with Crusader Kings III
# gl_bind_framebuffer=0

### Don't swap origin if using GL_UPPER_LEFT. Helps with Ryujinx
# gl_dont_flip=1

################ INTERACTION #################

### Change toggle keybinds for the hud & logging
toggle_hud=Shift_L+F12
toggle_fps_limit=Shift_L+F11
toggle_logging=Shift_L+F10
# reload_cfg=Shift_L+F4
# upload_log=Shift_L+F3

#################### LOG #####################
### Automatically start the log after X seconds
# autostart_log=1
### Set amount of time in seconds that the logging will run for
# log_duration=
### Change the default log interval, 100 is default
# log_interval=100
### Set location of the output files (required for logging)
# output_folder=/home/<USERNAME>/mangologs
### Permit uploading logs directly to FlightlessMango.com
# permit_upload=1
### Define a '+'-separated list of percentiles shown in the benchmark results
### Use "AVG" to get a mean average. Default percentiles are 97+AVG+1+0.1
# benchmark_percentiles=97,AVG,1,0.1

Game Mode

Install gamemode package:

sudo pacman -S gamemode

Then enable gamemode in lutris settings - either per game or per runner (systemwide).

Allow your wheel user to edit process priorities by adding the following to the limits config:

/etc/security/limits.conf

@wheel           -       nice           -20

Modify configuration to your liking, here is an example:

$HOME/.config/gamemode.ini

[general]
; The reaper thread will check every 5 seconds for exited clients, for config file changes, and for the CPU/iGPU power balance
reaper_freq=5

; The desired governor is used when entering GameMode instead of "performance"
desiredgov=performance
; The default governor is used when leaving GameMode instead of restoring the original value
;defaultgov=powersave

; The iGPU desired governor is used when the integrated GPU is under heavy load
igpu_desiredgov=powersave
; Threshold to use to decide when the integrated GPU is under heavy load.
; This is a ratio of iGPU Watts / CPU Watts which is used to determine when the
; integraged GPU is under heavy enough load to justify switching to
; igpu_desiredgov.  Set this to -1 to disable all iGPU checking and always
; use desiredgov for games.
#igpu_power_threshold=0.3

; GameMode can change the scheduler policy to SCHED_ISO on kernels which support it (currently
; not supported by upstream kernels). Can be set to "auto", "on" or "off". "auto" will enable
; with 4 or more CPU cores. "on" will always enable. Defaults to "off".
softrealtime=on

; GameMode can renice game processes. You can put any value between 0 and 20 here, the value
; will be negated and applied as a nice value (0 means no change). Defaults to 0.
renice=8

; By default, GameMode adjusts the iopriority of clients to BE/0, you can put any value
; between 0 and 7 here (with 0 being highest priority), or one of the special values
; "off" (to disable) or "reset" (to restore Linux default behavior based on CPU priority),
; currently, only the best-effort class is supported thus you cannot set it here
ioprio=0

; Sets whether gamemode will inhibit the screensaver when active
; Defaults to 1
inhibit_screensaver=1

[filter]
; If "whitelist" entry has a value(s)
; gamemode will reject anything not in the whitelist
;whitelist=RiseOfTheTombRaider

; Gamemode will always reject anything in the blacklist
;blacklist=HalfLife3
;    glxgears

[gpu]
; Here Be Dragons!
; Warning: Use these settings at your own risk
; Any damage to hardware incurred due to this feature is your responsibility and yours alone
; It is also highly recommended you try these settings out first manually to find the sweet spots

; Setting this to the keyphrase "accept-responsibility" will allow gamemode to apply GPU optimisations such as overclocks
;apply_gpu_optimisations=0

; The DRM device number on the system (usually 0), ie. the number in /sys/class/drm/card0/
;gpu_device=0

; Nvidia specific settings
; Requires the coolbits extension activated in nvidia-xconfig
; This corresponds to the desired GPUPowerMizerMode
; "Adaptive"=0 "Prefer Maximum Performance"=1 and "Auto"=2
; See NV_CTRL_GPU_POWER_MIZER_MODE and friends in https://github.com/NVIDIA/nvidia-settings/blob/master/src/libXNVCtrl/NVCtrl.h
;nv_powermizer_mode=1

; These will modify the core and mem clocks of the highest perf state in the Nvidia PowerMizer
; They are measured as Mhz offsets from the baseline, 0 will reset values to default, -1 or unset will not modify values
;nv_core_clock_mhz_offset=0
;nv_mem_clock_mhz_offset=0

; AMD specific settings
; Requires a relatively up to date AMDGPU kernel module
; See: https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#gpu-power-thermal-controls-and-monitoring
; It is also highly recommended you use lm-sensors (or other available tools) to verify card temperatures
; This corresponds to power_dpm_force_performance_level, "manual" is not supported for now
;amd_performance_level=high

[supervisor]
; This section controls the new gamemode functions gamemode_request_start_for and gamemode_request_end_for
; The whilelist and blacklist control which supervisor programs are allowed to make the above requests
;supervisor_whitelist=
;supervisor_blacklist=

; In case you want to allow a supervisor to take full control of gamemode, this option can be set
; This will only allow gamemode clients to be registered by using the above functions by a supervisor client
;require_supervisor=0

[custom]
; Custom scripts (executed using the shell) when gamemode starts and ends
;start=notify-send "GameMode started"
;    /home/me/bin/stop_ethmining.sh

;end=notify-send "GameMode ended"
;    /home/me/bin/start_ethmining.sh

; Timeout for scripts (seconds). Scripts will be killed if they do not complete within this time.
;script_timeout=10

OBS Settings for recording with Radeon Cards

Note: Before you can use VAAPI you need to sudo pacman -S mesa-git i.e. switch to the AUR version of mesa which has hardware encoding enabled.

Video:

  • Base Resolution: 2560x1440 (monitor resolution)
  • Output Resolution: 2560x1440 (so youtube doesn't compress as much)
  • Downscale Filter: your choice

Output (Recording):

  • Type: Standard
  • Encoder: FFMPEG VAAPI H.264
  • Format: mkv
  • Rescale Output: disabled
  • Profile: Constrained Baseline
  • Level: 4.0
  • Rate Control: CBR
  • Bitrate: 25000
  • Keyframe Interval: 0 (Auto)

OBS Settings for recording with CPU

Video:

  • Base Resolution: 2560x1440 (monitor resolution)
  • Output Resolution: 2560x1440 (so youtube doesn't compress as much)
  • Downscale Filter: your choice

Output (Recording):

  • Type: Standard
  • Encoder: x264
  • Format: mkv
  • Rescale Output: disabled
  • Rate Control
    • Option 1:
      • CRF: 18 (you may need to go higher if your CPUcan't handle it)
    • Option 2:
      • CBR: 16384 Kbps (you may need to go lower if your CPU can't handle it)
  • Keyframe Interval: 0 (Auto)
  • CPU usage Preset: veryfast
  • Profile: none
  • Tune: none (got to "zerolatency" if your CPU can't handle it but it will cause frame skips)

Devices

B550 nct6687 temp. sensor

This fixes nct6687 driver not working properly (cannot set PWM values) in case you have it on your board.

Install nct6687-dkms-git package (need AUR packages enabled):

sudo pacman -S nct6687-dkms-git

Blacklist nct6683 driver:

/etc/modprobe.d/nct6683-blacklist.conf

blacklist nct6683

XBox Wireless Receiver

Install xone-dkms package from AUR.

Then reload udev rules:

sudo udevadm control --reload-rules

sudo udevadm trigger

Useful commands

Just for quick reference, might need to install some packages first:

# show display info
xrandr --prop

# show driver info
vulkaninfo --summary

# show GPU utilization
radeontop

# test if freesync is working
vrrtest

# check if reBAR is enabled
AMD_DEBUG=info glxinfo | grep vram
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment