Code change:
in python3Packages.buildPythonApplication rec { pname = "bottles"; <del> version = "2022.5.28-trento-3"; </del> <ins> version = "2022.10.14.1"; </ins> src = fetchFromGitHub { owner = "bottlesdevs"; repo = pname; rev = version; <del> sha256 = "sha256-KIDLRqDLFTsVAczRpTchnUtKJfVHqbYzf8MhIR5UdYY="; </del> <ins> sha256 = "sha256-FO91GSGlc2f3TSLrlmRDPi5p933/Y16tdEpX4RcKhL0="; </ins> }; <ins> patches = [ ./vulkan_icd.patch ]; </ins> postPatch = '' chmod +x build-aux/meson/postinstall.py patchShebangs build-aux/meson/postinstall.py <del> substituteInPlace src/backend/wine/winecommand.py  </del> <ins> substituteInPlace bottles/backend/wine/winecommand.py  </ins> --replace  <del> 'self.__get_runner()'  '(lambda r: (f"${steam-run}/bin/steam-run {r}", r)[r == "wine" or r == "wine64"])(self.__get_runner())' ''; </del> <ins> "command = f"{runner} {command}""  "command = f"{''' if runner == 'wine' or runner == 'wine64' else '${steam-run}/bin/steam-run '}{runner} {command}""  --replace  "command = f"{_picked['entry_point']} {command}""  "command = f"${steam-run}/bin/steam-run {_picked['entry_point']} {command}"" ''; </ins> nativeBuildInputs = [ <ins> blueprint-compiler </ins> meson ninja pkg-config <del> wrapGAppsHook gettext </del> <ins> wrapGAppsHook4 gtk4 # gtk4-update-icon-cache </ins> appstream-glib desktop-file-utils ]; buildInputs = [ <del> gdk-pixbuf glib gobject-introspection gsettings-desktop-schemas gspell gtk3 gtksourceview4 libhandy libnotify webkitgtk gnome.adwaita-icon-theme </del> <ins> librsvg gtk4 gtksourceview5 libadwaita </ins> ]; propagatedBuildInputs = with python3Packages; [ pyyaml <del> pytoml </del> requests <del> pycairo </del> pygobject3 <del> lxml dbus-python gst-python liblarch </del> patool markdown <ins> fvs pefile urllib3 chardet certifi idna pillow orjson icoextract </ins> ] ++ [ <del> steam-run xdg-utils pciutils </del> cabextract <del> wine freetype </del> p7zip <del> gamemode # programs.gamemode.enable </del> <ins> xdpyinfo imagemagick procps gamescope </ins> mangohud <ins> vmtouch wine </ins> ]; format = "other"; <del> strictDeps = false; # broken with gobject-introspection setup hook, see https://github.com/NixOS/nixpkgs/issues/56943 </del> dontWrapGApps = true; # prevent double wrapping preFixup = ''

Related discussion:
text: Vulkan/dxvk doesnt work on bottles. Vulkan is working correctly on my laptop as vkcube, vulkaninfo and the game im trying to run on bottles (that i ran thru wineWowPackages.staging + dxvk install from the official archive file) run perfectly. Steps to reproduce the behavior: bottles a bottle for gaming a game. the "directx error" pop up. Also, the dxvk log files say that the "VKKHRsurface" extension failed to load. DXVK/Vulkan should work on bottles. ! Please run and paste the result.
Having the exact same Issue on 22.11pre393800. (Raccoon)
If fails then there is a driver issue. Vulkan wont be able to draw anything to screen without it. When it occurs in proton issues it's usually a missing 32bit Vulkan library. Tho there can ofc probably be other causes
update: using the system wine doesn't fix dxvk either. only running thru the command line does. As i said, running it thru wine on the terminal does work, so something in the bottles thing is not working right.
I found the cause: these hardcoded paths right there: With this extra lines in , Vulkan will work on Bottles: I'm not sure if this is the best way to solve it, though. Tested only on a 64-bit bottle (I don't know if 32-bit bottles need to also link ). .
!!! nice find!