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
notes:wine [2023/01/08 11:41] Sean Rhonenotes:wine [2024/04/29 14:59] (current) – [NVIDIA] 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' 
-export mesa_glthread='true' 
-export MESA_NO_ERROR='1' 
- 
-# RADV 
-export AMD_VULKAN_ICD='RADV' 
-export AMD_DEBUG='w32ge,w32ps,w32psdiscard,w32cs,nggc' 
-export RADV_DEBUG='forcecompress' 
-export RADV_PERFTEST='cswave32,gewave32,pswave32,dccmsaa,ngg_streamout,nggc,sam,rt,nv_ms' 
-export RADV_TEX_ANISO='16' 
  
 # VKD3D # VKD3D
-export VKD3D_CONFIG='dxr,dxr11'+export VKD3D_CONFIG='dxr'
  
 # Proton-GE # Proton-GE
Line 58: Line 59:
 # End</code> # End</code>
  
-====== More Environment Variables ======+====== NVIDIA ======
  
-===== NVIDIA ===== +  * :!: Hasn't been researched since 2022
- +
-  https://download.nvidia.com/XFree86/Linux-x86_64/515.57/README/openglenvvariables.html+
  
 <code> <code>
Line 77: Line 76:
 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 83: Line 82:
 <code>__GL_LOG_MAX_ANISO='4'</code> <code>__GL_LOG_MAX_ANISO='4'</code>
 <code>__GL_MaxFramesAllowed='1'</code> <code>__GL_MaxFramesAllowed='1'</code>
- 
-===== R600 ===== 
- 
-  * https://docs.mesa3d.org/envvars.html#envvar-R600_DEBUG 
- 
-<code> 
-# R600 
-export R600_DEBUG='nirsb,nir,unsafemath'</code> 
- 
-===== Mesa ===== 
- 
-==== 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> 
- 
-==== Issues ==== 
- 
-  * 2023/01/08: ''gpl'' caused Dota 2 to crash instantly on startup with Mesa 22.3.2 
- 
-<code>RADV_PERFTEST='gpl'</code> 
- 
-===== AMD ===== 
- 
-==== Issues ==== 
- 
-  * 2023/01/08: ''dccstore'' caused GNOME to have a black wallpaper with Mesa 22.3.2 
- 
-<code>AMD_DEBUG='dccstore'</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 149: Line 90:
   * :!: 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 168: Line 110:
 ===== 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 175: Line 117:
  
   * Default: ''524288''   * Default: ''524288''
-  * Esync: ''1048576''+  * Ideal: ''1048576''
  
   ulimit -Hn   ulimit -Hn
  
/var/www/wiki/data/attic/notes/wine.1673196119.txt.gz · Last modified: 2023/01/08 11:41 by Sean Rhone