Dual Boot Notebook

2024-12-08 00:11:24 PST (last update 2024-12-08 00:13:07 PST)

Bart Massey 2024

Just got a Lenovo X1 Carbon Gen 13 Aura Edition (yes, its real name) running Windows 11. I was setting up to dual-boot Lenovo-endorsed Ubuntu Wayland, and started this notebook to document the process.

The goal of this notebook is several-fold:

  1. Remind future me what I did. ("'Future Me.' I hate that guy. He knows what he did." —Julian Kongslie)

  2. Give others a guide with some pitfalls pointed out and navigated

  3. Give feedback to the Ubuntu folks.

Background

It may be helpful to know where I'm coming from.

I started using 2.9BSD UNIX on a PDP-11 in 1982, and became a paid sysadmin and later consultant and teacher of UNIX stuff. I started with Linux around 1.2.13, using whatever "distros" existed then. Later, I was a paid admin for a network of Red Hat boxes, then switched to Debian at slink. I've been using Debian continuously since then. I have small patches in the Linux kernel. I was one of the founders of Linux Plumber's Conference.

What I'm saying is that I'm old enough and arrogant enough that the ridiculous mess that follows is something I can't imagine a new Linux user wading through on their own. In my opinion it was utterly irresponsible of Lenovo to claim they supported Ubuntu on the Carbon Gen 13 when it worked like this.

This is my first serious messing-about with Ubuntu. So that's on me.

2024-12-04

Prepping For Linux

Previously on this machine, I had installed Debian Sid. Gave it up, as X11 seemed not to be available and I didn't want to figure out Debian Wayland. In the process I had pre-done a few things to prep for Linux:

The total time for this step was probably around an hour. It would be much faster if repeated.

Installing Ubuntu

Now I was ready to start over with Ubuntu. Some of these steps were actually duplicates of Debian install things, but we'll pretend that they were all new.

The total time for this step was about four hours. If repeated, it would probably still be about two: there was a lot of sit-and-wait, and a lot of menus to wade through.

Configuring Linux

The fun doesn't stop when the desktop boots. Oh no.

I needed to configure my machine for my use cases. How hard could it be?

Things were suspiciously slow on this very modern laptop. I suspected something was wrong, but wasn't sure what yet. Continued anyway.

At this point I was noticing huge lag spikes during typing in the terminal. 10 or 15 repeats of a key would get buffered up during a pause, which was really, really annoying. Obvious starting point would be a reboot, but wanted to do a couple more things now that I was SSH-ed in from my desktop where things were more convenient.

It had been another hour. I took a break.

I should take breaks more often during this stuff. I just want to power through it, though. It's frustrating to notice how much needs to be done just to make things work.

--

Came back late in the evening, having slept the laptop (I think?) unplugged for about six hours while I did other things. Battery was down to 85%, which was not a good sign if it really was asleep — needed to check that. Continuing with the adventure, the battery seemed to be dropping really fast. Was curious how the battery would perform in Ubuntu — really needed to be minimum three hours for some of the stuff I do.

Performance was garbage. Decided to reboot. Seems to have fixed it for now. I don't know.

Plugged the hard Ethernet back in. My current home WiFi setup is kind of a mess.

At this point, the laptop terminal was very difficult to type in because of lag spikes and key repeating. Something was clearly quite wrong.

Oh, also, since Wayland means no setxkbd I needed to figure out how to set the Caps-Lock key to Control, or I would go mad. Found this blog post which summarized why I had to switch to Wayland, and why I really didn't want to, and maybe what to do about it. Left it to explore later.

Oops. A warning popped up on the laptop: "Suspending soon because of inactivity." Apparently being ssh-ed into the box did not count as activity. Bleah.

OK, power seemed better than feared. About 10% down in an hour of moderate use.

Figured I'd try the next one and then go to bed.

Was bedtime. Power was at 70%. Left the laptop unplugged and suspended overnight to see how it did.

2024-12-05

Got up after seven hours or so. Apparently the laptop hadn't suspended. Power was down to 35%. Plugged it in and left it for later. Wow, charging was fast. About 10% in ten minutes, while running.

Oh, right. Made a list of things marked "deal with later":

Suddenly, a wild failure appeared! The laptop popped up a problem dialog. Looks like my dhcpcd screwing around earlier left things borked? While dealing with this, my laptop locked hard and needed to be "hard" powered-off and rebooted.

I became doubtful I was going to keep this thing.

Tried disabling "disable touchpad while typing". Didn't seem to fix the keyboard problems. top showed nothing interesting. Laptop latency spikes continued and worsened.

Apparently installing Linux 6.12 will fix sound. Have to go to work. Will return to it later.

2024-12-06

Reviewed my to-do list.

If it weren't for the lag spikes, this thing would be starting to feel like home. Had to believe that a kernel update would catch that.

To-do list was now

This seemed manageable. Break time.

Along the way, checked that Windows still booted. Yep. Yay.

Switched to X11 for a bit! This was as easy as finding the little gear icon while signing in. Didn't work: system experienced some failure almost immediately. But good to know it should be on soon. Rebooted and went back to Wayland for now.

In the process, finally fixed the weird "command-not-found database" error message I'd been having. Maybe.

apt install --reinstall command-not-found

Nope. Idk. Removed the package. That shut it up.

It was bedtime again. I'd made progress. Getting close.

2024-12-07

The laptop had lost 30% power in 8 hours in unpowered sleep. Clearly sleeping was not a viable long-term alternative until someone fixed something.

Boot time through BIOS and Ubuntu seems to be about 25 seconds, with most of that in BIOS. Ugh.

With that, I was done. I'd accomplished everything I could think of that really mattered. My Dual Boot Notebook dual-booted, and Linux worked well enough to use.

Conclusions

For all intents and purposes, Linux is not yet supported on the Lenovo X1 Carbon Gen 13 Aura Edition. I've put myself through a ridiculous amount of difficult fiddly diagnosis and repair. Even following my instructions, which may not work next week, it would be a big job to get this all up and working.

That said, now that I have the laptop mostly working I am rather fond of it. Assuming that the idle issues can be fixed, the boot time improved a bit and the X server made to work reliably, I think will be a great ride.

("A friend" who knows the insides of the X Server mumbled something about "atomic KMS modesetting" when I told my stories. Apparently there is a reasonable path to making X11 work if someone find the will.)

I found Ubuntu to be nice in a few ways, and annoying in others. The install experience was pretty bad compared to a Debian install, something I really did not expect. Ubuntu doesn't seem to have the package depth of most Debian-derived distros; I tried to install several things that seemed like they should be there but weren't. On the other hand, the polish of the UI and the really nice documentation on the Ubuntu website were great. I'm not sure whether internet searches for relevant information yielded more or less than they would have with stock Debian: seemed about even.

Anyhow, I'm going to pretend I have a working new laptop for now, and start tackling issues lazily as they arise like I usually do.

Thanks for listening.