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 [2019/05/22 17:55] – [Realtime Priority Permissions] Sean Rhonenotes:wine [2024/01/02 08:36] – [RT Priority Permissions] 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
  
-  * 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' 
-  * ''WINEESYNC=1''+export PROTON_FORCE_LARGE_ADDRESS_AWARE='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'
  
-===== Others =====+# VKD3D 
 +export VKD3D_CONFIG='dxr'
  
-  * :!: Anything set here will be system-wide+# Proton-GE 
 +export DXVK_ASYNC='1'
  
-  sudo -e '/etc/profile.d/wine-tweaks.sh'+# 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=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'
  
-  NIR_VALIDATE=0+# NVAPI 
 +export DXVK_ENABLE_NVAPI='1' 
 +export PROTON_ENABLE_NVAPI='1'</code>
  
-  DXVK_HUD=full+===== Other =====
  
-  DXVK_LOG_LEVEL=none+<code>__GL_YIELD='USLEEP'</code> 
 +<code>__GL_SYNC_TO_VBLANK='0'</code> 
 +<code>__GL_LOG_MAX_ANISO='4'</code> 
 +<code>__GL_MaxFramesAllowed='1'</code>
  
-  R600_DEBUG=nir,unsafemath +====== Permissions ======
- +
-===== 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?   * :!: 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 76: Line 88:
 ===== 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 82: Line 94:
 ==== Verify ==== ==== Verify ====
  
-  * Default: ''4096'' +  * Default: ''524288'' 
-  * Esync: ''1048576''+  * Ideal: ''1048576''
  
   ulimit -Hn   ulimit -Hn
 +
/var/www/wiki/data/pages/notes/wine.txt · Last modified: 2024/02/09 10:56 by Sean Rhone