User Tools

Site Tools


notes:wine

This is an old revision of the document!


Information

  • Environment Variables primarily useful for Wine

Environment Variables

Global Settings

sudo -e '/etc/profile.d/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'

# RADV
export AMD_VULKAN_ICD='RADV'

RADV_DEBUG='forcecompress'
export RADV_PERFTEST='nggc,ngg_streamout,rt,sam,dccmsaa,nv_ms,ext_ms,gpl,cswave32,gewave32,pswave32'
export AMD_DEBUG='w32ge,w32ps,w32cs,nggc'

# 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'

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

RADV_FORCE_VRS='2x2'

AMDVLK

# AMDVLK
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 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?

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/attic/notes/wine.1672935097.txt.gz · Last modified: 2023/01/05 11:11 by Sean Rhone