TeamViewer Support on Wayland - Experimental State

JeanK
JeanK Posts: 6,973 Community Manager 🌍
edited April 2023 in Blog

In the past couple of months, we have noticed an emerging need for support on Wayland...

This is why we would like to give you an update about it.


Introduction

It's a fact: Wayland gets more and more prominent as a display server. Ubuntu is releasing the new 22.04 version with Wayland again as the default display server.

Now it's time for TeamViewer to support also incoming connections when using Wayland in the first experimental state!

📌Note: Before getting started, make sure you are using the latest TeamViewer version. You can update your TeamViewer client by following the instructions of the article below:

📄 Update TeamViewer on Linux via repository


Wayland support

To be sure you are using a client supporting Wayland you should see a message like the following in the Remote Control view.

If you can see this message, you are signed in on Wayland and your client is ready to support the incoming sessions with Wayland.


Experimental state

Wayland support is currently available in a first version. The overall feature package is still limited, and 100% stability cannot be guaranteed. Please note that Wayland support is also still under heavy development in Linux distributions. Still, we encourage you to try it out and give us feedback for further improvements and a final release.

The following functionality is already provided:

  • Permission request for screen sharing
  • Screen sharing of the main monitor
  • Mouse and keyboard input

What is not ready yet:

  • Connection to login screen
  • Session to unattended devices
  • Change monitor resolution
  • Clipboard synchronization
  • Black screen


Wayland's security concept

Give permission to share your screen / inject input events

Before your screen can be shared and input events like keyboard and mouse input can be transmitted to your computer you need to give permission due to Wayland's security concept. Without this acknowledgement your screen will never get shared with any other person nor can they control your computer.

See when your screen is shared

Due to Wayland's security concept, it's now always visible if your screen is currently shared, in addition to the visual indications TeamViewer is already providing.


Older clients

If you see this message on the startup [...]

[...] it means you are using an old client that does not yet support Wayland.

Please update your client to the latest version (at least 15.29.x) or sign in with Xorg on Linux startup.

(Example from Ubuntu sign in window)

See also some more discussions about it in the following thread: 📑State of Wayland TeamViewer


Trouble Shooting / Known Issues


KDE/Plasma

On KDE/Plasma with Wayland, it might be necessary to install the xdg-desktop-portal-kde package first. Rebooting after installation is advised.

Also, due to some missing functionality in KDE Plasma, remote keyboard input is currently not yet possible (for further details, see this bug report here: https://bugs.kde.org/show_bug.cgi?id=456025)


Input stops working / Crashes on xdg-desktop-portal

On some systems, remote control of the mouse and keyboard might stop working and the TeamViewer log file will show many lines similar to

2022/04/20 16:51:39.890 3526 140237246535232 DW2!! RemoteDesktopPortal: call NotifyPointerMotionAbsolute failed: DBus: 'org.freedesktop.DBus.Error.AccessDenied' (Invalid session) when calling 'org.freedesktop.portal.RemoteDesktop.NotifyPointerMotionAbsolute' on '/org/freedesktop/portal/desktop', Errorcode=11

This is caused by a problem in xdg-desktop-portal (for further details please see this bug report).

The issue was fixed with xdg-desktop-portal versions 1.12.4 and 1.14.3, but your distribution might still use an older version.

If you encounter this problem, you can check which version of xdg-desktop-portal your system uses by executing

/usr/libexec/xdg-desktop-portal --version


General Wayland issues

Depending on the environment (Gnome/Plasma, distribution, hardware) there might be problems that are not related to TeamViewer as the Wayland support, in general, is not yet too stable.

If you have Firefox installed, you can check if the Wayland support is working in general by selecting "Screen capture".


We are counting on you

We would be happy to get your first impressions and feedback such as:

1) What is already working

2) Which issues you are facing

3) Which functionalities you are missing the most

⚠ Important note: As we are still in an experimental state, we still recommend using Xorg in production.

We thank you in advance for contributing to the development and hope that you'll already have a great user experience using TeamViewer on Wayland.

Community Manager

Tagged:
«1

Comments

  • PaddyLandau
    PaddyLandau Posts: 14 ✭✭

    Which functionalities you are missing the most

    Thank you for attending to Wayland. For me, the most valuable missing function is, "Show remote cursor".

  • kuooki
    kuooki Posts: 1


    TeamViewer on Ubuntu 22.04 Wayland with Nvidia drivers looks like this for me at least.

    In gui.log, there's always this following line that doesn't appear with xorg-session:

    QSGContext::initialize: depth buffer support missing, expect rendering errors.

    This is not new a new behaviour to this beta version. But all versions that i've tried work flawlessly on Xorg.

  • illialinux
    illialinux Posts: 3 ✭✭
    edited April 2022

    Thank you for starting to add support for Wayland!

    I connected to Ubuntu 22.04 on Wayland and noticed two issues:

    • clicking "Ctrl + Alt + T" to open a terminal does not work ("Send key combinations" is checked.)
    • Caps Lock in a terminal window does not work; as well as "Ctrl + C", "Ctrl + U" and similar terminal shortcuts.
  • illialinux
    illialinux Posts: 3 ✭✭

    Also, a signing key of TeamViewer's package is stored in a deprecated way leading to some warnings on Ubuntu 22.04. A similar issue and a solution are described here https://askubuntu.com/questions/1403556/key-is-stored-in-legacy-trusted-gpg-keyring-after-ubuntu-22-04-update.

  • Kerstin_PO
    Kerstin_PO Posts: 78 Staff member 🤠

    Hi @PaddyLandau , @kuooki , @illialinux ,

    thanks a lot for your valuable feedback so far.

    • I will upvote the remote cursor topic internally - it's already on the roadmap
    • We will have a look into the behavior with Nvidia drivers.
    • We will have a closer look into the Caps Lock issues and key combinations. @illialinux could you maybe provide me the operating system you are using on the client/supporter side?
    • We will have a look into the warning / storing the signing key.

    Best

    Kerstin

    Product Owner TeamViewer Core
  • illialinux
    illialinux Posts: 3 ✭✭

    @Kerstin_PO it was Ubuntu 20.04 (X.Org)

  • JorgeRF
    JorgeRF Posts: 3 ✭✭
    edited April 2022

    Thank you for Wayland support!

    I noticed the following and I don't know if it's intended behavior. Let's say I want to connect remotely to my PC to do something quick. I'll find that to be impossible as I have to physically give permission to share. It kind of defeats the purpose of remote control.

    Would it be possible to add a setting to the permission window to remember my choice? Like OBS does:

    Another issue is that I can only connect with the preview version, not the stable 15.29.4. This happens when connecting from an Android phone and I couldn't replicate it when connecting from my laptop to my PC. Pardon my english if you can!

    PS: edited to add more info.

    Jorge

  • Kerstin_PO
    Kerstin_PO Posts: 78 Staff member 🤠

    Hi @Jorge,

    thanks a lot for your feedback and the proposal. We will check, if we can include it in a next version - makes definitely sense.

    What's the issue with the 15.29.4 version? Could you maybe share more details what is working / what is not working? Is there some error message?

    Best,

    Kerstin

    Product Owner TeamViewer Core
  • JorgeRF
    JorgeRF Posts: 3 ✭✭

    The issue with 15.29.4 only happens when connecting from an Android phone so it might be the mobile version. It says it's connected but nothing happens. When I tried to connect with my laptop it worked with no issues.

  • Kerstin_PO
    Kerstin_PO Posts: 78 Staff member 🤠

    Thanks a lot, @JorgeRF! This information helps a lot to look into it. We will have a look.

    Best, Kerstin

    Product Owner TeamViewer Core
  • Major_Mayer
    Major_Mayer Posts: 2 ✭✭

    I really appreciate that you finally care about Wayland users, however i can't confirm that it's working for me.

    I am using Manjaro Linux with KDE Plasma 5.24.4 and Qt 5.15.4 (i guess Teamviewer is a Qt app, so this might be important).

    I got my package from the AUR, but it takes the official Teamviewer Debian package and repackages it. It's version 15.29.4.

    When i receive an incoming connection, no prompt to give access to my screen is opened, which is always the case when i start sharing my screen in Firefox for example.

    The Teamviewer control panel appears on the top right of my screen, but on the other end the screen just stays black.

    I think what Teamviewer tries to do, is simply screencast the existing XWayland screens, that are still there for compatibility reasons but show the real desktop with the native Wayland applications.

    I also noticed that Teamviewer is still running in XWayland mode, because it's still blurry on HiDPI screens (double checked that with xeyes).

    This might be intentional tho, because absolute positioning of the Teamviewer windows would be quite complicated otherwise.

    You can find my logs here (it's a bit annoying that you can't just attach them) : https://nc.horbach5x.de/s/t6EKcQ5r5StpCzT

    I hope that it helps and the bugs can be fixed :)

  • Major_Mayer
    Major_Mayer Posts: 2 ✭✭

    I also tested the new 15.30 package, but it didn't change the situation, unfortunately.

  • Kerstin_PO
    Kerstin_PO Posts: 78 Staff member 🤠

    Thanks a lot for the feedback @Major_Mayer , we will try to reproduce internally and have a look at your logs.

    Product Owner TeamViewer Core
  • Jovo
    Jovo Posts: 1

    Hello

    These commands should resolve the problem.

    cd /opt/teamviewer/tv_bin/RTlib/qt/plugins/xcbglintegrations/

    sudo mv libqxcb-glx-integration.so libqxcb-glx-integration.so.old

    sudo ln -s /usr/lib64/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so

  • JorgeRF
    JorgeRF Posts: 3 ✭✭

    Hello

    It is working really good on Ubuntu 22.04/Fedora 36, but mouse cursor is not visible, on both OS. Android connection to Wayland sessions now works really well, except the aforementioned bug.

  • Kerstin_PO
    Kerstin_PO Posts: 78 Staff member 🤠

    Hi @JorgeRF , thanks a lot for trying out and providing your feedback. The mouse cursor should be visible with the next release coming this month.

    For Android I will double check again for the status.

    Best, Kerstin

    Product Owner TeamViewer Core
  • Bconstant
    Bconstant Posts: 1

    Is it in the wishlist to allow for unattended access while using Wayland? Or are there technical limitations of Wayland that make this impossible or impractical? I'm just wondering if I should continue to wait to see this support added, or if it is not currently planned.


    Thanks!

  • Kerstin_PO
    Kerstin_PO Posts: 78 Staff member 🤠

    Hi @Bconstant,

    thanks a lot for sharing your needs.

    Actually, it's a limitation on Wayland to get unattended access done straight forward as it requires the user to accept the connection by the security concept.

    But we have it on our roadmap to investigate if there are any possibilities. I will keep you posted as soon as we have any additional information.

    Best, Kerstin

    Product Owner TeamViewer Core
  • JonasE_TV
    JonasE_TV Posts: 6 Staff member 🤠

    Hello Major_Mayer,

    thank you very much for your feedback. Regarding the issues with KDE Plasma, I investigated this and have some good news and some bad news.

    It turned out that the reason for the dialog not appearing is actually a problem in KDE Plasma, not TeamViewer. I did a fix for that and opened a merge request. The good news is that this was already accepted and merged. So with the next KDE Plasma releases this should be resolved.

    The bad news is that I also found out that keyboard input will not work in connections to KDE Plasma at the moment as there is some functionality not implemented (for details, see the bug report). It looks like someone from KDE has already started to work on that, but I don't know how much needs to be done to resolve this.

    Best regards

    Jonas

  • buresu
    buresu Posts: 3 ✭✭

    Hi, Thank you for working on wayland support.

    Regarding the client-side issue, it seems that the key mapping is broken in the non-English environment.

    In my japanese environment, I can't type characters like '\'.

    With other Qt applications such as obs I can type correctly.

    I tested with GNOME 42.2 and KDE Plasma 5.25.2 on archlinux.

    TeamViewer version is 15.30.3.

    Thanks!

  • Sevada
    Sevada Posts: 1

    sound not working 22.04

  • buresu
    buresu Posts: 3 ✭✭
    edited July 2022

    I found the hidpi solution.

    It seems that the following qt library and plugins are required to enable hidpi.

    libQt5WaylandClient.so
    platforms/libqwayland-*
    wayland-decoration-client/*
    wayland-graphics-integration-client/*
    wayland-shell-integration/*
    

    Probably need to enable hidpi in application.

    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    

    Similarly, the keymap problem was due to the lack of qt plugin.

    platforminputcontexts/libfcitx5platforminputcontextplugin.so
    
  • buresu
    buresu Posts: 3 ✭✭

    I have enabled wayland and successfully connected to nvidia ubuntu.

    However, it still have crashes probably due to I mixed the Qt versions.

    Also, QT_QPA_PLATFORM=wayland is required to run.

  • Taylor85345
    Taylor85345 Posts: 1

    I'm curious how much, if any, testing had been done with wlroots compositors such as Sway or Wayfire. Since the connection is using xdg-desktop-portal, I would assume that some degree of functionality is provided by xdg-desktop-portal-wlr, but I'm curious what the experience looks like.

  • Aaditya
    Aaditya Posts: 2 ✭✭

    I am using Teamviewer to control remote PC which has Ubuntu 22.04. Everytime I leave the teamviewer window unattended on my laptop, it locks in 5 minutes and I have to give permission to grant access( by physically accepting the access request on the Ubuntu device). So I cannot leave my Ubuntu PC and work from remotely, as once the screen locks/ display switches off the access is lost.

    Also, what are the plans for Unattended access for remote Ubuntu system? Any updates regarding that?

  • MikaTolvanen
    MikaTolvanen Posts: 1
    edited August 2022

    I just moved to Ubuntu 22.04, installed latest Teamviewer and noticed this Wayland problem. It asks permission on remote screen every time when connection is attempted, in practice disabling the remote support.

    Also, connecting from Ubuntu to Windows computer did not work properly. It connects but the content of remote app windows is a mess.

    Both these started to work when I selected "Ubuntu on Xorg" from the small cogwheel on the lower right corner of the login screen. Selecting just "Ubuntu" will use Wayland.

    Is it now so that TeamViewer is unusable with Ubuntu 22.04 and Wayland?

  • kode54
    kode54 Posts: 17 ✭✭

    I am attempting to use this Wayland support from Arch, using Wayfire with xdg-desktop-portal-wlr-git. I have verified that the xdg-desktop-portal works with OBS Studio, and is able to capture 4K60 with minimal CPU and GPU usage.

    TeamViewer, on the other hand, cannot connect to the desktop. From the log:

    2022/08/29 12:15:37.245 453587 140460371080896 S   AcceptServer::HandleAccept: new connection from 127.0.0.1:54796
    2022/08/29 12:15:37.287 453587 140460429829824 S   IpcInitConnection::Received_Control_InitIPC: Connecting process: 454145
    2022/08/29 12:15:37.287 453587 140460429829824 S!  IpcInitConnectionLinux::GetOsSessionForProcessId: received unknown os session 4294967295 for process 454145!
    2022/08/29 12:15:37.288 453587 140460429829824 S!! IpcInitConnection::Received_Control_InitIPC: IPC connection failed, session not found: type = 4 pid = 454145, Errorcode=11
    2022/08/29 12:15:37.288 453587 140460429829824 S!  InterProcessNetwork::HandleCommand: Could not send to target because session ID is unknown: CC=1 CT=1
    2022/08/29 12:15:53.245 453587 140460446615232 S   TcpProcessConnector::HandleRead(): Socket gracefully closed (PID=454145)
    2022/08/29 12:15:53.245 453587 140460446615232 S   TcpProcessConnector::CloseConnection(): PID=454145
    

    Incidentally, I have to manually run the following to make Wayfire work properly with dbus apps, but I'm not sure if there's more needed:

    0_environment = dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
    1_environment = systemctl --user import-environment
    
  • kode54
    kode54 Posts: 17 ✭✭

    I'm also unable to run with QT_QPA_PLATFORM=wayland, this causes it to simply crash on startup.

  • kode54
    kode54 Posts: 17 ✭✭

    I can't get an iOS client to connect to the desktop session (as a test) from either Gnome Wayland or KDE/Plasma Wayland. So for all intents and purposes, Wayland support is non-functional.

  • HamburgerJungeJr
    HamburgerJungeJr Posts: 1
    edited August 2022

    I'm unable to connect to a KDE-Wayland session on Fedora36 with Teamviewer 15.33.7 and Plasma 5.25.4-1.

    The window for allowing access to the screen is not showing. The connecting client shows continously the message "connecting to partner", the client I want to connect to doesn't change the status from "Ready" to "Connecting" so I assume the Teamviewer-UI is not aware of the incoming connection.

    Screensharing is possible from a chromium-browser. I tested it with MS-Teams as well as the mentioned testpage.

    The teamviewer log gives the following messages:

    [removed per Community Guidelines]

    The following xdg-packages are installed

    xdg-dbus-proxy.x86_64                                                                                                     0.1.3-1.fc36                                                                                             @anaconda
    xdg-desktop-portal.x86_64                                                                                                 1.12.6-1.fc36                                                                                            @updates  
    xdg-desktop-portal-gnome.x86_64                                                                                           42.3-1.fc36                                                                                              @updates  
    xdg-desktop-portal-gtk.x86_64                                                                                             1.12.0-5.fc36                                                                                            @fedora   
    xdg-desktop-portal-kde.x86_64                                                                                             5.25.4-1.fc36                                                                                            @updates  
    xdg-user-dirs.x86_64                                                                                                      0.17-10.fc36                                                                                             @anaconda
    xdg-utils.noarch                                                                                                          1.1.3-11.fc36                                                                                            @anaconda