Migrating to Manjaro Linux

Some stuff I found out while migrating my Surface Laptop 5 to Manjaro.

I installed the latest Manjaro, which at the time was Manjaro 23.0
Most of the stuff works pretty well. The WiFi worked out of the Box, as did the keyboard (to my co-workers anger), trackpad and the camera.
What didn't work was just the touchscreen.

I saw a post saying that this would be fixed using linux-surface. It's a collection of custom tools and a custom kernel.
It did fix the screen, however shortly afterwards my fans spun up so high I was terrified it would tear itself apart. I've never heard something like that from a mobile device before!

Thermals

Turns out this device runs HOT. Like, really hot.
It regularly exceeds 95°C when spinning up a VM or a few docker containers.
I think the fan control is not the best, so it just runs silently all the way up to 90°C, then clocks down the CPU and turns up the Fan to 11, until it cools down again.
There is an open closed issue about this Problem: Issue 1463.
The TL;DR is, enable thermald! You may be able to get some good results using custom config files,
but in my experience the default settings on latest Manjaro work more than well enough to prevent thermal issues.
You can turn on thermald, and configure it to autostart by running: "systemctl enable --now thermald".

LUKS, BTRFS, and TRIM

During installation I also enabled full disk encryption using LUKS.
Unlocking the master key at boot time takes around 20-25 seconds which delays the boot somewhat, but it's manageable.
Less manageable at first was the absolutely massive drop in performance. It got to a point where the device would take almost 10 minutes to boot up a vagrant provisioned VM.
Turns out, the issue is trim; A very important command to earmark unused blocks on an SSD for rewriting.
In order to enable this with LUKS, I had to add the "enable-discards" flag in the grub default boot-parameters.
Here is a Link to a Manjaro Forums post where it's explained properly.

Some Issues

Currently I am experiencing an issue where the laptop won't shut down all the way.
It's a bit odd. The OS seems to shut down properly, but the System keeps the fan on and seemingly produces heat as well? I'm not sure why this is yet.
I can't be bothered to look into yet another power-state issue with a Linux Laptop, so I just disabled sleep and suspend alltogether.

Applications

  • E-Mail:
    My employer uses Exchange for all it's E-Mail needs. Outlook doesn't run on Linux, not properly anways.
    Currently using Evolution Mail as my client, as that has a pretty good EWS integration. not anymore, see below
    I am currently using Thunderbird with OWL, which is working pretty well so far.
    Previously I had some issues with the Plugin, but that was because of our terrible exchange installation.
    Turns out it was because our weak certificate key. I ended up just setting my hosts file to point to a reverseproxy we have for external usage,
    and now it works just fine.

  • Office stuff:
    ONLYOFFICE has been working okay for me so far. For most other things, I can use the Office 365 browser Version.
    There are some drawbacks to O365, for example that it's not possible to open PDFs in Word using this approach.
    Unfortunately OneNote is a pretty good program, so I use P3X OneNote to have it native-ish-ly on my Computer.
    It's available in the AUR.

  • Instant Communications:

    • Teams: After Microsoft killed off the native teams App for Linux I had the unfortunate honor of installing a chromium-based browser,
      in my case ungoogled-chromium. Then nagivate to "teams.microsoft.com", and install the PWA.
      For whatever reason, when MS moved away from Temas to "Teams version 2", there wasn't a version available on Linux for quite some time.
      This was fixed on my end by navigating the chromium-based browser to "teams.cloud.microsoft", where it works for some reason.
      Yes, that is a real URL.

    • 3CX: Similarly to Teams, this works with a PWA on the latest major release.
      There haven't been any issues with this as of yet.

    • Signal: Just works. Install "signal-desktop" from the extra repos, which are enabled by default.