Open GrabbenD opened 11 months ago
Either manually in the regedit gui (wine regedit
). Or by crating a file with the content:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\Drivers]
"Graphics"="x11,wayland"
And then import it with wine regedit myfile.reg
Thanks for taking a look @cirk2!
Bear with me as I'm quite confused 🙂
I haven't used WINE in years and I don't have it in my PATH as I compile ./proton-tkg
which I use to start my games.
wine regedit
actually modify the registry for all Proton Prefixes?wine regedit only operates in the prefix it's executed in.
Verification of using vulkan is possible by using something interacting with xorg windows like xprop or xeyes which will only interact with xwayland windows. If you use sway as window manager you can add for_window [shell="xwayland"] title_format "[XWayland] %title"
to your config for a handy tag in the title.
You will also have to tell the configure scripts to enable the wayland driver in the _configure_userargs options:
_configure_userargs64="--with-wayland --with-x"
_configure_userargs32="--with-wayland --with-x"
in your wine-tkg.cfg (or rather proton-tkg.cfg when building proton-tkg).
Has anyone managed to get this to work with Steam + Proton? Been trying for hours but Halo Infinite refuses to start (and the logs have no indication of why):
Steps:
proton-tkg/proton-tkg-profiles/advanced-customization.cfg
to proton-tkg.cfg
and applied:
_configure_userargs64="--with-x --with-gstreamer --with-xattr --with-wayland"
_configure_userargs32="--with-x --with-gstreamer --with-xattr --with-wayland"
--with-vulkan
_custom_wine_source="https://gitlab.winehq.org/wine/wine"
_mesa-git
):
$ makepkg --clean --cleanbuild --syncdeps --install --force
proton-tkg
is build with $ ./proton-tkg.sh
2. Valve Proton Experimental
is selected.regedit
in the WINE prefix of Halo Infinite:
$ echo 'Starting regedit with bundled WINE..'; \
export PROTON="$HOME/.steam/root/compatibilitytools.d/proton_tkg_experimental.wine.8.0.20231128.r0.g83a713801b9" && \
export WINEPREFIX="$HOME/.steam/root/steamapps/compatdata/1240440/pfx" && \
export WINE="$PROTON/files/bin/wine64" && \
$PROTON/files/bin/regedit
Here I create the Graphics
key manually (under HKEY_CURRENT_USER\Software\Wine\Drivers\
path) with String Value
of: x11,wayland
$ steam-native
and select the correct Proton version under Halo Infinite > Properties > Compatibility > [X] Force the use of a specific Steam Play compatibility tool: TKG-proton-...
DISPLAY
variable in: Halo Infinite > Properties > General > Launch Options: DISPLAY= %command%
DISPLAY=
from Launch Options
the game starts but $ swaymsg -t get_tree
says it's xwayland
Logs:
Halo Infinite is free to play on Stream if anyone wants to try this! Am I missing something?
I've used advanced-customization.cfg but it looks like this uses a old version of WINE?
$ echo 'Running Proton..'; \
export PROTON="$HOME/.steam/root/compatibilitytools.d/proton_tkg_experimental.wine.8.0.20231128.r0.g83a713801b9" && \
export WINEPREFIX="$HOME/.steam/root/steamapps/compatdata/1240440/pfx" && \
export WINE="$PROTON/files/bin/wine64" && \
$PROTON/files/bin/wine --version
wine-experimental.wine.8.0.20231128.r0.g83a713801b9 ( TkG Plain )
# wine-tkg-git/proton-tkg/proton-tkg.cfg
#_proton_branch="experimental_8.0"
_custom_wine_source="https://gitlab.winehq.org/wine/wine.git"
_plain_version="master"
Feels like no matter what I try I always get WINE 8.0 (20231128)
instead of WINE 9.0 (20231214)
Any tips @Tk-Glitch?
Update 1: just confirmed this works without Proton (in Lutris)
@GrabbenD You're building against proton experimental's wine, which is 8.0 based currently. You'll want to build against upstream to get 9.0.
However upstream wine shouldn't be able run halo infinite due to its dependency on shared resources, not available upstream. So using Valve's 8.0 with shared resources and xwayland is pretty much the only way to play that game currently. When proton 9.0 based drops, we'll try to port shared resources over to upstream.
You'll want to build against upstream to get 9.0.
What's the correct way of doing this @Tk-Glitch? Do I need to specify something else?
# wine-tkg-git/proton-tkg/proton-tkg.cfg
#_proton_branch="experimental_8.0"
_custom_wine_source="https://gitlab.winehq.org/wine/wine.git"
_plain_version="master"
However upstream wine shouldn't be able run halo infinite
Thanks for pointing it out! Apart from Halo Infinite, I'm also trying other games like High On Life which works with Wine 9.0 in Lutris :)
I have added a toggle for use with compatible trees: https://github.com/Frogging-Family/wine-tkg-git/commit/efda785ee8c0169273636336ccd106bd3f3ee7ff This will only enable the flags to enforce related checks on the wine side, so if anything is missing it'll throw an error instead of silently ignoring wayland support.
Just run ./proton-tkg.sh
and select the 4th option to build against mainline with _wayland_driver="true"
set in your wine-tkg-git/customization.cfg
.
@Tk-Glitch Do you mean that I need to edit both proton-tkg.cfg
and customization.cfg
?
Here's all requirements for enabling
Vulkan
rendering inWayland
from my understanding:Enable this feature manually:
Confirm the right environment variables are used:
Use 9.0-RC1/GIT of WINE:
This leads me to my question: How do you create the required registry key from step 1 in Proton-TKG?