Skip to content
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

Enable Wayland support in Qt, use it if available #15

Merged
merged 2 commits into from
May 10, 2021
Merged

Enable Wayland support in Qt, use it if available #15

merged 2 commits into from
May 10, 2021

Conversation

smcv
Copy link
Collaborator

@smcv smcv commented Apr 12, 2021

  • Compile native Wayland support plugin for Qt

    We'll use this to give the UI shell Wayland support.

  • Revert "Fixed bug Force Xwayland on Wayland #6, explicitly set the QT platform for the shell"

    Now that we have Qt's platform plugin for Wayland, we can use that
    for the shell. This is a step towards not needing X11 at all.

    Test with:

      Xephyr :2 &
      DISPLAY=:2 flatpak run com.valvesoftware.SteamLink//test
    

    Previously, both the shell (UI layer) and the actual streaming client
    would run on the Xephyr display. After this change, the shell runs
    full-screen again (via Wayland), and the actual streaming client uses
    X11 by default.

    The streaming client can be forced to use Wayland too by setting
    environment variable SDL_VIDEODRIVER=wayland.

    This reverts commit 9845f4f.


@lhindir, please could you try this out in your Wayland environment? Let us know whether it works well, what your Wayland environment is, and which Qt and SDL environment variables you're forcing (if any).

It seemed OK for me in some brief testing in GNOME Shell 3.38, but I haven't tried it in other Wayland environments like KDE Plasma or Sway.

@flathubbot
Copy link
Contributor

Started test build 44786

@flathubbot
Copy link
Contributor

Build 44786 successful
To test this build, install it from the testing repository:

flatpak install --user https://dl.flathub.org/build-repo/43087/com.valvesoftware.SteamLink.flatpakref

@smcv smcv requested review from slouken and TTimo April 12, 2021 17:56
@lhindir
Copy link

lhindir commented Apr 12, 2021

Thanks @smcv, I will get to this soon.

smcv added 2 commits May 10, 2021 15:05
We'll use this to give the UI shell Wayland support.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Now that we have Qt's platform plugin for Wayland, we can use that
for the shell. This is a step towards not needing X11 at all.

Test with:

    Xephyr :2 &
    DISPLAY=:2 flatpak run com.valvesoftware.SteamLink//master

Previously, both the shell (UI layer) and the actual streaming client
would run on the Xephyr display. After this change, the shell runs
full-screen again (via Wayland), and the actual streaming client uses
X11 by default.

The streaming client can be forced to use Wayland too by setting
environment variable SDL_VIDEODRIVER=wayland.

This reverts commit 9845f4f.

Signed-off-by: Simon McVittie <smcv@collabora.com>
@flathubbot
Copy link
Contributor

Started test build 47519

@flathubbot
Copy link
Contributor

Build 47519 successful
To test this build, install it from the testing repository:

flatpak install --user https://dl.flathub.org/build-repo/45698/com.valvesoftware.SteamLink.flatpakref

@smcv
Copy link
Collaborator Author

smcv commented May 10, 2021

In addition to GNOME this seems to work nicely on KDE Plasma in Wayland mode (Debian 11's plasma-workspace-wayland package, on AMD hardware) and on Weston, so I'm going to try landing this in the beta.

@smcv smcv merged commit 626fd68 into beta May 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants