Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] dxvk enabled? Optimize game performance of wine
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gamers & Players
View previous topic :: View next topic  
Author Message
Elleni
Veteran
Veteran


Joined: 23 May 2006
Posts: 1268

PostPosted: Sun Oct 14, 2018 2:46 am    Post subject: [solved] dxvk enabled? Optimize game performance of wine Reply with quote

My gpu is Radeon RX580 so I have amdgpu os driver installed.

I have done the following:

added vulkan useflag and recompiled world, and added dxvk by winetricks. Is that enough? And which of the useflags mentioned in the vulkan wiki are necessary? Should I also add vulkanrt and/or other dlls from winetricks? And is vkd3d useflag for wine needed too? Come from adding it, as I discovered this useflag only now.

Now starting WoW with following:
Code:
env DXVK_HUD=fps,info DXVK_FAKE_DX10_SUPPORT=1 env WINEDEBUG=-all STAGING_SHARED_MEMORY=1 STAGING_WRITECOPY=1 nice -20 wine Wow.exe
I can see the following in the console:

Code:
info:  Game: Wow.exe
info:  DXVK: v0.71
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 6.0.1):
info:    Driver: 18.2.2
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  Enabled device extensions:
info:    VK_EXT_shader_viewport_index_layer
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_dedicated_allocation
info:    VK_KHR_descriptor_update_template
info:    VK_KHR_get_memory_requirements2
info:    VK_KHR_image_format_list
info:    VK_KHR_maintenance1
info:    VK_KHR_maintenance2
info:    VK_KHR_sampler_mirror_clamp_to_edge
info:    VK_KHR_shader_draw_parameters
info:    VK_KHR_swapchain
info:  Game: Wow.exe
info:  DXVK: v0.71
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 6.0.1):
info:    Driver: 18.2.2
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Game: Wow.exe
info:  DXVK: v0.71
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 6.0.1):
info:    Driver: 18.2.2
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Game: Wow.exe
info:  DXVK: v0.71
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 6.0.1):
info:    Driver: 18.2.2
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Game: Wow.exe
info:  DXVK: v0.71
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 6.0.1):
info:    Driver: 18.2.2
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Game: Wow.exe
info:  DXVK: v0.71
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 6.0.1):
info:    Driver: 18.2.2
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  Enabled device extensions:
info:    VK_EXT_shader_viewport_index_layer
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_dedicated_allocation
info:    VK_KHR_descriptor_update_template
info:    VK_KHR_get_memory_requirements2
info:    VK_KHR_image_format_list
info:    VK_KHR_maintenance1
info:    VK_KHR_maintenance2
info:    VK_KHR_sampler_mirror_clamp_to_edge
info:    VK_KHR_shader_draw_parameters
info:    VK_KHR_swapchain
warn:  DXGI: MakeWindowAssociation: Ignoring flags
info:  Game: Wow.exe
info:  DXVK: v0.71
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 6.0.1):
info:    Driver: 18.2.2
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Game: Wow.exe
info:  DXVK: v0.71
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 6.0.1):
info:    Driver: 18.2.2
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Game: Wow.exe
info:  DXVK: v0.71
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 6.0.1):
info:    Driver: 18.2.2
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  DxgiVkPresenter: Recreating swap chain:
  Format:       VK_FORMAT_B8G8R8A8_UNORM
  Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
  Buffer size:  1920x1080



/etc/portage/make.conf
Code:
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -march=znver1"
#Debug CFLAGS
#CFLAGS="-march=native -O1 -pipe -ggdb -Wall -g"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
CPU_FLAGS_X86="mmx mmxext smp sse sse2 sse3 sse4_1 ssse3"
USE="aes avx avx2 egl elogind fma3 d3d9 dri3 ffmpeg frei0r gnutls icu ios -libav libinput llvm lm_sensors mmx mmxext mtp ocr openal opencl openmax osmesa pulseaudio realtime s3tc scanner spice sse sse2 sse3 sse4_1 sse4_2 sse4a ssh ssl ssse3 staging theora vaapi vdpau vhost-net vkd3d vpx vulkan wayland webrtc-aec xa xvmc"
ABI_X86="64 32"
ACCEPT_KEYWORDS="amd64"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
MAKEOPTS="-j13"
VIDEO_CARDS="amdgpu radeonsi virgl"
ALSA_CARDS="hda-intel"
INPUT_DEVICES="evdev"
LINGUAS="de de_DE el en fr fr_FR it tr"
L10N="de el en fr it tr"
# FEATURES="candy clean-logs"
FEATURES="candy -xattr"
# FEATURES="buildpkg candy -collision-protect -protect-owned"
SANE_BACKENDS="pixma"
PORTDIR_OVERLAY=/usr/local/portage
# XFCE_PLUGINS="clock power multiload-nandhp trash"
# PORTAGE_TMPDIR="/tmp"
# EMERGE_DEFAULT_OPTS="--quiet-build=y"
# PORT_LOGDIR="/var/log/portage"
# EMERGE_DEFAULT_OPTS="--with-bdeps=y --jobs=3 --load-average=2"
QEMU_USER_TARGETS="i386 x86_64"
QEMU_SOFTMMU_TARGETS="i386 x86_64"
#GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo/"


Last edited by Elleni on Tue Oct 13, 2020 10:40 pm; edited 3 times in total
Back to top
View user's profile Send private message
Ralphred
Guru
Guru


Joined: 31 Dec 2013
Posts: 470

PostPosted: Sun Oct 14, 2018 8:32 am    Post subject: Reply with quote

Code:
DXVK_FAKE_DX10_SUPPORT=1
stopped working around version v0.65 of dxvk, anything other than the hud is controlled via a conf file now, and past v0.70 is kinda moot as the dx10 translator is built in.
There need to be patches applied before >=0.90 changes will have any benefit, but I'd suggest upgrading to llvm-7 and turning on the pipe compiler in the config file (should be supported with polaris10 and mesa 18.2.x).
Back to top
View user's profile Send private message
Elleni
Veteran
Veteran


Joined: 23 May 2006
Posts: 1268

PostPosted: Sun Oct 14, 2018 11:40 am    Post subject: Reply with quote

Thank you for your reply. So I will put sys-devel/llvm in the package.accept_keywords to upgrade to unstable llvm, but howto turn on pipe compiler useflag for llvm package? Would this be done by adding a line "sys-devel/llvm llvm.conf" in /etc/portage/package.env and then create a file llvm.conf in /etc/portage/env/ containing the line: EXTRA_GN="pipe" and then compile llvm?

Edit: After having done so an emerge world requests to "upgrade" llvm to version 6:

Code:
emerge world -uDNav --with-bdeps=y && revdep-rebuild -i && emerge --depclean && etc-update
These are the packages that would be merged, in order:

Calculating dependencies                                          ... done!
[ebuild     U ~] sys-devel/llvm-6.0.1-r2:6::gentoo [6.0.1:6::gentoo] USE="libffi ncurses xml -debug -doc -gold -libedit -test -xar" ABI_X86="32 (64) (-x32)" LLVM_TARGETS="AMDGPU BPF NVPTX (X86) -AArch64 -ARM -Hexagon -Lanai -MSP430 -Mips -PowerPC -Sparc -SystemZ -XCore" 0 KiB

Total: 1 package (1 upgrade), Size of downloads: 0 KiB

So I am not sure, wether v7 version will be used.

I must admit, I dont really understand much on the details of how my gpu is working and what is needed to optimize wine for gaming. Thats why I would appreciate very much, if someone could enlighten me, by answering the following questions:

Vulkan support:
From the wiki, I can see the following useflags.

From which of them my Box (amd ryzen 5 1600 cpu, radeon rx580 gpu) could benefit?

- layers and wayland for package vulkan-loader

classic, d3d9, dri3, egl, gallium, gbm, gles1, gles2, llvm, opencl, osmesa, pax_kernel, pic, unwind, vaapi, valgrind, vdpau, vulkan, wayland, xa, xvmc

The bold ones I have activated atm. Are there any obsolete or missing ones ?

Should vulkan-tools be installed too, and how could I check if everything for vulkan-support is up and running?


https://wiki.gentoo.org/wiki/DXVK
Is it (still) necessary to download from git sources and build from that source or does it suffice to emerge latest winetricks and issue: winetricks dxvk? (I have only done the latter)

I have winetricks list-installed (where dxvk 0.65 are the latest supported aparently)
Code:
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20180815 - sha256sum: 9343f9174146c0fa4d34e18e05269ae772a45ba78e3d8786829fa21895f6f7f4 with wine-3.18 and WINEARCH=win64
corefonts
msls31
w_workaround_wine_bug-25648
ie8
dxvk


Speaking of winetricks. Should I also install vulkanrt or vulkansdk or is this handeled by vulkan useflag on my box, thus unnecessary?

And finally is vkd3d useflag on wine recommended for this setup?

Following the useflags, that my wine versions are built with:
emerge wine-any -pv
Code:

These are the packages that would be merged, in order:

Calculating dependencies                                          ... done!
[ebuild   R   ~] app-emulation/wine-any-3.18:3.18::gentoo  USE="X alsa cups d3d9 fontconfig gecko jpeg lcms ldap mono mp3 ncurses nls openal opencl* opengl osmesa perl png pulseaudio realtime run-exes scanner sdl ssl staging threads truetype udev udisks vaapi vkd3d vulkan xcomposite xml -capi -custom-cflags -dos (-ffmpeg) -gphoto2 -gsm -gssapi -gstreamer -kerberos -netapi -odbc -oss -pcap -pipelight -prelink -samba (-selinux) -test -themes -v4l -xinerama" ABI_X86="32 64 (-x32)" 0 KiB


Thanks alot if anyone could help me understand better.

my emerge --info:
Code:
Portage 2.3.49 (python 3.6.5-final-0, default/linux/amd64/17.0/desktop/plasma, gcc-7.3.0, glibc-2.26-r7, 4.18.13-gentoo x86_64)
=================================================================
System uname: Linux-4.18.13-gentoo-x86_64-AMD_Ryzen_5_1600_Six-Core_Processor-with-gentoo-2.4.1
KiB Swap:   33554428 total,  33554428 free
Timestamp of repository gentoo: Sun, 14 Oct 2018 11:00:01 +0000
Head commit of repository gentoo: f5e8572fb5453380fab4c2cd26bb3026f850c196
sh bash 4.4_p12
ld GNU ld (Gentoo 2.30 p5) 2.30.0
app-shells/bash:          4.4_p12::gentoo
dev-lang/perl:            5.24.3-r1::gentoo
dev-lang/python:          2.7.15::gentoo, 3.6.5::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.29::dantrell-gnome
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.15.1-r2::gentoo
sys-devel/binutils:       2.30-r4::gentoo
sys-devel/gcc:            7.3.0-r3::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.26-r7::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts:
    sync-rsync-verify-metamanifest: yes

seden
    location: /var/lib/layman/seden
    masters: gentoo
    priority: 50

dantrell-gnome-3-30
    location: /var/lib/layman/dantrell-gnome-3-30
    masters: gentoo
    priority: 100

test
    location: /usr/local/portage
    masters: gentoo
    priority: 100

dantrell-gnome
    location: /var/lib/layman/dantrell-gnome
    masters: gentoo
    priority: 150

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=znver1"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo"
CXXFLAGS="-O2 -march=znver1"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs candy config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_CH.UTF-8"
LC_ALL="de_CH.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de de_DE el en fr fr_FR it tr"
MAKEOPTS="-j13"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi activities aes alsa amd64 avx avx2 berkdb bluetooth branding bzip2 cairo cdda cdr cli colord crypt cups cxx d3d9 dbus declarative dri dri3 dts dvd dvdr eds egl elogind emboss encode evo exif fam ffmpeg flac fma3 fortran frei0r gdbm gif glamor gnome gnome-keyring gnome-online-accounts gnutls gpm gtk gtk3 gtkstyle iconv icu introspection ios ipv6 jpeg kde kipi kwallet lcms ldap libinput libnotify libsecret libtirpc llvm lm_sensors mad mmx mmxext mng mp3 mp4 mpeg mtp multilib nautilus ncurses nls nptl ocr ogg openal opencl opengl openmax openmp osmesa pam pango pcre pdf phonon plasma png policykit ppds pulseaudio qml qt5 readline realtime s3tc scanner sdl seccomp semantic-desktop spell spice sse sse2 sse3 sse4_1 sse4_2 sse4a ssh ssl ssse3 staging startup-notification svg tcpd theora tiff tracker truetype udev udisks unicode upower usb vaapi vdpau vhost-net vkd3d vorbis vpx vulkan wayland webrtc-aec widgets wxwidgets x264 xa xattr xcb xcomposite xml xv xvid xvmc zlib" ABI_X86="64 32" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon plan sheets stage words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext smp sse sse2 sse3 sse4_1 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" L10N="de el en fr it tr" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-1" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby23" SANE_BACKENDS="pixma" USERLAND="GNU" VIDEO_CARDS="amdgpu radeonsi virgl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Back to top
View user's profile Send private message
Ralphred
Guru
Guru


Joined: 31 Dec 2013
Posts: 470

PostPosted: Mon Oct 15, 2018 7:30 pm    Post subject: Reply with quote

The only llvm-7 version at the moment is git, so it needs a * in keywords, but it's slotted so can co-exists with 6. That said it's been behaving so well I ditched my :6 version.

This used to be in the example dxvk.conf file, can't see it anymore, but it does work AFAIK
Code:
# Use asynchronous pipeline compilation with DISABLE_OPTIMIZATION_BIT.
# This may reduce shader compiler stutter. Currently only supported on
# RADV. May cause issues.
#
# Supported values: True, False

 dxvk.useAsyncPipeCompiler = True


My wine compiles with
Code:
[ebuild   R   ~] app-emulation/wine-staging-3.17:3.17::gentoo  USE="X alsa capi cups fontconfig gecko gphoto2 gsm gssapi jpeg kerberos lcms ldap mono mp3 ncurses netapi nls odbc opencl opengl osmesa pcap perl pipelight png pulseaudio realtime run-exes samba sdl ssl (staging) threads truetype udev udisks vaapi vkd3d vulkan xcomposite xinerama xml -custom-cflags -dos (-ffmpeg) -gstreamer -openal -oss -prelink -scanner (-selinux) -test -themes -v4l" ABI_X86="32 64 (-x32)" 0 KiB

I think I could easily use
Code:
-cups -gssapi -kerberos -ldap -vaapi
to tidy it up a bit, but it's a very old system and if it ain't broke...

Below is a snippet from the the script I use to install dxvk (and ultimately wow/overwatch). It symlinks both the 32 and 64 bit dlls (like the old installer script from dxvk), and leaves the originals in place for re-use next time I create a clean prefix, I've added the few lines used to link the dxvk dlls to the specific wow versions (wow.exe wowb.exe wowt.exe) I don't like using the global override.
Code:
#!/bin/bash

##Alterable variables
export WINEARCH="win64"
HUD_opts=devinfo,fps,frametimes,memory
DXVK_VERSION="0.81"

##Paths and programs
BATTLE_NET_URL="https://eu.battle.net/download/getInstaller?os=win&installer=Battle.net-Setup.exe"
GAME_PATH="${HOME}/Games"
WINE64="/usr/bin/wine64"
WINE="/usr/bin/wine64"
WINECFG="/usr/bin/winecfg"
TRICKS="/usr/bin/winetricks"
WINESUFFIX=$(${WINE} --version|sed -e 's/.*-//' -e 's/ .*//')
export WINEPREFIX="${HOME}/.wine-${WINESUFFIX}"

DXVK_PATH="${GAME_PATH}/dxvk-${DXVK_VERSION}"

##Do not alter below this line
export PBA_DISABLE=1
export DXVK_CONFIG_FILE=~/.dxvk.conf
export DXVK_HUD=""

   echo "Running winetricks on bottle..."
        ##Create the bottle and disable crash dialog
      $TRICKS win10 nocrashdialog fontsmooth=rgb sound=pulse

      ##Check for DXVK
      echo "Checking for DXVK..."
      if [ -f "${GAME_PATH}/dxvk-${DXVK_VERSION}/x64/d3d11.dll" ]; then
        echo "Existing DXVK found..."
        else
        cd /tmp
        wget "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VERSION}/dxvk-${DXVK_VERSION}.tar.gz"
        tar -xvf "dxvk-${DXVK_VERSION}.tar.gz" -C ${GAME_PATH}
        rm -f "dxvk-${DXVK_VERSION}.tar.gz"
        cd ${OLDWD}
      fi

      ##"Install" DXVK dlls
    echo "Linking DXVK dlls..."

      ln -sf "${GAME_PATH}/dxvk-${DXVK_VERSION}/x64/d3d11.dll" "${WINEPREFIX}/drive_c/windows/system32/d3d11.dll"
      ln -sf "${GAME_PATH}/dxvk-${DXVK_VERSION}/x64/dxgi.dll" "${WINEPREFIX}/drive_c/windows/system32/dxgi.dll"
      ln -sf "${GAME_PATH}/dxvk-${DXVK_VERSION}/x64/d3d10.dll" "${WINEPREFIX}/drive_c/windows/system32/d3d10.dll"
      ln -sf "${GAME_PATH}/dxvk-${DXVK_VERSION}/x64/d3d10_1.dll" "${WINEPREFIX}/drive_c/windows/system32/d3d10_1.dll"
      ln -sf "${GAME_PATH}/dxvk-${DXVK_VERSION}/x64/d3d10core.dll" "${WINEPREFIX}/drive_c/windows/system32/d3d10core.dll"

      ln -sf "${GAME_PATH}/dxvk-${DXVK_VERSION}/x32/d3d11.dll" "${WINEPREFIX}/drive_c/windows/syswow64/d3d11.dll"
      ln -sf "${GAME_PATH}/dxvk-${DXVK_VERSION}/x32/dxgi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/dxgi.dll"
      ln -sf "${GAME_PATH}/dxvk-${DXVK_VERSION}/x32/d3d10.dll" "${WINEPREFIX}/drive_c/windows/syswow64/d3d10.dll"
      ln -sf "${GAME_PATH}/dxvk-${DXVK_VERSION}/x32/d3d10_1.dll" "${WINEPREFIX}/drive_c/windows/syswow64/d3d10_1.dll"
      ln -sf "${GAME_PATH}/dxvk-${DXVK_VERSION}/x32/d3d10core.dll" "${WINEPREFIX}/drive_c/windows/syswow64/d3d10core.dll"

   ##Setup dll overrides
      echo "Enabling DXVK dll overrides..."
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\Wow.exe\DllOverrides' /v d3d11 /d native /f
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\Wow.exe\DllOverrides' /v dxgi /d native /f
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\Wow.exe\DllOverrides' /v d3d10 /d native /f
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\Wow.exe\DllOverrides' /v d3d10_1 /d native /f
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\Wow.exe\DllOverrides' /v d3d10core /d native /f

      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\WowB.exe\DllOverrides' /v d3d11 /d native /f
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\WowB.exe\DllOverrides' /v dxgi /d native /f
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\WowB.exe\DllOverrides' /v d3d10 /d native /f
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\WowB.exe\DllOverrides' /v d3d10_1 /d native /f
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\WowB.exe\DllOverrides' /v d3d10core /d native /f

      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\WowT.exe\DllOverrides' /v d3d11 /d native /f
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\WowT.exe\DllOverrides' /v dxgi /d native /f
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\WowT.exe\DllOverrides' /v d3d10 /d native /f
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\WowT.exe\DllOverrides' /v d3d10_1 /d native /f
      ${WINE64} reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\WowT.exe\DllOverrides' /v d3d10core /d native /f


I use this 'cos it's just less messing around, new wine or dxvk version, change the DXVK_VERSION= and re-run it for a clean prefix ready to accept installs.
Back to top
View user's profile Send private message
Elleni
Veteran
Veteran


Joined: 23 May 2006
Posts: 1268

PostPosted: Tue Nov 13, 2018 9:07 pm    Post subject: Reply with quote

Hey Ralphred,

I come from installing dxvk0.92 by winetricks --force dxvk.

Starting game with:
env DXVK_HUD=fps,info DXVK_FAKE_DX10_SUPPORT=1 env WINEDEBUG=-all STAGING_SHARED_MEMORY=1 STAGING_WRITECOPY=1 nice -20 wine Wow.exe

Works. Do I understand you correctly that DXVK_FAKE_DX10_SUPPORT=1 is obsolete and not needed to start wow with dxvk? And should I enable dxvk.useAsyncPipeCompiler = True by adding it to above starting options, I dont see a dxvk.conf anyways.

Code:

info:  Game: Wow.exe
info:  DXVK: v0.92
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 7.0.0):
info:    Driver: 18.2.4
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  Enabled device extensions:
info:    VK_EXT_shader_viewport_index_layer
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_dedicated_allocation
info:    VK_KHR_descriptor_update_template
info:    VK_KHR_get_memory_requirements2
info:    VK_KHR_image_format_list
info:    VK_KHR_maintenance1
info:    VK_KHR_maintenance2
info:    VK_KHR_sampler_mirror_clamp_to_edge
info:    VK_KHR_shader_draw_parameters
info:    VK_KHR_swapchain
info:  DXVK: Read 14 valid state cache entries
info:  DXVK: Using 9 compiler threads
info:  Game: Wow.exe
info:  DXVK: v0.92
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 7.0.0):
info:    Driver: 18.2.4
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Game: Wow.exe
info:  DXVK: v0.92
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 7.0.0):
info:    Driver: 18.2.4
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Game: Wow.exe
info:  DXVK: v0.92
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 7.0.0):
info:    Driver: 18.2.4
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Game: Wow.exe
info:  DXVK: v0.92
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 7.0.0):
info:    Driver: 18.2.4
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Game: Wow.exe
info:  DXVK: v0.92
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 7.0.0):
info:    Driver: 18.2.4
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  Enabled device extensions:
info:    VK_EXT_shader_viewport_index_layer
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_dedicated_allocation
info:    VK_KHR_descriptor_update_template
info:    VK_KHR_get_memory_requirements2
info:    VK_KHR_image_format_list
info:    VK_KHR_maintenance1
info:    VK_KHR_maintenance2
info:    VK_KHR_sampler_mirror_clamp_to_edge
info:    VK_KHR_shader_draw_parameters
info:    VK_KHR_swapchain
info:  DXVK: Read 14 valid state cache entries
info:  DXVK: Using 9 compiler threads
warn:  DXGI: MakeWindowAssociation: Ignoring flags
info:  Game: Wow.exe
info:  DXVK: v0.92
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 7.0.0):
info:    Driver: 18.2.4
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Game: Wow.exe
info:  DXVK: v0.92
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 7.0.0):
info:    Driver: 18.2.4
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Game: Wow.exe
info:  DXVK: v0.92
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 7.0.0):
info:    Driver: 18.2.4
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7936 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8192 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT


Anything more that I can do to squeeze the rest of performance from my system ? :lol:

Not that I would complain, can easily play with settings maxed out in WoW with a stutter from time to time, but I am generally happy with the performance of the box.
Back to top
View user's profile Send private message
Ralphred
Guru
Guru


Joined: 31 Dec 2013
Posts: 470

PostPosted: Wed Nov 14, 2018 11:46 pm    Post subject: Reply with quote

Yeah, DXVK_FAKE_DX10_SUPPORT is obsolete, it has actual dx10 support now.
Once you have built up the shader cache the stuttering tends to go away, and you get less (it seems) if you run w/o the HUD too.
You get less stutter if you limit the fps too, not drastically limit, just see where it sits in a high stress place, and limit it to about 80-90% of that.

The config file for DXVK is totally up to you to create, the wiki on it is quite complete.
Back to top
View user's profile Send private message
Elleni
Veteran
Veteran


Joined: 23 May 2006
Posts: 1268

PostPosted: Sat Nov 17, 2018 10:01 pm    Post subject: Reply with quote

thank you :)
Back to top
View user's profile Send private message
Elleni
Veteran
Veteran


Joined: 23 May 2006
Posts: 1268

PostPosted: Tue Oct 13, 2020 5:34 pm    Post subject: Reply with quote

Since some time has passed since I logged into wow, I am uncertain what the current state of wine and directx/vulkan stuff is. I remember that one could install things with winetricks, and/or and useflags vulkan and vkd3d in make.conf.

Can please someone tell me how one is supposed to launchgames like wow with wine currently to get most performance out of it?

I have wine-staging 5.10-r1 installed, which seems not to be in the tree anymore, but I hesitate to upgrade to the latest version as I read that wine versions >5.10 does not work anymore for wow?

I also see that I have a bunch of dll entries in winecfg (and windows version set to win 8.1), that I equally don't know if they are obsolete or still needed.

I don't remember what I had installed in winetricks, but when launching it I see the following options checked, so I apparently had them activated:
ie8, mfc42, msls31, msxml4, vb6run

with the following settings, I can start battle net exe and launch the game and loginto it. In ingame Graphic settings I see Graphics API DirectX 11 enabled, but no DirextX12 available, just DirectX11 legacy as alternative, so I wonder if that is normal or if there is room for optimization like directX12 or something.

env VKD3D_DEBUG="none" WINEDEBUG=-all STAGING_SHARED_MEMORY=1 STAGING_WRITECOPY=1 wine64 '/home/username/.wine/drive_c/Program Files (x86)/Battle.net/Battle.net.exe' -d3d12

The performance seems quite ok, sitting around in orgrimmar with ~70-80 fps with Graphics Quality set to recommended 7/10 and still ~50-60 with 10/10

Thanks in advance for sharing some inputs to help me optimize my wine configuration.

I could maybe create a new wine prefix in order to start with a new configuration while preserving the existing working one, and maybe I also should create a binary package of actual wine before upgrading, but before touching a running system I thought, I'd ask here from some clarification and read through documentations before proceeding. :)
Back to top
View user's profile Send private message
Ionen
Developer
Developer


Joined: 06 Dec 2018
Posts: 2702

PostPosted: Tue Oct 13, 2020 5:47 pm    Post subject: Reply with quote

Elleni wrote:
I have wine-staging 5.10-r1 installed, which seems not to be in the tree anymore, but I hesitate to upgrade to the latest version as I read that wine versions >5.10 does not work anymore for wow?
They're "normally" fine as far as I know but in gentoo we have non-PE/mingw builds due to bug #736657, and that notably affect many blizzard games with the problem getting worse as wine keeps relying on this more and more as versions are going up. I don't play wow to test but this bug mentions it (I can't really help with the best way to run wow anyway).

That aside, if you need older wine versions, use the ::wine overlay (same maintainer as ::gentoo's wine ebuilds). You can also install multiple at once given they're slotted and use eselect wine. Do backup your wine prefixes if experimenting though.

Also nowadays there's far less things you need to install with winetricks (wine is supporting more things by itself), still some exceptions but generally I'd try first before jumping to using it because some ancient forum posts suggested it.
Back to top
View user's profile Send private message
Elleni
Veteran
Veteran


Joined: 23 May 2006
Posts: 1268

PostPosted: Tue Oct 13, 2020 6:34 pm    Post subject: Reply with quote

Thanks for your reply. Does that mean that directX12 with dxvk and vulkan do not need any special configuration and tweaking anymore and are supported out of the box when vulkan useflag ist enabled? And is wine-staging still the version to go for games like wow?
Back to top
View user's profile Send private message
Ionen
Developer
Developer


Joined: 06 Dec 2018
Posts: 2702

PostPosted: Tue Oct 13, 2020 6:44 pm    Post subject: Reply with quote

Elleni wrote:
Thanks for your reply. Does that mean that directX12 with dxvk and vulkan do not need any special configuration and tweaking anymore and are supported out of the box when vulkan useflag ist enabled? And is wine-staging still the version to go for games like wow?
dxvk still needs to be installed for dx9-11 to vulkan (as well as USE=vulkan) but rarely needs any tweaking especially for popular games. Haven't messed with directx12/vkd3d much myself, as I said I don't play wow so someone else hopefully can help better.
Back to top
View user's profile Send private message
Elleni
Veteran
Veteran


Joined: 23 May 2006
Posts: 1268

PostPosted: Tue Oct 13, 2020 6:56 pm    Post subject: Reply with quote

ok, so that means dx9-11 support is is quite standard nowadays with vulkan and dxvk installed, but dx12/vkd3d is still experimental. Thanks for clarification.
Back to top
View user's profile Send private message
krumpf
Apprentice
Apprentice


Joined: 15 Jul 2018
Posts: 173

PostPosted: Tue Oct 13, 2020 9:35 pm    Post subject: Reply with quote

Did you try installing dvxk without its dxgi as stated here ? It seems to allow wow to work with vkd3d/dx12 or dx11
Back to top
View user's profile Send private message
Elleni
Veteran
Veteran


Joined: 23 May 2006
Posts: 1268

PostPosted: Tue Oct 13, 2020 10:26 pm    Post subject: Reply with quote

I created a new prefix with winecfg -> set to windows 10, to see where it gets. Starting battlenet worked, wow did not run out of the box, so I added dxvk latest with winetricks to get a bunch of entries in dll overrides. After that wow was starting but only showing dx11 and dx11 legacy. But as soon as I changed dxgi from Native to Builtin in winecfg, dx12 became available in wow settings. :)

I am starting the game from console with:
Code:
env VKD3D_DEBUG="none" WINEDEBUG=-all STAGING_SHARED_MEMORY=1 STAGING_WRITECOPY=1 wine64 '/home/username/.wine/drive_c/Program Files (x86)/Battle.net/Battle.net.exe' -d3d12
console output

although it would also start with just
Code:
wine64 '/home/username/.wine/drive_c/Program Files (x86)/Battle.net/Battle.net.exe'

So is all that above still adviced? Or are there (other) options in console from which performance of wine / wow could benefit?

Finally I tried if wow would run with latest wine-staging-5.19 and it crashed after recent prepatch/update - possibly because of the non-PE/mingw builds Ionen mentioned. wine-5.10-r1 does not work either after patch to 9.x. But it works with wine-5.19-staging provided by playonlinux started by lutris. Will WoW benefit from Esync/Fsync? I activated Esync in lutris.


Last edited by Elleni on Sat Oct 17, 2020 2:30 pm; edited 1 time in total
Back to top
View user's profile Send private message
Elleni
Veteran
Veteran


Joined: 23 May 2006
Posts: 1268

PostPosted: Thu Oct 15, 2020 1:59 am    Post subject: Reply with quote

Is it worth trying Fsync - I read that games would benefit more than from Esync. What patch would have to be applied to the kernel, and how is this done? Is it correct that zen-sources have this patches included? And apart from compiling a kernel with this patch - are there any options that would need to be activated in make menuconfig or any additional kernel parameters ?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gamers & Players All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum