Lenovo X13s experience and support

Yes! I still use NixOS on my X13s. It works OK. But the troubles i have are not directly related to NixOS but rather a Kernel problem, missing features and bugs.

For example, USB block devices sometimes stop working for me. Audio is working but i practically never use it. I do not know if the webcam works, i never use it. I am not sure, but i think graphics are accelerated, at least 2d, i do not know about 3d. Wifi does work. I do not know about bluetooth, never used it. Having a usb dock connected sometimes causes strange startup deplays, but this is more a BIOS/EFI problem. I still keep a Windows partition around for firmware updates, but i did not really investigate a way to do them on Linux. And sometimes the cursor has a strange delay to it, as if it would be slower, in the Xorg logs some messages hinted at a problem with too many events or something along those lines, but after a couple of seconds this problem goes away. But i now use a wayland compositor and i think this problem is gone, but only time will tell. Another thing which might be important is that this notebook runs very hot when doing something heavy, i hope the next generation of such devices has active cooling.

I would say, if you are willing to fiddle around and invest time to get it working you will get there and then it is a fine device. At least for my use cases which are mostly writing text and code, using a browser and running many terminals.

3 Likes

Another thing which did impact me quite a bit, which is a big downside is the lack of EL2 mode which is needed for KVM. So hardware accelerated virtualization does not work. You can get it working, but then you loose some other features. As far as i understand it, the CPU is booting a hypervisor which then starts linux. There is a patchset which implements awareness for this hypervisor, but i did not try it [1]. There is also another project which enables EL2 mode, but then you use some functionality which for me kills the laptop usecase [2]. I was aware when buy that the hypervisor probably will not work for some time, but i would love it to work. I learned docker now, so some virtualization use cases can be tackled with that, for others i now have a virtualization server…

  1. [v16,00/34] Drivers for Gunyah hypervisor - Patchwork
  2. Booting up Qualcomm SC8280XP with Linux on EL2 · jglathe/linux_ms_dev_kit Wiki · GitHub
1 Like

I’ve now added an package that can be used to build a UEFI update ISO, allowing this to be updated without Windows.

https://codeberg.org/adamcstephens/nixos-x13s#uefi-update-iso

Shamelessly borrowed from

https://github.com/martiert/x13s-bios

I tried writing the contents directly to the nvme ESP, but while it will load the EFI package it won’t actually process the update. :frowning:

3 Likes

awesome! - it seems I’m getting hardware updates everyday running Windows (I feel asleep last night watching one install) - exciting times. One thing I haven’t gotten working under Windows (and needs its own thread) is wsl using NixOS distro. Others work fine. Anyway, thanks for this!

I don’t have windows installed but most of the firmware on this device is loaded at runtime. On nixos those come from Linux-firmware. So the UEFI is mostly what I need. :slight_smile:

In my understanding, you can extract the newer firmware from windows, but I only have so much time to introduce more variability.

interesting I see Linux Boot is in beta after my upgrade last night.

Does hibernation work? My computer is the same way (no support for S3 sleep or similar), and hibernating is an okay workaround with a fast SSD (provided you can tolerate the SSD wear of copying RAM into it over and over).

hibernation doesn’t not work unfortunately.

Any chance you can share your nixos configuration? Sound is not working for me. Pipewire allows me to see the sound card in pavucontrol for example but the sound is just popping. If I’m trying to use only pulseaudio, it just doesn’t show up.

Has anyone built an ISO that does boot to the installer/CLI?

1 Like

I can share mine, just made my Hyprland config public and got audio working without issues with pipewire: GitHub - gvolpe/nix-config: 👾 NixOS configuration

I also reported my webcam partial success in this issue: Tracking Issue: Intel MIPI/IPU6 webcam-support · Issue #225743 · NixOS/nixpkgs · GitHub

1 Like

your system is a thinkpad-x1, no?

I use it on a T14s. Everything is working fine except suspend, which seems to be due recurring firmware/kernel issues with module ath11k (for the WLAN card). I documented my workaround here but it’s basically a matter of removing the kernel module before every suspend: Resumes immediately after suspend: How to diagnose - #3 by mirrorwitch

Yeah sorry, thought it was the same laptop and different gen, my bad :smile:

x13s is an aarch64 laptop, so little aligns with any x86 models. :slight_smile:

A heads up that pd-mapper, and thus battery status (and maybe proper charging?) are currently broken on unstable. nixpkgs switched to zstd compressing of firmware, which pd-mapper cannot handle. I haven’t had time to dig into it myself, but I think there’s a way of configuring firmware to be uncompressed or worst case we’d need to go in and add an option to allow for choosing the compression used. pd-mapper only supports xz.

I know there’s efforts to get pd-mapper functionality merged into the kernel, but I am unaware of their status.

1 Like

FYI, I’m no longer maintaining my repo and have sold my device.

BrainWart forked and appears to be continuing support here: GitHub - BrainWart/x13s-nixos: This was/is my first working configuration for my Lenovo X13s

I’ve been maintaining my own fork as well (I have no idea what I’m doing).

  • Added nixos-x13s.wifiMac setting for wifi MAC address
  • latest jhovold sc8280xp kernel (Might update later today, have to check IRC. Also no bincache)

There are branches that correlate to jhovold rc versions. I would recommend sticking to jhovold-rc7 for now. I’m about to push jhovold-6.11 which is based off the “final” 6.11 tree which works fine but still needs some work according to IRC.

I also have a flake I’m using as an overlay for latest linux-firmware. There are some updates in there which have drastically improved wifi reliability and power consumption for me (anecdotally).

If anyone is reading this and doesn’t mind the fact that I have no idea what I’m doing, it’s here: GitHub - TheNightmanCodeth/x13s-nixos: I use nix btw

1 Like

sweet. I can give these a gander and report back.

forgive me but what’s the best way given the iso thingy is broken? How do I properly build this and boot? :sob: Ubuntu works wonderfully so it’d be nice to get NixOS working. Ubuntu has some known issues so it’d be nice to see what happens in nixland but I have no idea how to get this flake to produce something I can boot my machine with. Again, nix can confound certainly