6 KiB
+++ title = "Ubuntu Linux on Snapdragon X Laptop (Lenovo Yoga Slim 7x)" date = 2024-12-01T11:17:03+10:00
template = "yoga7x.html"
[extra]
updated = 2024-07-26T10:34:50+10:00
+++
{{ figure(image="posts/2024/linux-on-yoga-7x-snapdragon/fastfetch.png", link="posts/2024/linux-on-yoga-7x-snapdragon/fastfetch.png", resize_width=1600, alt="Screenshot of fastfetch output in a terminal window. The details indicate that it's running Ubuntu oracular 24.10 on aarch64.", caption="Ubuntu running on Yoga Slim 7x") }}
Over the course of the last few months some fine folks in the Linux community have been plugging away implementing support for Qualcomm Snapdragon X based ARM laptops. Recently Canonical published Ubuntu 24.10 Concept for testing on these laptops, which I installed and tested on my Lenovo Yoga Slim 7x.
Installation
{% aside(title="Want a full review?", float="right") %} See: A Developer's Review of a Snapdragon X Laptop (Lenovo Yoga Slim 7x) for my detailed review of this laptop. {% end %}
Installation alongside Windows was almost as straightforward as a normal Ubuntu install. It booted to a graphical live environment with working Wi-Fi.
The main issue was that the installer application in the live environment was only rendering the bottom quarter of its window when display scaling was set to 200% (which is the expected value for the display and was automatically applied at boot). Changing it to 100% made everything tiny, but allowed me to complete the install.
As per the notes in the forum post I installed and ran qcom-firmware-extract
after installation to fetch and install firmware blobs from the Windows
partition, and then rebooted. This appeared to fix battery level reporting and
possibly hardware video acceleration.
{{ figure(image="posts/2024/linux-on-yoga-7x-snapdragon/qcom-firmware-extract.png", link="posts/2024/linux-on-yoga-7x-snapdragon/qcom-firmware-extract.png", resize_width=1600, alt="Screenshot of a terminal showing the output from running qcom-firmware-extract. It says 'extracting firmware' followed by a list of files, and ends with 'Building package qcom-x1e-firmware-extracted_20241201_arm64'.", caption="Running qcom-firmware-extract") }}
Usage
{{ figure(image="posts/2024/linux-on-yoga-7x-snapdragon/system-details.png", link="posts/2024/linux-on-yoga-7x-snapdragon/system-details.png", resize_width=1600, alt="Screenshot of System Details in GNOME settings indicating that GNOME is running on a Lenovo Yoga Slim 7 14Q8X9 with 32Gb RAM, 1Tb disk, GNOME 47 on Wayland. The Processor section is blank.", caption="System Details in GNOME Settings") }}
I have not spent a huge amount of time with this installation as Ubuntu isn't my distro of choice, so I don't want to invest much time setting it up. I did try most common functionality to get an idea of what works though.
Wi-Fi
I was about to connect to my 5Ghz AP without issue. A speed test showed very similar results between Windows and Linux (although Linux was a bit faster):
- Linux: 137 Mbps down, 47 Mbps up
- Windows: 131 Mbps down, 45 Mbps up
Bluetooth
I was able to pair and use some Sennheiser Bluetooth headphones.
Graphics
The display works fine. I was able to change it to run at the full 90Hz in the GNOME settings. The Wayland based GNOME desktop appears to be using GPU acceleration and runs smoothly.
{{ figure(image="posts/2024/linux-on-yoga-7x-snapdragon/glxgears.png", link="posts/2024/linux-on-yoga-7x-snapdragon/glxgears.png", resize_width=1600, alt="Screenshot showing glxgears running and reporting 89fps in the terminal.", caption="glxgears running at 90Hz") }}
glxinfo and vulkaninfo both suggest hardware
graphics acceleration is available. However, Firefox reports llvmpipe
in
about:support
and drops frames playing 4K 60Hz video on YouTube, same with
Chromium. Despite llvmpipe
Firefox runs smoothly.
It appears that hardware video decoding via is not supported yet (vainfo
doesn't find a suitable device).
Audio
The built-in speakers didn't work, with the only output device being a dummy device. However, pairing Bluetooth headphones worked as expected. I didn't test microphones.
Input Devices
The keyboard and trackpad work, including tap-to-click out of the box on the trackpad. The brightness and volume controls work on the keyboard.
Power Management
As mentioned above, installing and running qcom-firmware-extract
copies
firmware from the Windows installation and fixed battery level reporting. I
can't comment on battery life yet but it did seem to run a bit warmer than
Windows, although not as hot as
my early testing of OpenBSD.
Other
I didn't try the USB ports. Suspending appeared to work: the screen turned off, however the LED on the power switch did not start pulsing like it does in Windows. More testing required here.
Conclusion
Linux support for these laptops is coming along quite nicely, and if you're willing to put up with a few rough edges Ubuntu is quite usable. No doubt things will continue to improve.
There's been working happen in other distros too. Relevant to my interests Jami Kettunen has also being working on X1E support in Chimera Linux and has that running on a HP OmniBook X. It's on my TODO list to try out Jami's work on my Yoga 7x.
{{ figure(image="posts/2024/linux-on-yoga-7x-snapdragon/chimera-kde-plasma-x1e.png", link="posts/2024/linux-on-yoga-7x-snapdragon/chimera-kde-plasma-x1e.png", resize_width=1600, alt="About this system in KDE Plasma showing Chimera Linux running on Snapdragon X hardware.", caption="About this system in KDE Plasma showing Chimera Linux running on Snapdragon X hardware.") }}