User Tools

Site Tools


notes:wine

This is an old revision of the document!


Wine

Notes

  • Staging 4.6+ includes Esync patches
  • 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

Default

  • STAGING_SHARED_MEMORY=1
  • STAGING_WRITECOPY=1
  • STAGING_RT_PRIORITY_SERVER=90
  • 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'
sudo -e '/etc/profile.d/wine-tweaks.sh'

Other

Graphics

PBA_ENABLE=1
mesa_glthread=true
AMD_DEBUG=unsafemath,sisched,gisel,alwayspd
R600_DEBUG=nir,unsafemath

Other Driver Options

AMD_DEBUG=help glxgears
R600_DEBUG=help glxgears

Error Validation

NIR_VALIDATE=0
MESA_NO_ERROR=1

Logging

WINEDEBUG=all
DXVK_LOG_LEVEL=none

HUD

DXVK_HUD=full
GALLIUM_HUD='cpu0+cpu1+cpu2+cpu3;GPU-load,requested-VRAM+VRAM-usage;fps'
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'

Realtime Priority Permissions

  • For Wine to be able to use the STAGING_RT_PRIORITY_SERVER environment variable
  • Allows rtprio up to 90 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?

Common Distros

  • :!: This makes the assumption that the current user is also part of a group with the same name 1)
  • openSUSE Tumbleweed puts users in the users group, and this command will need modifying
  • Verify groups with the groups command
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'

Verify

  • Default: 0
  • Esync: 90
ulimit -r

Increase Open Files Limit

  • For Wine to be able to use the WINEESYNC environment variable
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'

Verify

  • Default: 524288
  • Esync: 1048576
ulimit -Hn
1)
this is default action on Fedora Workstation
/var/www/wiki/data/attic/notes/wine.1566620764.txt.gz · Last modified: 2019/08/24 00:26 by Sean Rhone