If you’ve been following my blog for any period of time, or spoken to me about laptops in the last 3 years, you’ll know that I’ve been waiting for a 13 inch, all AMD laptop with USB4/Thunderbolt capabilities that I could use as a desktop replacement. The combination of open-source graphics drivers, performance, and battery life with ultimate flexiblity - the ability to become a competent gaming machine when plugged into an eGPU.

The ThinkPad Z13 Gen 1 is not that laptop. I think the X13 Gen 3 might be a better contender for that. What the Z13 is, though, is a quite nice ultraportable that ticks almost all the boxes I could want.

FYI, I’m using sway as my window manager, as I believe Wayland is acceptable for laptop use these days. That said, let’s get started.

The Good

Battery Life

I’ll talk about suspend/sleep when I talk about Linux compatibility, but initial battery life impressions are extremely solid. As I type this blog post, I’m on a train, tethering to my phone for internet while I try and pull links for this post. I’m on the low-power performance profile, brightness is at about 30%, and am currently at 89% battery life. I started typing at about 95%, and upower --dump has been estimating anywhere between 11 and 15 hours of battery life typing this and browsing the web, checking youtube videos and news sites and such. Very happy with it so far.

Keyboard

I was worried about the keyboard when I watched some early impressions of this laptop at CES, but my fears were unfounded. I’m coming from an XPS 2-in-1 7390, whose keys aren’t much better than the butterfly switches on Macs from a bit ago. Compared to those, this might not be the old-style ThinkPad keyboard you’ll only get if you buy a modded ThinkPad, but it’s the absolute best I’ve used on an ultraportable once you get used to the key spacing.

I still don’t understand the appeal of the TrackPoint, but this laptop is not the best showcase of that, since the trackpad has no physical buttons.

The keyboard has a fingerprint reader, too, which worked out of the box with fprintd, the highest praise I can give any fingerprint reader. Along with pam-fprint-grosshack, it’s been slightly faster than typing my password at prompts. It’s definitely the fussiest reader I’ve used, though. Finger positioning/angle needs to be consistent for it to get a good read.

Display

I think I’m a sucker for small bezels and a design that uses all of the space given to it. That’s probably the real reason I went with the Z13. I opted for the non-touch 1920x1200 400 nit display, and it looks really nice. The non-touchscreen matte is a welcome change from the XPS, and the 400 nit brightness is a welcome bump from the 300 nit ThinkPads I’ve used in the past. There’s a small lip on the top of the display where the microphone and webcam are, and it’s actualy kind of nice to use to open the laptop’s lid. Plus, I really, really don’t need a laptop with a 13 inch 4k display - it’s just a battery sink.

Performance

The bar for performance-per-watt AMD gaming on the go has been set extremely high by the Steam Deck, in my opinion. Valve’s custom package of screen resolution, size, and APU can’t really be beat. Still, I was expecting this laptop to be suitable for light gaming, certainly some emulation and perhaps the occasional 3D game.

That said, my model is the 21D2000LUS, and has:

  • AMD Ryzen 7 Pro 6850U & Radeon 680M
    • CPU: 2.70 GHz, up to 4.70 GHz Max Boost, 8 Cores, 16 Threads, 16 MB Cache
    • GPU: RDNA2, 12 CUs @ 2.4Ghz
  • 13.3" WUXGA (1920 x 1200) IPS, anti-glare, low power, 400 nits
  • 16 GB LPDDR5 6400MHz (Soldered) (probably enough for a laptop)
  • M.2 (key 2242) 512 GB PCIe SSD Gen 3 (The SSD is Gen 3, but the slot should be Gen 4 (?))
  • Two USB-C ports capable of USB4, and a headphone jack, and that is it. (See why I’m regretting not getting the X13?)

For real-world tests: some development, live DJ-ing, writing, web browsing and movie watching - absolutely stellar across the board and more than enough. To push it to the limit, I tried some harsher stuff below.

Doom Eternal didn’t want to run at a full 60 with all settings at Low at 1900x1200, which surprised me. That game is optimized to hell, and I kind of expected it to fly on the 680M. I was able to get it running at 60 by enabling dynamic rendering resolution, but soon hit thermal throttling at 99C which brought performance down to an unplayable, stuttery ~30-45 FPS.

Tunic, on the other hand, performed admirably, running at a full 60 when I bumped the resolution down one notch to 1080p and disabled some of the more taxing graphics settings.

Linux kernel compilation (linux-tkg) finished in 28:51, admirable for this 8-core, 16-thread beast of a mobile processor.

Unigine Superposition is still my go-to 3D Linux benchmark, which unfortunately is still OpenGL-based. Results are below, note that when I did this test, vanilla 5.19 wasn’t stable on Arch, so I don’t have a number for that. Also, I didn’t test the “balanced” profile, since I usually either want good battery life or max performance.

All tests were run with the CPU governor set to schedutil.

kernel scheduler profile driver superposition score
5.18 cfs low-power amd_pstate 1527
5.18 cfs low-power acpi_cpufreq 2869
5.19 tkg-pds low-power amd_pstate 2901
5.18 cfs performance acpi_cpufreq 3653
5.19 tkg-pds performance amd_pstate 3671-3818
5.18 cfs performance amd_pstate 3910-4083

I’ll probably stick to the Steam Deck for any future portable gaming, but if I want a bigger screen for a lighter game, it’s definitely usable.

The Bad

Touchpad

Where the keyboard makes using this laptop on the go a treat, the trackpad mars an otherwise great experience. It’s haptic, ~and this time my fears were founded - there’s no way to adjust the haptic force from the BIOS or Linux, leaving a Windows partition taking up 60GB on my SSD. Bleagh. (Edit 2023-03: Lenovo has worked with Elan to release a tool for this, which I can confirm works, though the packaging is a bit odd.)

Weirdly, it’s also slightly lower latency than the XPS 7390, which you wouldn’t think would be a big deal, but I guess I really got used to that laptop.

The final nail in the coffin is that because it’s haptic, there are no physical buttons. I really, really didn’t think this would be that big of an issue for me, and most of the time, it isn’t. But, position the laptop unevenly on a surface, or add some vibration to the mix (if you’re on a train or plane), and you can barely feel the haptics at max force. Again, regretting not going with the X13. At least I have my nice bezels ;_;

Thermals

This is positioned as a business laptop, not a gaming laptop. I expected bad thermals while gaming going in. They’re bad - but only while under stress. The entire APU is serviced by an intake vent that runs almost the length of the bottom, two very small fans, and I think it exhausts out the screen hinge.

When playing Doom Eternal, my WASD fingers were not happy. The metal near the keys was pretty hot and uncomfortable to touch. The rest of the laptop was relatively cool, though, and playing with a controller would have been a fine experience.

As mentioned, this processor is beefy, and its TDP is configurable up to 28W. It thermal throttles at 99C and begins ramping down the clock speed to ensure the processor can keep up. If I were to run this with an eGPU, I would definitely see if I could put it on a cooling pad with some fans to keep the bottom cooler and hopefully allow it to sustain a higher clock speed.

Linux Compatibility

This laptop made a huge impact on launch, when it was discovered that Lenovo decided to disable the Microsoft 3rd Party UEFI CA certificate by default (Though it seems the laptops this affects ship with Microsoft’s security coprocessor called Pluton, it is not directly because of this chip, as was reported by some news sites. It’s a Microsoft decision. You can disable Pluton and use TPM2 in the BIOS instead.) To remedy this, you simply go into the BIOS and enable it, and disable Secure Boot while you install Linux until you can sign your own keys.

Once installed, AMD and Lenovo have actually done an admirable job with compatibility here, but I have some specific callouts.

amd-pstate

You might have been wondering about amd-pstate up there in my benchmarks. AMD and Valve, presumably for supporting the Steam Deck among other things, have created a new CPU frequency scaling driver designed especially for their processors. It’s designed for boosting power efficiency, and as demonstrated above, it seems to offer a performance boost too. I haven’t compared battery life to acpi-cpufreq, but it’s more than satisfactory.

think-lmi & thinkpad_acpi

The think-lmi driver from Lenovo is mainlined into the kernel, and offers access to BIOS config options in /sys/class/firmware-attributes/thinklmi. In at least one case, I was able to find a hidden option that wasn’t in the BIOS menu.

In addition, the thinkpad_acpi driver exposes wireless kill-switches (F8 is always a hardware wireless kill-switch, it seems), LED control and more.

Suspend

I saw some worrisome battery drain overnight when I first recieved the device (~10%), so I decided to investigate sleep options. Traditionally, Lenovo has provided a toggle in the BIOS for enabling S3 sleep support (“Linux” and “Windows 10” as options for “Sleep State”), but no such toggle was exposed here, and the kernel reported:

ACPI: PM: (supports S0 S4 S5)

I explored the options exposed via think-lmi, and to my surprise, there it was:

$ cat /sys/class/firmware-attributes/thinklmi/attributes/SleepState/possible_values
Linux,Windows 10

When I enabled it, the system reported S3 as supported, but refused to wake from sleep no matter what I did. Had I missed something? I was planning on reaching out to Lenovo, so I added this item to my list.

I retested battery drain with a bit more rigor the next time, taking upower --dump readings before and after sleeping for 16h:

  • Enter sleep: 30.32 Wh (62%) @ 9:15PM
  • Exit sleep after 16h: 27.7 Wh (56%) @ 1:15PM
  • Loss rate: 0.16375 Wh/hr, or 0.375%/hr

Not too bad, I think. Definitely livable.

Qualcomm Wifi

Another odd point I had noticed was the wifi was somehow slower when resuming from sleep - about 10% of normal, and some requests simply time out. This also seems to result in many “Invalid misc” errors in iwconfig. Disabling power management does not help, which was the fix for some of the 5Ghz issues on the Steam Deck. No kernel errors and nothing much to go on.

To work around this, I set a small script to be run on resume, basically just consisting of rfkill toggle wlan twice. Speeds went back to normal after resume and reconnection happened automatically.

Added it to the list.

Performance Profiles

The second neat built-in hardware shortcut is using Fn+H(igh)/M(edium)/L(ow) to switch performance profiles. It’s also exposed in /sys/firmware/acpi/platform_profile. There are three profiles:

  • low_power
  • balanced
  • performance

Combined with your choice of amd-pstate or acpi-cpufreq, and whichever CPU governor you want, there’s a lot of ways to manage power on Linux on a ThinkPad these days.

In waybar, I used a custom module to expose the current profile:

case $(cat /sys/firmware/acpi/platform_profile) in
        low-power)
          echo "L "
          ;;
        
        balanced)
          echo "B "
          ;;
        
        performance)
          echo "P "
          ;;
        
        *)
          echo "? "
          ;;
esac

Switching profiles works until the system resumes from sleep. Once it wakes up, neither the Fn shortcut or the acpi method works for switching.

Added it to the list!

Lenovo’s Response

As a conclusion for this post, I thought to reach out to Lenovo to see if they were aware of any of these issues. The only hint that I had regarding official support was that Mark Pearson from Lenovo (per the link, “leads the company’s Linux initiatives”) had claimed that Fedora was being tested on the Z13, and that was as close to a declaration of compatibility I could find.

I initially submitted my request via a character-limited web form, only to be told:

I do apologize but you have reached the wrong department.
You will need to contact our Software Support team for further assistance on your issue.

They provided a phone number, but I wasn’t about to speak to anyone over the phone about issues that required logs. So, I resorted to posting on the Lenovo Linux forums, hoping someone from Lenovo would end up seeing it, or perhaps another user was experiencing the same things.

The very same Mark replied.

You can go read the thread, but tl;dr:

  • S3 sleep isn’t supported on Ryzen 6000, only S0ix.
  • An internal ticket with Qualcomm was opened for the wifi issue (!)
  • They had reproduced the platform_profile issue
  • Touchpad haptics would be at least looked at

I’m thrilled to recieve such an in-depth reply when I fully expected zero support for one consumer running Linux on this machine. Lenovo, keep Mark around for as long as you can!

Rapid-fire round

  • While the laptop was actually really easy to open up on the bottom (nice!), the SSD wasn’t replaceable with a decent alternative, since there’s no room for a double-sided SSD, like this Sabrent I was planning on using.
  • Build quality feels pretty solid with a very slight screen flex. Lenovo says that it’s recycled aluminum, and the box it came in appeared to be made of recycled material as well.
  • Using a keyboard-centric tiling WM helps the keyboard on this laptop shine, since you really don’t have to use the mouse often.
  • I haven’t needed to use the webcam, but it seems serviceable from the 10 seconds I checked it out. It does seem to have IR, in case you wanted to use howdy instead of the fingerprint reader.
  • The ports aren’t a huge deal since you can get a dock and break out whatever you like using the USB4 ports on each side, but it would be nice to have an HDMI out or a USB-A at least.

Why isn’t it a desktop replacement?

I’ve ranted about thermals before, and I think they’re the limiting factor here too. I just don’t think there’s an ultraportable that has the cooling prowess of a Razer laptop, and there might never be another.

The X13’s cooler looks like it might be a different experience, but hard to tell. I initially planned to get both the Z13 and X13 and compare them, but I’ll probably just stick with this laptop for a while.

So cooling is inadequate for gaming. Let’s go through the rest of my criteria for an ideal laptop from my last post, and see what it meets:

  • Be 13 inches (maybe 14 is ok)
  • Be able to cool itself decently
  • Be power efficient
    • amd-pstate helps here.
  • Have USB 4
  • Have an AMD CPU and GPU (or APU)
  • Have decent single-core boost
    • Yup, up to 4.7Ghz

Well, 5 out of 6 isn’t bad. If I ever actually test this thing with an eGPU, I’ll write about it here. Unfortunately, my only candidate GPU is a Vega 64, and the eGPU box I have is woefully underpowered and can’t handle its peak power draw. It’s possible that the cooler might perform well enough if only the CPU is stressed, and not the GPU, but hard to speculate without testing.

Conclusion

Overall, I expect this laptop to last me a long time, unless I decide to ditch it for the X13. It’s a strong contender for one of the best laptops I’ve used, and for everyday, realistic use cases, it’s hard to beat. Once the issues I mentioned with compatibility get smoothed out, I can strongly recommend it.

If you’d like some further, more in-depth reading on how this laptop performs, I recommend NotebookCheck’s review of the Z13 and Phoronix’s benchmarks of the X13 with the same chip.

Thanks for reading!