Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
notes:wine [2019/05/21 21:10] – Sean Rhone | notes:wine [2022/05/20 20:31] – Sean Rhone |
---|
===== Notes ===== | ===== Notes ===== |
| |
* Staging 4.6 includes Esync patches | * Staging 4.6+ includes Esync patches |
* Staging 4.6 paired with Gallium Nine Standalone potentially means no need for unofficial Wine packages for now | * Gallium Nine Standalone can be used for D3D9-to-Gallium |
| * D9VK can be used for D3D9-to-Vulkan |
===== F29 ===== | * DXVK can be used for D3D10-11-to-Vulkan |
| * Wine has some ability to do D3D12-to-Vulkan via it's own method (libd3dvk?) |
* :!: Needed to grab Staging 4.6 currently | |
* https://koji.fedoraproject.org/koji/packageinfo?packageID=4106 | |
| |
sudo dnf install wine --enablerepo='updates-testing' | |
| |
====== Environment Variables ====== | ====== Environment Variables ====== |
| |
* https://github.com/wine-compholio/wine-staging/wiki/Environment-Variables | * https://wiki.winehq.org/Wine-Staging_Environment_Variables |
* https://lists.freedesktop.org/archives/mesa-dev/2018-November/209240.html | * https://lists.freedesktop.org/archives/mesa-dev/2018-November/209240.html |
| * https://mesa3d.org/envvars.html |
| |
===== Default ===== | ===== Default ===== |
* ''STAGING_SHARED_MEMORY=1'' | * ''STAGING_SHARED_MEMORY=1'' |
* ''STAGING_WRITECOPY=1'' | * ''STAGING_WRITECOPY=1'' |
| * ''STAGING_RT_PRIORITY_SERVER=90'' |
* ''WINEESYNC=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' | 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' |
| |
===== Others ===== | sudo -e '/etc/profile.d/wine-tweaks.sh' |
| |
* :!: Anything set here will be system-wide | ===== Other ===== |
| |
sudo -e '/etc/profile.d/wine-tweaks.sh' | ==== Graphics ==== |
| |
PBA_ENABLE=1 | PBA_ENABLE=1 |
mesa_glthread=true | mesa_glthread=true |
| |
AMD_DEBUG=alwayspd | AMD_DEBUG=unsafemath,sisched,gisel,alwayspd |
| |
NIR_VALIDATE=0 | R600_DEBUG=nir,unsafemath |
| |
DXVK_HUD=full | MESA_LOADER_DRIVER_OVERRIDE=iris |
| |
DXVK_LOG_LEVEL=none | === RADV == |
| |
R600_DEBUG=nir,unsafemath | * https://docs.mesa3d.org/envvars.html#radv-driver-environment-variables |
| |
===== Realtime Priority Permissions ===== | RADV_DEBUG=info,startup |
| |
* For Wine to be able to use the ''STAGING_RT_PRIORITY_SERVER'' environment variable | RADV_PERFTEST=cswave32,gewave32,nggc,sam,rt |
* Allows ''rtprio'' up to ''90'' and ''nice'' up to ''10'' | |
* May also allow Realtime priorities to be used with other applications | |
| |
==== Common Distros ==== | === Other Driver Options === |
| |
* :!: This makes the assumption that the current user is also part of a group with the same name | AMD_DEBUG=help glxgears |
* This is default behavior on Fedora Workstation | |
| |
groups | R600_DEBUG=help glxgears |
| |
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' | === Error Validation === |
| |
==== openSUSE Tumbleweed ==== | NIR_VALIDATE=0 |
| |
* oS defaults to putting users in the ''users'' group | MESA_NO_ERROR=1 |
| |
groups | ==== Logging ==== |
| |
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' | WINEDEBUG=all |
| |
==== Verify ==== | DXVK_LOG_LEVEL=none |
| |
* Default: ''0'' | ==== HUD ==== |
* Esync: ''90'' | |
| |
ulimit -r | DXVK_HUD=full |
| |
===== 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' | GALLIUM_HUD='cpu0+cpu1+cpu2+cpu3;GPU-load,requested-VRAM+VRAM-usage;fps' |
| |
==== Verify ==== | 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' |
| |
* Default: ''4096'' | |
* Esync: ''1048576'' | |
| |
ulimit -Hn | |