TeamViewer Support on Wayland - Experimental State
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
Comments
-
Which functionalities you are missing the most
Thank you for attending to Wayland. For me, the most valuable missing function is, "Show remote cursor".
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.
0 -
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.
1 -
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.
1 -
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 Core0 -
@Kerstin_PO it was Ubuntu 20.04 (X.Org)
1 -
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
2 -
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 Core0 -
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.
0 -
Thanks a lot, @JorgeRF! This information helps a lot to look into it. We will have a look.
Best, Kerstin
Product Owner TeamViewer Core0 -
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 :)
1 -
I also tested the new 15.30 package, but it didn't change the situation, unfortunately.
0 -
Thanks a lot for the feedback @Major_Mayer , we will try to reproduce internally and have a look at your logs.
Product Owner TeamViewer Core1 -
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
0 -
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.
0 -
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 Core1 -
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!
0 -
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 Core1 -
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
0 -
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!
0 -
sound not working 22.04
0 -
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
0 -
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.
0 -
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.
0 -
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?
0 -
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?
0 -
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
0 -
I'm also unable to run with QT_QPA_PLATFORM=wayland, this causes it to simply crash on startup.
0 -
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.
0 -
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
0