User Tools

Site Tools


notes:wine

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
notes:wine [2022/05/20 20:31] Sean Rhonenotes:wine [2024/02/09 10:56] Sean Rhone
Line 1: Line 1:
-====== Wine ======+====== Environment Variables ======
  
-===== Notes =====+  * 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/535.54.03/README/openglenvvariables.html
  
-  * Staging 4.6+ includes Esync patches +====== Global ======
-  * Gallium Nine Standalone can be used for D3D9-to-Gallium +
-  * D9VK can be used for D3D9-to-Vulkan +
-  * DXVK can be used for D3D10-11-to-Vulkan +
-  * Wine has some ability to do D3D12-to-Vulkan via it's own method (libd3dvk?)+
  
-====== Environment Variables ======+  * :!: 2023/12/12: ''STAGING_WRITECOPY=1'' breaks Wine 
 +  * 2024/02/08: fd esync errors were noticed and have been at random times in the past; disable esync
  
-  * https://wiki.winehq.org/Wine-Staging_Environment_Variables +  sudo -e '/etc/profile.d/99-wine-tweaks.sh'
-  * https://lists.freedesktop.org/archives/mesa-dev/2018-November/209240.html +
-  * https://mesa3d.org/envvars.html+
  
-===== Default =====+<code> 
 +# Staging 
 +export STAGING_RT_PRIORITY_SERVER='90' 
 +export STAGING_RT_PRIORITY_BASE='90' 
 +#export STAGING_WRITECOPY='1' 
 +export STAGING_SHARED_MEMORY='1'
  
-  * ''STAGING_SHARED_MEMORY=1'+# Large Address Aware 
-  * ''STAGING_WRITECOPY=1'+export WINE_LARGE_ADDRESS_AWARE='1' 
-  * ''STAGING_RT_PRIORITY_SERVER=90'+export PROTON_FORCE_LARGE_ADDRESS_AWARE='1'
-  * ''WINEESYNC=1''+
  
-  echo -e "export STAGING_SHARED_MEMORY=1\nexport STAGING_WRITECOPY=1\nexport STAGING_RT_PRIORITY_SERVER=90\nexport WINEESYNC=1" | sudo tee '/etc/profile.d/wine-tweaks.sh'/dev/null&& cat '/etc/profile.d/wine-tweaks.sh'+# Esync and Fsync 
 +#export WINEESYNC='1' 
 +export WINEFSYNC='1' 
 +export WINEFSYNC_FUTEX2='1'
  
-  sudo -e '/etc/profile.d/wine-tweaks.sh'+# VKD3D 
 +export VKD3D_CONFIG='dxr'
  
-===== Other =====+# Proton-GE 
 +export DXVK_ASYNC='1'
  
-==== Graphics ====+# Logging 
 +export DXVK_LOG_LEVEL='none' 
 +export WINEDEBUG='-all' 
 +export VKD3D_DEBUG='none' 
 +export VKD3D_SHADER_DEBUG='none'
  
-  PBA_ENABLE=1+# End</code>
  
-  mesa_glthread=true+====== NVIDIA ======
  
-  AMD_DEBUG=unsafemath,sisched,gisel,alwayspd+<code> 
 +# 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'
  
-  R600_DEBUG=nir,unsafemath+# NVAPI 
 +export DXVK_ENABLE_NVAPI='1' 
 +export PROTON_ENABLE_NVAPI='1'</code>
  
-  MESA_LOADER_DRIVER_OVERRIDE=iris +===== Other =====
- +
-=== RADV == +
- +
-  * https://docs.mesa3d.org/envvars.html#radv-driver-environment-variables+
  
-  RADV_DEBUG=info,startup+<code>__GL_YIELD='USLEEP'</code> 
 +<code>__GL_SYNC_TO_VBLANK='0'</code> 
 +<code>__GL_LOG_MAX_ANISO='4'</code> 
 +<code>__GL_MaxFramesAllowed='1'</code>
  
-  RADV_PERFTEST=cswave32,gewave32,nggc,sam,rt+====== Permissions ======
  
-=== Other Driver Options ===+  * 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?
  
-  AMD_DEBUG=help glxgears+===== RT Priority Permissions =====
  
-  R600_DEBUG=help glxgears+  * :!: 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
  
-=== Error Validation ===+  groups
  
-  NIR_VALIDATE=0+  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'
  
-  MESA_NO_ERROR=1+==== Verify ====
  
-==== Logging ====+  * Default: ''0'' 
 +  * Ideal: ''94''
  
-  WINEDEBUG=all+  ulimit -r
  
-  DXVK_LOG_LEVEL=none+===== Increase Open Files Limit =====
  
-==== HUD ====+  * For Wine to be able to use the ''WINEESYNC'' environment variable optimally
  
-  DXVK_HUD=full+  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'
  
-  GALLIUM_HUD='cpu0+cpu1+cpu2+cpu3;GPU-load,requested-VRAM+VRAM-usage;fps'+==== Verify ====
  
-  GALLIUM_HUD='cpu0+cpu1+cpu2+cpu3;cpu4+cpu5+cpu6+cpu7;cpu8+cpu9+cpu10+cpu11;cpu12+cpu13+cpu14+cpu15;GPU-load,requested-VRAM+VRAM-usage;fps'+  * Default: ''524288'' 
 +  * Ideal: ''1048576''
  
 +  ulimit -Hn
  
/var/www/wiki/data/pages/notes/wine.txt · Last modified: 2024/04/29 14:59 by Sean Rhone