Skip to content

Random stuff

Positive experiences with linux on X1 Carbon Gen1

I recently had the chance of introducing linux to the laptop of a friend. Despite some discussions I've had recently on lobsters about the ugly sides of linux on the desktop, it turned out pretty well.

To preface this: this specific laptop had a bad case of broken windows updates with issues giving you "no admin" errors, except if you run each command in an admin console. And it was RMA'ed 4 times because of display flickering on anything other than 100% display brightness, which would send someone with epilepsy straight to the hospital.

Setup

If you want to know how we got it working, here is the description: We installed KUbuntu 21.04 on a Lenovo X1 Carbon 1st Gen (2012) and fixed some stuff:

"Back-"light

What won't work out of the box is display brightness controls and if you dig further you'll find that it's not possible to do so via the kernel internal systems, no matter what kind of startup params you throw at GRUB_CMDLINE_LINUX_DEFAULT inside /etc/default/grub. (We tried acpi_backlight=native, video.brightness_switch_enabled=0 and acpi_backlight=vendor.) The values in /sys/class/backlight/intel_backlight/brightness are simply ignored by the hardware.

We also looked into the arch wiki entries for the X1 Carbon, but they won't even mention any problems with the backlight. Another problem is that many of these docs are now based around old X11 tools and will break with wayland or when wayland compatibility doesn't work anymore (the way it currently does).

What does work though is setting the brightness in xrandr like xrandr --output eDP1 --brightness 0.3. As it turns out, there is no backlight for OLEDs, so what you do is mirror the values inside /sys/class/backlight/intel_backlight/brightness to xrandr. We just went with lawleagle/oled-linux, adding it to the autostart. (There are a ton of different scripts that do the same, you can even get a rust version if you like.) With that setup you'll have no minimum brightness value though, so setting a brightness of 0 is actually black, in contrast to what you can do in windows or non-OLED displays.

Results

The whole laptop is now operating on much lower temperatures, never starting to vent, even after playing a lot of videos. You can use the wacom based touch display out of the box. The pen detection also works and you can use the touch input even when you disabled the display, allowing you to draw on it while looking at an external display. So it seems like that despite my fears this is now the new OS for my friend and their first linux on a desktop (with 0 IT background).

The display flickering from windows is gone, so it may have always been a driver issue. Some KDE animations flicker (only specific windows, never the full screen), so we simply turned them off.

What we didn't get to work was the fingerprint sensor, apparently support for that is currently blocked by SDDM and thus the KDE desktop. Oh and grub is very laggy on a 2k screen, not sure if there is a fix for that.

Of course windows later greeted us with a nice "BitLocker recovery" screen, as I wasn't aware of that and we simply made one partition of ~300GB free space for linux, instead of directly wiping windows from the disk.