Skip to content
Categories:

Wayland and Microsoft Teams

Post date:
Author:

Or: Debian on the desktop, worse in 2021?

I used Linux as my primary desktop until end of 2015, where I switched to a job where I also occasionally would do some work on an iOS app. And since the only way to compile an iOS app, or have useful stuff such as debuggers, is using XCode, and since you can only use XCode on macOS, I switched to using a Mac.

But recently my 2017 MacBook Pro was getting a bit long in the tooth, mostly during Teams calls it was getting horribly slow, and there was a Lenovo Carbon X1 available for me to use, so I decided to switch to that device, running Debian Testing, for day-to-day use.

For ‘productivity’ I mainly use my text editor, which is cross-platform. A proper web browser is available on all platforms. I handle email and such in a browser; my company has the Office 365 license where if I would need to use Word or Excel I can only use that in the browser anyway, I can play music anywhere; switching to a different platform is not a big issue.

We’ve all know the stories about the ‘year of the Linux desktop’ and the idea is that if the desktop will improve enough, it will be viable for more people to use.

I found that coming back to using Linux on the desktop after a 6 year hiatus, it seems like the desktop experience of Linux has gotten worse.

HiDPI

The Lenovo Carbon X1 laptop that I use has a built-in 4K screen and I typically use that, or an external 27″ display. The problems with HiDPI displays have been well-known: macOS has supported this more-or-less properly from the start when they introduced their “Retina” screens on their 3rd generation MacBook Pros in 2012. Apple ‘owns’ their whole stack, I assume their product manager for Retina only allowed to introduce hardware with HiDPI when the software team was ready to support it in the OS. But also there it took other vendors more time: Adobe needed to end of 2012 before they introduced proper HiDPI support in Photoshop (arguably a software where it’s really important to have good screen support) and other vendors probably much longer.

On Windows, support for HiDPI was a bit more problematic. Microsoft added HiDPI support in various stages. It varied a lot between apps. But for instance WinForms only introduced proper HiDPI support in 4.7 which was launched alongside their Windows 10 “Creators Update” in early 2017.

On Linux, I found that in Gnome I can still only choose between either 100% (which makes the fonts look tiny, especially with 4K on the built-in screen) or 200% (which makes fonts look HUGE). While in your browser, your terminal and your editor you can independently change the font size, this typically does not affect the font size in dialog boxes, menus, window titles and so on. There is the separately installable gnome-tweak-tool which you can use to choose a setting such as 150%, but that still does not apply to all parts of the system. Because my laptop screen is so much smaller than my external display, I would really want to use different scaling factors on both.

I read that people using KDE seemed to have no problems; so I tried KDE but I found it was not really true, and also I don’t like KDE much; I switched to LXDE, XFCE (all those desktops tout support for HiDPI) and went back to Gnome because I could not find a single desktop environment that “Just Worked (TM)” or even worked after proper configuration.

Microsoft Teams

My company uses Microsoft Teams for internal meetings. A lot. We’re still mostly working from home, just as the government wants us to, and Teams is our default way of communication for voice and web. Even so much that some people are sometimes a little surprised if you’d call them on their mobile, which was before 2020 definitely the standard way of communicating in our company.

Some of our vendors use Teams for meetings as well.

On Debian, I can install the Teams .deb file, which loads slowly, and there video does not seem to work. In Firefox, I can use Teams OK and chat, but not join video calls. In Chrome, it seems to work OK but I can’t present the screen my desktop. I can present a browser tab, or I can present a single app – but not all apps; just browsers and mail clients, not terminals. But if I share my desktop, the other people in the call will only see a black screen and my mouse cursor.

Apparently, this is a known issue. It’s reported in the Chromium bug tracker in this 2017 bug. It is an issue on Wayland, which is for years now the default windowing thingy.

It is technically possible to make it work, but the app packagers need to enable it in their packages. I found this 2020 bug in the Debian bug tracker asking for the packager of Chromium to enable it on their packages but it did not happen yet. I thought: oh, if it’s not in Chromium, it would definitely be in Google’s Chrome package, right? But that is not the case either. Apparently it does work in Firefox, but in Firefox Teams does not allow me to join video calls, so that is not a solution. I also tried Microsoft Edge on Linux, thinking that Microsoft, having created Teams, surely must also have their own browser support it; but that’s not the case.

I contemplated taking the patch from the Debian bug and compiling my own browser. Getting the sources using apt-get source chromium downloads 495 MB of data. Compiling a browser takes a LOT of CPU time. I would have to do this every time a new browser becomes available, or bugs are fixed, which is often. So I decided against this.

Then I used the other thing that would work, which is to turn off Wayland and go back to Xorg. It’s kind of lame, but I did it and so far I do not have found any drawbacks.

To do this, uncomment WaylandEnable=false in /etc/gdm3/daemon.conf and reboot your system; now sharing my screen in Teams works immediately.

# GDM configuration storage
#
# See /usr/share/gdm/gdm.schemas for a list of available options.

[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false

I find it perplexing this bug has been open for so long, but maybe even more so that Google did not fix this in their Chrome package, and that Microsoft did not make sure it works in their package of Edge.

I still am not sure what I think about switching to Linux; there are pros and there are cons. My 2020 Carbon X1 is definitely more beefy and has a nicer screen and keyboard than the 2017 MacBook Pro I was using before. But I’m kind of disappointed to find rather mundane things such as screen sharing in Teams, or HiDPI support, so difficult.