notes:wine
Table of Contents
Information
- Environment Variables primarily useful for Wine
Environment Variables
Global Settings
sudo -e '/etc/profile.d/99-wine-tweaks.sh'
# Staging export STAGING_RT_PRIORITY_SERVER='90' export STAGING_RT_PRIORITY_BASE='90' export STAGING_WRITECOPY='1' export STAGING_SHARED_MEMORY='1' # Large Address Aware export WINE_LARGE_ADDRESS_AWARE='1' export PROTON_FORCE_LARGE_ADDRESS_AWARE='1' # Esync and Fsync export WINEESYNC='1' export WINEFSYNC='1' export WINEFSYNC_FUTEX2='1' # Intel MKL for AMD CPU export MKL_DEBUG_CPU_TYPE='5' export MKL_ENABLE_INSTRUCTIONS='AVX2' # Mesa export VAAPI_MPEG4_ENABLED='1' # VKD3D export VKD3D_CONFIG='dxr,dxr11' # Proton-GE export DXVK_ASYNC='1' # Logging export DXVK_LOG_LEVEL='none' export WINEDEBUG='-all' export VKD3D_DEBUG='none' export VKD3D_SHADER_DEBUG='none' # End
More Environment Variables
NVIDIA
# 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'
R600
R600_DEBUG='nirsb,nir,unsafemath'
Mesa
mesa_glthread='true'
MESA_NO_ERROR='1'
Debug
MESA_DEBUG='1'
LIBGL_DEBUG='verbose'
HUDs
MANGOHUD='1' MANGOHUD_CONFIG='full'
MANGOHUD='1' MANGOHUD_CONFIG='full' %command%
MANGOHUD='1' MANGOHUD_CONFIG='full,font_scale=2.0'
DXVK_HUD='full'
Intel
export INTEL_COMPUTE_CLASS='true'
RADV
- This is likely Vulkan for modern AMD GPUs
- 2023/01/08:
RADV_PERFTEST=gpl
caused Dota 2 to crash instantly on startup with Mesa 22.3.2
RADV_DEBUG='forcecompress'
RADV_PERFTEST='cswave32,gewave32,pswave32,dccmsaa,ngg_streamout,nggc,sam,rt,nv_ms'
RADV_TEX_ANISO='16'
RADV_FORCE_VRS='2x2'
RADV_PERFTEST='gpl'
RadeonSI
- This is likely OpenGL for AMD GPUs
- 2023/01/08:
dccstore
caused GNOME to have a black wallpaper with Mesa 22.3.2
AMD_DEBUG='dccstore'
AMD_DEBUG='w32ge,w32ps,w32psdiscard,w32cs,nggc'
Zink
TODO: Figure out if one or both of these are needed
MESA_LOADER_DRIVER_OVERRIDE='zink'
GALLIUM_DRIVER='zink'
AMDVLK
- Requires AMDVLK
This forces AMDVLK to be used instead of RADV
# AMDVLK #export AMD_VULKAN_ICD='RADV' export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1='1' export VK_ICD_FILENAMES='/etc/vulkan/icd.d/amd_icd64.json' export AMDVLK_ENABLE_DEVELOPING_EXT='all'
Permissions
- For Wine to be able to use the
STAGING_RT_PRIORITY_SERVER
environment variable - Allows
rtprio
up to94
andnice
up to10
- May also allow Realtime priorities to be used with other applications
TODO: Apparently you can use a username instead of a group?
Common Distros
This makes the assumption that the current user is also part of a group with the same name 1)
- openSUSE Tumbleweed puts users in the
users
group, and this command will need modifying - Verify groups with the
groups
command
groups
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
- Esync:
94
ulimit -r
Increase Open Files Limit
- For Wine to be able to use the
WINEESYNC
environment variable
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
- Esync:
1048576
ulimit -Hn
1)
this is default action on Fedora Workstation
/var/www/wiki/data/pages/notes/wine.txt · Last modified: 2023/03/12 20:50 by Sean Rhone