====== TODOs ====== * https://github.com/Winetricks/winetricks/blob/master/files/verbs/all.txt ===== Vulkan ===== * Might not work for OpenGL apps winetricks renderer=vulkan ===== Wayland ===== * https://gitlab.winehq.org/wine/wine/-/releases/wine-9.0 * https://forum.winehq.org/viewtopic.php?p=142727#p142727 * https://www.collabora.com/news-and-blog/news-and-events/wine-on-wayland-a-year-in-review-and-a-look-ahead.html * https://gitlab.winehq.org/wine/wine/-/merge_requests/5177 * 2024/09/26: WoW 3.3.5 and D2 work but with no visible benefits DISPLAY= ====== Environment Variables ====== * Mesa: https://docs.mesa3d.org/envvars.html * VKD3D: https://github.com/HansKristian-Work/vkd3d-proton#environment-variables * NVIDIA: https://download.nvidia.com/XFree86/Linux-x86_64/560.35.03/README/openglenvvariables.html * ''vblank_mode'' values: https://github.com/intel/external-mesa/blob/master/src/util/xmlpool/t_options.h#L213 ((if this becomes unavailable, it seems to be a source file for a DRI Conf tool)) ====== Global ====== * Last updated: 2024/09/26 sudo -e '/etc/profile.d/99-wine-tweaks.sh' # Large Address Aware export WINE_LARGE_ADDRESS_AWARE='1' # Logging export DXVK_LOG_LEVEL='none' export WINEDEBUG='-all' export VKD3D_DEBUG='none' export VKD3D_SHADER_DEBUG='none' # End ====== Tweaks ====== * :!: 2024/08/26: Esync or Staging tweaks are suspected to have caused FPS issues and a crash with [[games;linux;wine;titan_quest_anniversary|Titan Quest AE DX11]] * 2024/09/26: Unused and untested (basically everything below this line) # Staging export STAGING_RT_PRIORITY_SERVER='90' export STAGING_RT_PRIORITY_BASE='90' export STAGING_SHARED_MEMORY='1' export STAGING_WRITECOPY='1' # Large Address Aware export PROTON_FORCE_LARGE_ADDRESS_AWARE='1' # Esync and Fsync export WINEESYNC='1' export WINEFSYNC='1' export WINEFSYNC_FUTEX2='1' # VKD3D export VKD3D_CONFIG='dxr' # Proton-GE export DXVK_ASYNC='1' ====== NVIDIA ====== * :!: Hasn't been researched since 2022 # NVIDIA export __GL_ALLOW_UNOFFICIAL_PROTOCOL='1' export __GL_SHADER_DISK_CACHE='1' export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP='1' export __GL_IGNORE_GLSL_EXT_REQS='1' export __NV_SIGNED_LOAD_CHECK='none' export __GL_THREADED_OPTIMIZATIONS='1' # NVAPI export DXVK_ENABLE_NVAPI='1' export PROTON_ENABLE_NVAPI='1' ===== Other ===== __GL_YIELD='USLEEP' __GL_SYNC_TO_VBLANK='0' __GL_LOG_MAX_ANISO='4' __GL_MaxFramesAllowed='1' ====== Permissions ====== * For Wine to be able to use the ''STAGING_RT_PRIORITY_SERVER'' environment variable * Allows ''rtprio'' up to ''94'' and ''nice'' up to ''10'' * May also allow Realtime priorities to be used with other applications * :!: TODO: Apparently you can use a username instead of a group? * :!: This hasn't been researched since 2019 * 2024/09/26: Unused and untested ===== RT Priority Permissions ===== * :!: This makes the assumption that the current user is also part of a group with the same name ((2023: This is the case for Fedora 39, openSUSE TW, and Ubuntu 23.10)) * Verify groups with the ''groups'' command * Last tested: 2024/08/25 on [[linux;distros;fedora_workstation_gnome|Fedora 40]] groups sudo mkdir -p '/etc/security/limits.d' && echo -e "@CHANGEME - rtprio 94\n@CHANGEME - nice -10" | sudo tee '/etc/security/limits.d/99-realtime.conf' > '/dev/null' && sudo sed -i 's/'CHANGEME'/'$USER'/g' '/etc/security/limits.d/99-realtime.conf' && cat '/etc/security/limits.d/99-realtime.conf' ==== Verify ==== * Default: ''0'' * Ideal: ''94'' ulimit -r ===== Increase Open Files Limit ===== * For Wine to be able to use the ''WINEESYNC'' environment variable optimally * Last tested: 2024/08/25 on [[linux;distros;fedora_workstation_gnome|Fedora 40]] sudo mkdir -p '/etc/systemd/system.conf.d' '/etc/systemd/user.conf.d' && echo -e "[Manager]\nDefaultLimitNOFILE=1048576" | sudo tee '/etc/systemd/system.conf.d/nofile.conf' > '/dev/null' && echo -e "[Manager]\nDefaultLimitNOFILE=1048576" | sudo tee '/etc/systemd/user.conf.d/nofile.conf' > '/dev/null' && cat '/etc/systemd/system.conf.d/nofile.conf' '/etc/systemd/user.conf.d/nofile.conf' ==== Verify ==== * Default: ''524288'' * Ideal: ''1048576'' ulimit -Hn ====== DXVK ====== * 2024/09/26: Unused and untested sudo -e '/etc/profile.d/wine-tweaks.sh' #export mesa_glthread=true export MESA_NO_ERROR=1 export DXVK_LOG_LEVEL=none export DXVK_ASYNC=1 export DXVK_CONFIG_FILE=~/.config/dxvk/dxvk.conf mkdir -p ~/'.config/dxvk' && nano ~/'.config/dxvk/dxvk.conf' #dxvk.hud = full dxvk.enableAsync = true #d3d9.numBackBuffers = 3 #dxgi.numBackBuffers = 3 #d3d11.samplerAnisotropy = 16 #d3d9.samplerAnisotropy = 16 #dxgi.maxFrameLatency = 1 #d3d9.maxFrameLatency = 1 dxgi.nvapiHack = false