I maintain a flake with a nixos module for x13s here adamcstephens/nixos-x13s - Codeberg.org
The device should work on mainline as well, but tracking the jhovold WIP branches gets a bit better support.
I maintain a flake with a nixos module for x13s here adamcstephens/nixos-x13s - Codeberg.org
The device should work on mainline as well, but tracking the jhovold WIP branches gets a bit better support.
Thank you! I’ll give it a shot. How’s battery life been under NixOS? I have to say the machine has really been what I am looking for so I am excited to see support for it grow (if it can).
The battery life is pretty good, except the suspend isn’t really great and you drain just as much while “suspended”. Meaning 30% loss in 8 hours asleep.
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.
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…
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.
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.
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?
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
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
x13s is an aarch64 laptop, so little aligns with any x86 models.
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.
I’ve pushed a commit that resolves the pd-mapper issue by uncompressing the qcom firmware.