mirror of
https://github.com/wezm/wezm.net.git
synced 2024-12-18 10:19:54 +00:00
Add linux-on-yoga-7x-snapdragon post
This commit is contained in:
parent
c1a0c73bfe
commit
1e1d572747
9 changed files with 4025 additions and 0 deletions
Binary file not shown.
After Width: | Height: | Size: 154 KiB |
BIN
v2/content/posts/2024/linux-on-yoga-7x-snapdragon/cover.jpg
Normal file
BIN
v2/content/posts/2024/linux-on-yoga-7x-snapdragon/cover.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 150 KiB |
BIN
v2/content/posts/2024/linux-on-yoga-7x-snapdragon/fastfetch.png
Normal file
BIN
v2/content/posts/2024/linux-on-yoga-7x-snapdragon/fastfetch.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 233 KiB |
BIN
v2/content/posts/2024/linux-on-yoga-7x-snapdragon/glxgears.png
Normal file
BIN
v2/content/posts/2024/linux-on-yoga-7x-snapdragon/glxgears.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 247 KiB |
1013
v2/content/posts/2024/linux-on-yoga-7x-snapdragon/glxinfo.txt
Normal file
1013
v2/content/posts/2024/linux-on-yoga-7x-snapdragon/glxinfo.txt
Normal file
File diff suppressed because it is too large
Load diff
134
v2/content/posts/2024/linux-on-yoga-7x-snapdragon/index.md
Normal file
134
v2/content/posts/2024/linux-on-yoga-7x-snapdragon/index.md
Normal file
|
@ -0,0 +1,134 @@
|
|||
+++
|
||||
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][ubuntu-concept] for testing on these laptops, which I
|
||||
installed and tested on my Lenovo Yoga Slim 7x.
|
||||
|
||||
<!-- more -->
|
||||
|
||||
### Installation
|
||||
|
||||
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](glxinfo.txt) and [vulkaninfo](vulkaninfo.txt) 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](@/posts/2024/yoga-7x-snapdragon-developer-review/index.md#non-windows-operating-systems).
|
||||
|
||||
#### 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][JamiKettunen]
|
||||
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.") }}
|
||||
|
||||
|
||||
[JamiKettunen]: https://github.com/JamiKettunen/cports/tree/x1e
|
||||
[ubuntu-concept]: https://discourse.ubuntu.com/t/ubuntu-24-10-concept-snapdragon-x-elite/48800/1
|
||||
[speed test]: https://www.speedtest.net/
|
Binary file not shown.
After Width: | Height: | Size: 150 KiB |
Binary file not shown.
After Width: | Height: | Size: 162 KiB |
2878
v2/content/posts/2024/linux-on-yoga-7x-snapdragon/vulkaninfo.txt
Normal file
2878
v2/content/posts/2024/linux-on-yoga-7x-snapdragon/vulkaninfo.txt
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue