Cristian Adam

Windows Arm64 - ThinkPad X13s

In November 2022 while recovering from a Covid infection I found a Lenovo ThinkPad X13s on ebay.com for 600$.

It had 16GB of RAM, 512GB of SSD, and a Qualcomm 8cx Gen3 CPU. These stats were all better than my previous Samsung Galaxy Book Go 5G laptop. The 13.3” display would be a bit less than the 14” display that Samsung had. But in contrast had the ability to expand the storage with a M.2 SSD slot.

At that time Lenovo was asking ~2000$ for such a laptop. So I decided to buy it. With transport and customs was still cheap metal

ThinkPad X13s

Finally a nice Lenovo Windows Arm64 laptop! It had a solid build feeling, better than the Samsung Galaxy Book Go. The keyboard was as one would expect from the latest Lenovo ThinkPads. Felt as good as the ThinkPad A485 that I have had a while ago.

I had no issues with the display as I had the Samsung Galaxy Book Go. So no display switching in this post! smile

The 7-zip benchmark result for arm64 is:

$ 7z b

7-Zip 23.01 (arm64) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20

Windows 10.0 22621
ARM64 0 D4B.0 cpus:8 128TB f:2804EB8C1004
LE

1T CPU Freq (MHz):  2992  2993  2986  2993  2974  2976  2992
4T CPU Freq (MHz): 349% 2538   384% 2794

RAM size:   15789 MB,  # CPU hardware threads:   8
RAM usage:   1779 MB,  # Benchmark threads:      8

                       Compressing  |                  Decompressing
Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
         KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS

22:      42120   682   6012  40975  |     364424   687   4522  31075
23:      38934   674   5884  39670  |     365481   704   4491  31615
24:      36525   673   5834  39273  |     366770   730   4405  32181
25:      33273   666   5705  37991  |     345648   711   4328  30755
----------------------------------  | ------------------------------
Avr:     37713   674   5859  39477  |     360581   708   4437  31406
Tot:             691   5148  35442

Here is how it fares to the other Arm64 CPUs:

CPU Compressing MIPS Decompressing MIPS
Qualcomm 7c Gen 2 12590 16390
Qualcomm 8cx Gen 2 24032 21022
Qualcomm 8cx Gen 3 39477 31406
Apple M1 48841 45484

That’s quite an improvement from the Qualcomm 8cx Gen2 generation, but still not beating the Apple M1.

Keyboard

The keyboard was as good as any recent Lenovo Thinkpad. The Fn and Ctrl keys could be swapped in Bios. But, if you have a look at the picture below you will notice that the Print Screen key was next to the right Ctrl key.

This had to go. So I used the KeyTweak - Keyboard Remapper tool to make PrtSc also as right Ctrl, and F12 as PrtSc since I still needed to make screenshots.

The above picture resulted this registry key change:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,e0,37,e0,37,e0,58,00,\
  00,00,00,00

TrackPoint

The TrackPoint is one of the unique selling points of a ThinkPad Laptop. I quickly found out that this TrackPoint was behaving a bit weird.

As it turns out Lenovo uses multiple vendors for sourcing the TrackPoints. With all my previous Lenovo ThinkPads I had Synaptics TrackPoints. The X13s had an ELAN TrackPoint pensive

I noticed that when I was letting go of the TrackPoint the cursor would move just a bit, which would give the impression that you can’t be accurate with it. But the weirdest part was middle button emitting a click when set as “scrolling”.

This drove me nuts, so I ended up not using the TrackPoint anymore.

Notice the difference from what you could configure for the TrackPoint in Settings and which entries the Elantech registry key had for TrackPoint / TrackPad.

Also the software for the ELAN TrackPoint / TrackPad was x86 and not arm64. Notice the Win8 entries!

Ports

The laptop only had two USB-C ports on the left side. Which means that if you want to charge the laptop from the right side, you are out of luck. An audio jack, a Kenningston lock and that was all.

I’ve also noticed that while charging the laptop would really heat up close to the charging port. Speaking of heating up …

CPU Throttling

The Lenovo ThinkPad X13s has only passive CPU cooling, no fans at all. Which is great if you don’t stress the CPU. But if you want to get things done, the CPU will get throttled due to overheating. That was not great.

I had to buy an external cooling pad (Cooler Master) for the cases when I had to compile C++ code.

Visual Studio 2022 Developer Command Prompt v17.7.6

Qt Base 6.6.0, antivirus disabled.

With external cooling:

Elapsed time (seconds): 602.558
Elapsed time (seconds): 611.888
Elapsed time (seconds): 611.726

Without external cooling:

Elapsed time (seconds): 846.824
Elapsed time (seconds): 924.314
Elapsed time (seconds): 930.777

From 600s to 900s that’s quite some throttling there!

Lenovo’s system update

I had installed the Lenovo Commercial Vantage application for software updates and other things that would come from the OEM’s software update tool.

At some point I’ve got a failure for Qualcomm Boot Critical Drivers - 11 (22H2 or Later) - 1.7.

That can’t be good, right?

As it turns out is just an error from Lenovo’s driver update packaging team. Lenovo is packaging software updates like for example n3hdr19w.exe, which is actually a self extractable archive, which then runs a PowerShell script to do some sanity checks, and then a batch file is executed to install the software.

In this case the DeviceCheck.ps1 had an error:

The developer used 20230503 instead of 20230305. I’ve reported the issue at forums.lenovo.com, but I haven’t really received feedback. Reporting bugs to Lenovo is not easy.

Blue screens of death

Over the time I’ve got some blue screen of death crashes. I had two category of crashes:

  1. Coming back to the PC to notice that it rebooted itself. I think that this was due my usage of RDP to a different machine.
  2. While compiling C++ code and watching something on YouTube.

My impression is that Qualcomm is relatively new in the Windows PC drivers market, and their audio and video drivers were not bug free.

DxDiag

The result of DxDiag can be found here. Windows 11 can cast the display via Miracast to a TV or compatible projector. Just press Win + K key combination.

Unfortunatelly, this is not supported:

---------------
Display Devices
---------------
           Card name: Qualcomm(R) Adreno(TM) 8cx Gen 3
        Manufacturer: Qualcomm Incorporated
           Chip type: Adreno 690
            DAC type: InternalDAC
         Device Type: Full Device (POST)
          Device Key: Enum\ACPI\VEN_QCOM&DEV_0636&SUBSYS_QRD08280&REV_1823
       Device Status: 0180200A [DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_NT_ENUMERATOR|DN_NT_DRIVER]
 Device Problem Code: No Problem
 Driver Problem Code: Unknown
      Display Memory: 7894 MB
    Dedicated Memory: 0 MB
       Shared Memory: 7894 MB
        Current Mode: 1920 x 1200 (32 bit) (60Hz)
         HDR Support: Not Supported
    Display Topology: Internal
 Display Color Space: DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709
     Color Primaries: Red(0.639648,0.329102), Green(0.299805,0.599609), Blue(0.149414,0.059570), White Point(0.312500,0.328125)
   Display Luminance: Min Luminance = 0.500000, Max Luminance = 375.500000, MaxFullFrameLuminance = 375.500000
        Monitor Name: Wide viewing angle & High density FlexView Display 1920x1200
       Monitor Model: unknown
          Monitor Id: LEN41A0
         Native Mode: 1920 x 1200(p) (59.999Hz)
         Output Type: Internal
Monitor Capabilities: HDR Not Supported
Display Pixel Format: DISPLAYCONFIG_PIXELFORMAT_32BPP
      Advanced Color: Not Supported
         Driver Name: <>,C:\WINDOWS\System32\DriverStore\FileRepository\qcdx8280.inf_arm64_f2df01705e71231b\qcdx11arm64xum8280.dll,C:\WINDOWS\System32\DriverStore\FileRepository\qcdx8280.inf_arm64_f2df01705e71231b\qcdx11arm64xum8280.dll,C:\WINDOWS\System32\DriverStore\FileRepository\qcdx8280.inf_arm64_f2df01705e71231b\qcdx12arm64xum8280.dll
 Driver File Version: 30.00.3741.8500 (English)
      Driver Version: 30.0.3741.8500
         DDI Version: 12
      Feature Levels: 11_1,11_0,10_1,10_0,9_3,9_2,9_1
        Driver Model: WDDM 2.9
 Hardware Scheduling: DriverSupportState:AlwaysOff Enabled:False
         Displayable: Not Supported
 Graphics Preemption: DMA
  Compute Preemption: DMA
            Miracast: Not Supported by Graphics driver

Other benchmarks

Closing words

I have used the Lenovo ThinkPad X13 until November 2023, when I decided that I needed a laptop with an Arm64 CPU that can do more – I’ve bought an Apple MacBook Pro M1 Max. First time Mac after 25 years of using PCs. flushed

The ThinkPad X13s was not good enough for my needs. The software was also not 100% ready for prime time. The reboots, the helplessness of getting help on forums.lenovo.com, where when you get some feedback, it’s all about to re-install drivers / Windows. pensive

Now we have July 2024 and Lenovo has released the ThinkPad T14s Gen6 14” with a Snapdragon X Elite CPU, which apparently can compete with the Apple Silicon CPUs.

Comments