-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request]Need the client to support wayland(not through xwayland) #4924
Comments
If I understand this request correctly, the specifics of this request is to build the SDL 2 library used with the steam client with wayland support. Beyond the scope of the steam client itself, Xwayland is still needed for games that are not using a middleware library that supports wayland and interactions with wayland libraries from older distro releases may need to be checked. |
@kisak-valve, yes, that's the goal, so that xwayland will used for games but not for client |
This would be nice :) |
@snj33v It must be used for games as well. glmark shows 2-3 times better OpenGL performance on wayland. |
@snj33v It could be much better if there was no such thing as steam-runtime, it just deprecated copies of libraries that every GNU/Linux distro has. |
If source code was open, community could fix this issue already. Proprietary software sucks. |
@DmitryHetman without steam-runtime, you'll get stuck with glibc/openssl forever (or you'll have to use chroot / docker), and get a lot of problems on rolling distributions. |
As soon as sandboxing becomes common for linux apps, for example with flatpak (which could solve the issue with the steam-runtime, btw), this becomes a security issue aswell. Edit: ok this was a bit misleading. Sensitive information is usually only entered in the steam app, which would need to use wayland. Thats not the issue here. But it would be great for security if the steam client would also support wayland sometime soon, as people use it to enter sensitive information like credit card information. |
I think it already works as is - I'm able to use Steam on KDE Wayland, when I launch it with environment variable Of course, actual games fail to run when you try launching them. |
seems this is very dependent on CEF(Chromium Embedded Framework) to actually work, guess we should wait till CEF adopts wayland completely |
@sandy-8925 I tried but it's on Xwayland |
wayland support required, please. |
CEF is on their way to support Wayland. A patch is already available to switch between X11 and Ozone backend. The patch has not been merged yet. Combine that with ozone-wayland, CEF will work with Wayland protocol. In fact there is already a working branch for Chromium's Wayland support. |
http://www.phoronix.com/vr.php?view=26841 Is anyone benchmarked games with SDL2 and SDL_VIDEODRIVER=wayland? Seems like Phoronix tested XWayland performance instead of Xorg vs. Wayland performance. |
@RussianNeuroMancer Steam seems to launch and work fine with SDL_VIDEODRIVER=wayland set, but most (if not all) Steam games fail to launch in that case. They're all using older/custom versions of SDL that don't work under Wayland. |
@sandy-8925 Does not work for me. Are you sure it is not running under xwayland? Try running |
@sandy-8925 Im affraid its running still on xwayland. I know it because of this https://www.reddit.com/r/linuxquestions/comments/7d445v/does_my_app_run_on_wayland_or_xwayland/ |
I'd say the biggest blocker here is Chromium still. The entire Steam main UI will not work without X11. If that wasn't an issue, it might be be reasonable to aim for a setup where some games (whitelist) used Wayland but that seems ambitious for now. As for games that don't work: bundling libSDL in games (not Steam runtime) is by far the biggest compatibility issue I've seen |
This comment has been minimized.
This comment has been minimized.
Sorry, I had another problem likely an outdated mesa or something. |
It launches just fine but when I run xlsclients, it shows steam running under xwayland. |
I would strongly urge everyone not to set SDL_VIDEODRIVER globally unless you're trying to test SDL2. There's a priority list inside SDL2 and no doubt when the devs consider Wayland support stable enough, it will take precedence over X11 without user interaction. |
@kisak-valve would be possible to lock the comments in this issue, until we have a proper feedback from Valve? Me and most of the others following this issue are expecting an official feedback from developers, and those people who treat git issues as Reddit aren't helping. Personally I think would be better to remain locked (or open just for those already following this) until Valve decide to publicly announce they made a progress on it. As it is now, we are just receiving emails about off-topic discussion and people bumping it without new useful information. |
We got some kind of an official statement, just as anticipated..
Source: https://store.steampowered.com/news/app/593110/view/4161959294800836361 In fact, it would be nice to get an "official" official statement. |
Manually patching the However, a lot of other windows (most of them corresponding to the drop-down menus) also get automatically opened in the process and various other stuff seems to be broken. # Patch `steamwebhelper` wrapper script to add Chromium Wayland flags
sed -i '1 aset -- "$@" "--ozone-platform=wayland"' \
~/.local/share/Steam/ubuntu12_64/steamwebhelper_sniper_wrap.sh
# Run steam with the `-noverifyfiles` flag so that the patched script doesn't get reverted
steam -noverifyfiles
# Enjoy the fireworks! But I still think this is a great progress overall and maybe with some custom windows rules it might actually become usable for some people. |
Have to test the patches posted here but I would LOVE to develop VR games on Wayland. Right now it's not 100%. Valve has been great patching a few bugs for Xorg but running VR Preview in UE5 doesn't seem to work correctly just yet. VR Room Setup is still borked for me on both X and Wayland. |
On my NVIDIA card / Arch Linux / Plasma 6.0.1,, this just results in a completely black screen 😅 There are two XWayland windows and about...17 Wayland windows? I was hoping it might fix the flickering issue (#10313), but no dice. |
How recent is the Electron version used by Steam? Would it understand and respect |
Steam does not use Electron AFAIK, it is Chromium Embedded Framework |
That will be addressed with the new implicit sync wayland protocol for Linux drm backend. |
That is correct. |
Then this PR is probably relevant From PR:
Unless Valve is working in a in-house fork of CEF with those patches merged, this one it appears to be stuck due to nobody working on it currently. |
This still doesn't work. With Xwayland support completely disabled, and doing the above trick Steam just crashes with this error:
I wonder if there is any way to to launch and play wayland native games like TF2 without running the steam client on Xwayland. |
This seems to be possible. I haven't tried TF2, but I've definitely seen Factorio running as a native Wayland app without without doing anything special to Steam. I just had to set an environment variable for it, |
Yes I can run both TF2 and CS2 under wayland without xwayland, the issue is that steam itself needs xwayland.
And tf2 ran on wayland without xwayland, but it crashes after the loading screen due to the missing steamapi.
If there was a way to run steamapi without xwayland / xorg, we could easily play games that support wayland, without the need of xwayland. |
Ah sorry, I misunderstood what you were saying. |
So the official page of CEF project states:
and this one is the issue relevant to us. So I think it would be nice if people following this issue could go there and give a thumbs up in the first comment, to signal developers that this request is relevant to us. Also if anyone following this issue has technical knowledge, would be great if you could help them with code and tests, because unlike the steam client, we actually have access to the source code of CEF and this could result in better feedback. Hopefully this could speed up the implementation of a steam wayland client. |
[Wayland] Implement IME support. |
Running steam through gamescope on a Hyprland session with xwayland disabled works:
Running: |
I haven't tested but that is almost certainly just because XWayland is running inside of Gamescope now |
Any progress on this? |
SDL_VIDEODRIVER=wayland works for me if i boot steam with it but games dont have the overlay. otherwise its fine? |
Switching from cef to qt6 (which is the native toolkit of KDE - steamOS default desktop) would solve this issue. Plus, qt6-webengine is chrome-based and does display web content very well. Just sayin. |
nah i think making steam an electron app would 100% be the most obvious solutions |
Still better, than relying on an ancient piece of code. |
I wouldn't call CEF an ancient piece of code. It's still actively developed: https://bitbucket.org/chromiumembedded/cef/commits/branch/master |
By ancient code, I meant Xorg. |
Guys this is an issue tracker and not a discussion forum. Please stop spamming everybody inboxes who want to keep an eye on this issue for an official response from a Valve employee. |
For the record, imho I'm not bothered by discussions of workarounds and potential fixes. It doesn't have to be from a Valve employee as long as it's actually adding something substantial to the discussion. That hasn't been the case here lately though. |
KDE 6.2 released on the main branch of SteamOS. But it still defaults to X11. I believe that this makes the release of a native wayland steam client closer. |
This is feature request
This will greatly help users with multi-gpu setups like optimus / SLI and developrs to move forward with wayland adoption
The text was updated successfully, but these errors were encountered: