Announcement

Collapse
No announcement yet.

Mesa Lands Option That Can Help XWayland-Based Gaming On The Steam Deck

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by birdie View Post
    I'm 99% sure Steam Deck will run on top of Xorg, and lots of users will actually install Windows on it (Valve said Windows would be fully supported) because there will be close to zero compatibility issues and no performance loss due to API translation.
    It has only 16GB RAM for CPU and GPU. So i don't think that performance loss due to API translation is more relevant that performance loss due to
    windows uses more memory for itself :-)

    Comment


    • #12
      Originally posted by birdie View Post
      I'm 99% sure Steam Deck will run on top of Xorg, and lots of users will actually install Windows on it (Valve said Windows would be fully supported) because there will be close to zero compatibility issues and no performance loss due to API translation.
      What does it mean 'a lot'. Maybe even 2-5% of SteamDeck's users will install Windows on it out of curiosity(or other requirements. But don't expect that more than 0.5%-2% of it's userbase will run Windows on it daily, because experience will be subpar in comparison to custom ArchLinux spinoff they are testing and polishing for it.

      About Xorg vs Wayland it doesn't matter what will be shipped on release. Valve invested much resources over the years into wayland and xwayland, KDE Plasma and it's own wayland compositor (called gamescope).
      But because KDE Plasma works better on Xorg currently, and what's more important SDL1 and older releases of SDL2 has subpar performance on Wayland, they will ship SteamDeck with X11 with 99% proability. But they will switch to Wayland in future(when decided it's ready), because Xorg is limiting what can be done, especially for new VR equipment that they want to focus and ship later, after SteamDeck's release.


      SDL is heavily working on SDL1->SDL2 translation layer that works in 99% of cases, providing way better performance than SDL1 native(especially on Wayland), but because of game devs used inappropriately RGBA surfaces, game rendering is broken with compositors supporting alpha channel.
      You can test it by installing sdl2_compat12-git and lib32-sdl2_compat12-git form ArchLinux's AUR and export env vars:
      for 64bit apps:
      export SDL_VIDEODRIVER=wayland
      export SDL_DYNAMIC_API=/usr/lib64/libSDL2.so


      for 32bit apps:
      export SDL_VIDEODRIVER=wayland
      export SDL_DYNAMIC_API=/usr/lib32/libSDL2.so



      Valve or Gabe Newel never stated that Windows installation (or 3rd party shops) installation will be SUPPORTED (if you know what it means), but that users are allowed to install anything they want on it (but they have to deal with problems related to it, on their own).
      It's the stupid news outlets that makes such claims, with some of them evem stating that SteamDeck will be shipped with Windows with custom Steam client.

      The fact is that SteamDeck is generic x86_64/UEFI AMD/RDNA2 machine, sharing hardware with laptop SoCs, so drivers are already tested on Windows. There is even one or two guys in Steam testing SteamDeck on Windows.
      So while AMD SoC portion should work equally good on both Windows and Linux, the devil lies in SteamInput. They are mostly testing it with Linux/KDE Plasma and SteamInput/SDL/SDL2 games, so don't expect it to be do polished on other platforms.
      And SteamDeck's advanced input capabilities are one of the most interesting parts (in-line with gaming performance) of this console.

      Comment


      • #13
        I'm not sure that just updating SDL to work with Wayland would be enough for most games, unless they use some windowing system agnostic GL/Vulkan initialization. AFIAK if game uses SDL for window initialization, fullscreen management, etc but uses GLX for GL initialization, it doesn't matter that SDL support wayland since GLX do not support wayland at all.

        Comment


        • #14
          Originally posted by evasb View Post

          Plagman said that Wayland is better because of the lower overhead. But the games will run mostly on XWayland.
          Why would games need XWayland unless it's some legacy games built with dependency on X? More recent one can be using SDL or anything that can work with Wayland without X?

          The only major hold out are of course Wine / Proton games, but Wine has some progress with Wayland support too?

          Comment


          • #15
            Originally posted by blacknova View Post
            I'm not sure that just updating SDL to work with Wayland would be enough for most games, unless they use some windowing system agnostic GL/Vulkan initialization. AFIAK if game uses SDL for window initialization, fullscreen management, etc but uses GLX for GL initialization, it doesn't matter that SDL support wayland since GLX do not support wayland at all.
            You are right, but there many 2D indie pixel-art games, using SDL directly.
            StarDew Valley is unplayable on wayland on my Haswell GT2, without this translation layer and SDL2 wayland backend.

            Comment


            • #16
              Originally posted by shmerl View Post

              Why would games need XWayland unless it's some legacy games built with dependency on X? More recent one can be using SDL or anything that can work with Wayland without X?

              The only major hold out are of course Wine / Proton games, but Wine has some progress with Wayland support too?
              Because many games are using(and bundling with) SDL1 or non-latest SDL2 (without wayland backend). They should be linked against steam-runtime and not bundle their own libs(but they do). With SDL2 you can usually at least use hacks to force load newer version of SDL(even if statically linked). With Unity, UnrealEngine it's nto as easy(not everything is using SDL2)

              Comment


              • #17
                Originally posted by akuhtr View Post

                It has only 16GB RAM for CPU and GPU. So i don't think that performance loss due to API translation is more relevant that performance loss due to
                windows uses more memory for itself :-)
                16GB is a ton considering the handheld will run games at 720p, so textures won't take as much (V)RAM as for those who run beefy desktop GPUs and game at 1440p/4K.

                Comment


                • #18
                  Originally posted by evil_core View Post
                  Because many games are using(and bundling with) SDL1 or non-latest SDL2 (without wayland backend). They should be linked against steam-runtime and not bundle their own libs(but they do). With SDL2 you can usually at least use hacks to force load newer version of SDL(even if statically linked). With Unity, UnrealEngine it's nto as easy(not everything is using SDL2)
                  Its not in fact hacks with SDL2 to allow newer version to be loaded even if statically linked.
                  https://sdl-mirror.readthedocs.io/en...ME-dynapi.html
                  There is a integrated feature of SDL2 after 2014 that means even if it static linked dynamic loading feature remains.

                  Non-Latest SDL2 this gets important. To not have the dynapi means you are dealing with copy of SDL2 before 2014. That great I hope the game you are playing is not a online game if that is the case. https://security.gentoo.org/glsa/202107-55 Yes SDL2 from 2017 and before here has 2 CVE and I could go on. There are a static of security faults include some in the SDL2 included network stack that you really want to be running update SDL2.

                  Games bundled with SDL1 only are also problem child this way as well when it comes to security problems.

                  https://unity3d.com/security/unity-sec-2143
                  Unity3d again if it a online game you better have a update that update the engine to something that can support Wayland.

                  UnrealEngine is the only one out of those 3 that if you are using a old version you are not putting a remote kick me sign on your back. The last CVE with the UnrealEngine was 2009.(yes it possible to be using a game that has not been updated with a engine old enough to be a problem with UnrealEngine that you bought from steam today)

                  Please note those CVEs are generic platform neutral that you can get remote hacked because you are using old SDL1, old SDL2 and old unity3d network stack no matter the platform. Lot of old game engines on line are security problems.

                  Ryan Gordon of SDL did not add the dynapi feature to SDL2 for no good reason. SDL dynapi feature was added in response to the known security issue problems of static linking SDL and not having means to replace it. Lot of ways this does ask the question why has Unity3d and others not added equal feature for at least their network stack part and the answer is mostly because the customers of unity3d and unrealengine are game developers not the end users who will really get screwed over by these problems.

                  Yes in a lot of ways it would be good if Valve added a delisting and mandatory refunds on games who are not keeping their engine security solid that have online play. Remember online play means you normally have to be maintaining servers anyhow.\

                  The reality here Wayland support in online games should just come as a by product of games or wine being updated in future due to the security issues that will pop up.

                  Comment


                  • #19
                    Originally posted by Aryma View Post
                    this smells like a feature that gnome dev will be ignoring and refused to add and kde dev will add after they 6 years when they done with the mobile system aka android alternative and make more 6 images/PDF viewers and 9 text editor from scratch
                    Wtf? KDE is what's gonna power the Steam Deck, so I'm pretty sure they will add it a lot sooner.

                    Comment


                    • #20
                      Originally posted by birdie View Post
                      I'm 99% sure Steam Deck will run on top of Xorg, and lots of users will actually install Windows on it (Valve said Windows would be fully supported) because there will be close to zero compatibility issues and no performance loss due to API translation.
                      No you have to be insane/uninformed/developer put windows on the steamdeck. 7 inch 720p screen of the Steam Deck turns out to be problem child. https://answers.microsoft.com/en-us/...6-d69bfd6cefc3
                      Where at times Windows will turn into a total jack ass and attempt to force output of 1080p on 720p screen and fail completely of course. How to fix windows on a 720p only system when it does this is in fact reinstall windows at times because its section of registry gone stupid.

                      To put recent version of windows on a steamdeck is on the path to pain.

                      High definition (720p) display that is greater than 9” diagonally, 8 bits per colour channel.
                      I like how Microsoft nicely cheats here with windows 11 specifications. The screen in the SteamDeck is 7" diagonally so when(please note its when not if) its breaks because you installed windows 11 on the steamdeck Microsoft can straight up say sorry you were running Windows 11 on unsupported hardware.

                      https://www.windowscentral.com/why-y...ows-steam-deck
                      Yes a lot of people have worked out windows on a steamdeck is not a good idea.

                      Valve did not say they would fully support windows on the steamdeck either. Valve words was they would do nothing to prevent you from installing Windows and they would make sure windows is somewhat install-able. Valve in fact for development reasons need to be able to install windows on the steam deck to bench windows game performance vs Linux game performance to make sure everything is performing well.

                      Somewhat install-able does not mean bug free. Yes there are some quite nasty bugs that windows has on a steamdeck like the black screen of nothing from screwing up output mode yes that is not a driver issue that is core windows because you have rebooted the machines a few times and windows has screwed up it screen maths with a 7 inch 720p screen. Yes Microsoft solution with windows 11 was add 9" diagonally requirement to screen instead of fix. Of course windows working long enough that valve gets their benchmark data its good enough for valve. Yes cloned install image and limited number of reboots windows so it does not go stupid meets Valve usage requirements(that does not meet general end user expected requirements out a Windows install)

                      So windows on a steamdeck works but badly. The issue for the badly is not things valve has done but Microsoft windows 8 and newer itself handling of small 720p screens.

                      Windows 7 that went end of start of 2020 was the last version of windows to properly support small 720p screens with windows. Issues started appearing with windows 8 on.

                      Yes the devices that come installed with windows in a game console format like the steamdeck with 8" or smaller screens in fact lie to windows that the screen is in fact 9" or larger. This is one thing the steamdeck does not do. Steamdeck truthfully reports it screen size so bring out the windows bug.

                      Yes that just the screen that without getting to the controller issues with Windows.

                      Reporters have been asking valve the wrong question. Asking the question can you install Windows the on the steamdeck is yes. The important question most don't follow up with is will you make sure that windows on steamdeck will be a good experience with windows the answer is no to any reporter who has asked and they got extra answer that the quality experience on steamdeck will be ensured by valve using the provided Linux install and nothing else. Yes it up to the end user with steamdeck if they are not using the provided Linux OS to make it a quality experience for them. Basically valve will let you do what you wish with the steamdeck but if you what you choose to install outside their provided software and it breaks on you is your problem not Valves.

                      Steamdeck out box OS is Wayland compositor
                      https://twitter.com/Plagman2/status/1418700238722797568
                      This is clearly answered. Yes X11 based games are inside gamescope using Xwayland on the steamdeck. Out the box with steamdeck there is no bare metal X11 server.

                      Comment

                      Working...
                      X