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 [2019/05/21 21:10] Sean Rhonenotes:wine [2024/02/09 10:56] (current) 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 ======
-  * Staging 4.6 paired with Gallium Nine Standalone potentially means no need for unofficial Wine packages for now+
  
-===== F29 =====+  * :!: 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
  
-  * :!: Needed to grab Staging 4.6 currently +  sudo -e '/etc/profile.d/99-wine-tweaks.sh'
-  * https://koji.fedoraproject.org/koji/packageinfo?packageID=4106+
  
-  sudo dnf install wine --enablerepo='updates-testing'+<code> 
 +# Staging 
 +export STAGING_RT_PRIORITY_SERVER='90' 
 +export STAGING_RT_PRIORITY_BASE='90' 
 +#export STAGING_WRITECOPY='1' 
 +export STAGING_SHARED_MEMORY='1'
  
-====== Environment Variables ======+# Large Address Aware 
 +export WINE_LARGE_ADDRESS_AWARE='1' 
 +export PROTON_FORCE_LARGE_ADDRESS_AWARE='1'
  
-  * https://github.com/wine-compholio/wine-staging/wiki/Environment-Variables +# Esync and Fsync 
-  * https://lists.freedesktop.org/archives/mesa-dev/2018-November/209240.html+#export WINEESYNC='1' 
 +export WINEFSYNC='1' 
 +export WINEFSYNC_FUTEX2='1'
  
-===== Default =====+# VKD3D 
 +export VKD3D_CONFIG='dxr'
  
-  * ''STAGING_SHARED_MEMORY=1'' +# Proton-GE 
-  * ''STAGING_WRITECOPY=1'+export DXVK_ASYNC='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'+# Logging 
 +export DXVK_LOG_LEVEL='none' 
 +export WINEDEBUG='-all' 
 +export VKD3D_DEBUG='none' 
 +export VKD3D_SHADER_DEBUG='none'
  
-===== Others =====+# End</code>
  
-  * :!: Anything set here will be system-wide+====== NVIDIA ======
  
-  sudo -e '/etc/profile.d/wine-tweaks.sh'+<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'
  
-  PBA_ENABLE=1+# NVAPI 
 +export DXVK_ENABLE_NVAPI='1
 +export PROTON_ENABLE_NVAPI='1'</code>
  
-  mesa_glthread=true+===== Other =====
  
-  AMD_DEBUG=alwayspd+<code>__GL_YIELD='USLEEP'</code> 
 +<code>__GL_SYNC_TO_VBLANK='0'</code> 
 +<code>__GL_LOG_MAX_ANISO='4'</code> 
 +<code>__GL_MaxFramesAllowed='1'</code>
  
-  NIR_VALIDATE=+====== Permissions ======
- +
-  DXVK_HUD=full +
- +
-  DXVK_LOG_LEVEL=none +
- +
-  R600_DEBUG=nir,unsafemath +
- +
-===== Realtime Priority Permissions =====+
  
   * For Wine to be able to use the ''STAGING_RT_PRIORITY_SERVER'' environment variable   * For Wine to be able to use the ''STAGING_RT_PRIORITY_SERVER'' environment variable
-  * Allows ''rtprio'' up to ''90'' and ''nice'' up to ''10''+  * Allows ''rtprio'' up to ''94'' and ''nice'' up to ''10''
   * May also allow Realtime priorities to be used with other applications   * May also allow Realtime priorities to be used with other applications
 +  * :!: TODO: Apparently you can use a username instead of a group?
  
-==== Common Distros ====+===== RT Priority Permissions =====
  
-  * :!: This makes the assumption that the current user is also part of a group with the same name +  * :!: 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)) 
-  * This is default behavior on Fedora Workstation+  * Verify groups with the ''groups'' command
  
   groups   groups
  
-  echo -e "@CHANGEME - rtprio 90\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 -'/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'
- +
-==== openSUSE Tumbleweed ==== +
- +
-  * oS defaults to putting users in the ''users'' group +
- +
-  groups +
- +
-  echo -e "@CHANGEME - rtprio 90\n@CHANGEME - nice -10" | sudo tee '/etc/security/limits.d/99-realtime.conf' > '/dev/null' && sudo sed -i 's/'CHANGEME'/'users'/g' '/etc/security/limits.d/99-realtime.conf' && cat '/etc/security/limits.d/99-realtime.conf'+
  
 ==== Verify ==== ==== Verify ====
  
   * Default: ''0''   * Default: ''0''
-  * Esync: ''90''+  * Ideal: ''94''
  
   ulimit -r   ulimit -r
Line 78: Line 89:
 ===== 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 84: Line 95:
 ==== Verify ==== ==== Verify ====
  
-  * Default: ''4096'' +  * Default: ''524288'' 
-  * Esync: ''1048576''+  * Ideal: ''1048576''
  
   ulimit -Hn   ulimit -Hn
 +
/var/www/wiki/data/attic/notes/wine.1558487447.txt.gz · Last modified: 2019/05/21 21:10 by Sean Rhone