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
Last revisionBoth sides next revision
notes:wine [2023/01/08 09:26] – test Sean Rhonenotes:wine [2024/04/29 14:57] – [Environment Variables] Sean Rhone
Line 1: Line 1:
-====== Information ======+====== Environment Variables ======
  
-  * Environment Variables primarily useful for Wine+  * 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 
 +  * ''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))
  
-====== Environment Variables ======+====== Global ======
  
-  * https://docs.mesa3d.org/envvars.html +  * Last updated2024/04/29
-  * https://github.com/HansKristian-Work/vkd3d-proton#environment-variables+
  
-====== Global Settings ======+  sudo -e '/etc/profile.d/99-wine-tweaks.sh'
  
-  sudo -e '/etc/profile.d/wine-tweaks.sh'+<code> 
 +# Logging 
 +export DXVK_LOG_LEVEL='none' 
 +export WINEDEBUG='-all' 
 +export VKD3D_DEBUG='none' 
 +export VKD3D_SHADER_DEBUG='none' 
 + 
 +# End</code> 
 + 
 +===== Tweaks ===== 
 + 
 +  * :!: 2023/12/12: ''STAGING_WRITECOPY=1'' broke Wine 
 +  * 2024/02/08: fd esync errors were noticed and have been at random times in the past; disable esync 
 +  * :!: 2024/04/29: This hasn't been tested in a while due to various issues and no notable benefit 
 + 
 +  sudo -e '/etc/profile.d/99-wine-tweaks.sh'
  
 <code> <code>
Line 16: Line 33:
 export STAGING_RT_PRIORITY_SERVER='90' export STAGING_RT_PRIORITY_SERVER='90'
 export STAGING_RT_PRIORITY_BASE='90' export STAGING_RT_PRIORITY_BASE='90'
-export STAGING_WRITECOPY='1' 
 export STAGING_SHARED_MEMORY='1' export STAGING_SHARED_MEMORY='1'
 +#export STAGING_WRITECOPY='1'
  
 # Large Address Aware # Large Address Aware
Line 27: Line 44:
 export WINEFSYNC='1' export WINEFSYNC='1'
 export WINEFSYNC_FUTEX2='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' 
- 
-export RADV_DEBUG='forcecompress' 
-export RADV_PERFTEST='nggc,ngg_streamout,rt,sam,dccmsaa' 
-export RADV_PERFTEST='nv_ms,ext_ms,gpl' 
-export RADV_PERFTEST='cswave32,gewave32,pswave32' 
- 
-export AMD_DEBUG='w32ge,w32ps,w32cs' 
-export AMD_DEBUG='nggc' 
  
 # VKD3D # VKD3D
-export VKD3D_CONFIG='dxr,dxr11'+export VKD3D_CONFIG='dxr'
  
 # Proton-GE # Proton-GE
Line 60: Line 59:
 # End</code> # End</code>
  
-====== More Environment Variables ====== +====== NVIDIA ======
- +
-===== NVIDIA ===== +
- +
-  * https://download.nvidia.com/XFree86/Linux-x86_64/515.57/README/openglenvvariables.html+
  
 <code> <code>
Line 79: Line 74:
 export PROTON_ENABLE_NVAPI='1'</code> export PROTON_ENABLE_NVAPI='1'</code>
  
-==== Other ====+===== Other =====
  
 <code>__GL_YIELD='USLEEP'</code> <code>__GL_YIELD='USLEEP'</code>
Line 85: Line 80:
 <code>__GL_LOG_MAX_ANISO='4'</code> <code>__GL_LOG_MAX_ANISO='4'</code>
 <code>__GL_MaxFramesAllowed='1'</code> <code>__GL_MaxFramesAllowed='1'</code>
- 
-===== Mesa ===== 
- 
-<code>mesa_glthread='true'</code> 
-<code>MESA_NO_ERROR='1'</code> 
- 
-==== Debug ==== 
- 
-<code>MESA_DEBUG='1'</code> 
-<code>LIBGL_DEBUG='verbose'</code> 
- 
-===== HUDs ===== 
- 
-<code>MANGOHUD='1' MANGOHUD_CONFIG='full'</code> 
-<code>MANGOHUD='1' MANGOHUD_CONFIG='full' %command%</code> 
-<code>MANGOHUD='1' MANGOHUD_CONFIG='full,font_scale=2.0'</code> 
-<code>DXVK_HUD='full'</code> 
- 
-===== Intel ===== 
- 
-**** 
- 
-<code>export INTEL_COMPUTE_CLASS='true'</code> 
- 
-===== RADV ===== 
- 
-<code>RADV_FORCE_VRS='2x2'</code> 
- 
-===== AMDVLK ===== 
- 
-  * Requires [[https://github.com/GPUOpen-Drivers/AMDVLK|AMDVLK]] 
-  * :!: This forces AMDVLK to be used instead of RADV 
-  * See [[https://wiki.archlinux.org/title/Vulkan|Vulkan - ArchWiki]] 
- 
-<code> 
-# 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'</code> 
  
 ====== Permissions ====== ====== Permissions ======
Line 132: Line 88:
   * :!: TODO: Apparently you can use a username instead of a group?   * :!: TODO: Apparently you can use a username instead of a group?
  
-==== Common Distros ====+  * :!: This has not been researched since 2019 
 + 
 +===== RT Priority Permissions =====
  
-  * :!: This makes the assumption that the current user is also part of a group with the same name ((this is default action on Fedora Workstation)) +  * :!: 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))
-  * openSUSE Tumbleweed puts users in the ''users'' group, and this command will need modifying+
   * Verify groups with the ''groups'' command   * Verify groups with the ''groups'' command
  
   groups   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'+  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 ==== ==== Verify ====
  
   * Default: ''0''   * Default: ''0''
-  * Esync: ''94''+  * Ideal: ''94''
  
   ulimit -r   ulimit -r
Line 151: Line 108:
 ===== Increase Open Files Limit ===== ===== Increase Open Files Limit =====
  
-  * For Wine to be able to use the ''WINEESYNC'' environment variable+  * For Wine to be able to use the ''WINEESYNC'' environment variable optimally
  
   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'   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'
Line 158: Line 115:
  
   * Default: ''524288''   * Default: ''524288''
-  * Esync: ''1048576''+  * Ideal: ''1048576''
  
   ulimit -Hn   ulimit -Hn
  
/var/www/wiki/data/pages/notes/wine.txt · Last modified: 2024/04/29 14:59 by Sean Rhone