Linux auf ARM Thinkpad?

MrTony

Lieutenant
Registriert
Feb. 2015
Beiträge
574
Hallo zusammen,

ich bin aktuell am überlegen mir zum aktuell recht günstigen Preis ein Thinkpad X13 mit Snapdragon zu holen.
Die M1 / M2 Varianten von Apple sind zwar tendentiell besser, aber ich persönlich bin ein großer Freund von Thinkpad Hardware und insbesondere der Tastatur.
Andererseits, seit ich im Betrieb mit einem M1 Macbook Pro arbeite, könnte ich persönlich keinen Intel oder AMD CPU mehr akzeptieren. Die Kombination aus hoher Leistung und geringem verbrauch spielt für mich einach in einer ganz anderen Liga...
Nun will ich aber definitiv nicht Windows 11 auf AR haben und würde das Gerät gerne mit Linux betreiben (bisher habe ich Ubuntu benutzt).

Ich hab mich ein wnig schlau gemacht. Es gibt zwar Distros, wie Ubuntu Mate, die auf ARM laufen, aber wie sauber und flüssig die laufen, dazu habe ich wenig gefunden.
UND wie schaut es denn mit der Software aus? Ich mache keine Medienbearbeitung oder Spiele, ich nutze VSCODE, Jetbrains Produkte und Office Programme. Gibt es in dem Bereich viel Software, die nativ unter Linux auf ARM läuft?

Falls jemand Linux unter ARM64 nutzt würde es mich freuen da mal ein paar Erfahrungsberichte zu hören!

VG
Tony
 
Die Snapdragon CPU's sind mal mit den Apple CPU's nicht vergleichbar. Das ist eine ganz andere Liga. Wenn du effektiv etwas Arbeiten möchtest und nicht nur Office / Webbrowsing dann kommt meiner Ansicht nach auf ARM-Basis nur Apple in Frage.
 
Wenn dein konkretes Geraet nicht auf irgendwelchen Kompatibilitaetslisten steht, solltest du nicht davon ausgehen das du Linux installieren kannst.
Das ist bei ARM leider keine selbstverstaendlichkeit :(
Ich habe zB ein ARM Tablet mit Snapdragon 850 billig geschossen, und obwohl das einen klassischen "BIOS" Screen hat, wo man die Bootreihenfolge einstellen kann, habe ich kein Livemedium zum booten bekommen.
 
  • Gefällt mir
Reaktionen: MrTony
Darf man fragen, was dich dazu bewegt auf ARM zu setzen? Abgesehen von Apple scheint das noch niemand vernünftig umgesetzt zu haben. Preislich finde ich das X13 ARM geradezu frech: Ein mieses 300 Nits Display bei einem vermeintlichen Premium-Produkt.

Wenn's nur darum geht stromsparend und lange mit Akku über die Runden zu kommen, dann lassen sich aktuelle Ryzen Mobile CPUs problemlos auf 10W begrenzen und rennen damit immer noch Kreise um Snapdragons - bei nahezu vollständig lüfterlosem Betrieb.

Es gibt für VSCODE arm64 Builds, für deine Jetbrains Software aber nicht: https://youtrack.jetbrains.com/issue/RIDER-24888


Der Support von Linux auf dem Gerät scheint bestenfalls stiefmütterlich zu sein: https://www.reddit.com/r/thinkpad/comments/w22mvg/arch_linux_arm_iso_on_x13s_wip/
 
  • Gefällt mir
Reaktionen: nan1bot, Theo Rehtisch, MrTony und eine weitere Person
4nanai schrieb:
Darf man fragen, was dich dazu bewegt auf ARM zu setzen? Abgesehen von Apple scheint das noch niemand vernünftig umgesetzt zu haben. Preislich finde ich das X13 ARM geradezu frech: Ein mieses 300 Nits Display bei einem vermeintlichen Premium-Produkt.

Wenn's nur darum geht stromsparend und lange mit Akku über die Runden zu kommen, dann lassen sich aktuelle Ryzen Mobile CPUs problemlos auf 10W begrenzen und rennen damit immer noch Kreise um Snapdragons - bei nahezu vollständig lüfterlosem Betrieb.

Danke für die Info!
Ich hatte ehrnlich gesagt aus den Tests nicht rausgelesen, dass der Snapdragon im X13 dermaßen schlecht ist. Ich hatte erwartet, dass der evtl. auf dem Niveau eines Standard M1 ist oder minimal darunter....

Ich habe ein T14 (Gen1) mit AMD. Wenn ich mich nicht täusche dann ist da ein Ryzen 5 5650U drin. Also quasi letzte Generation (Aktuell ist 6000 und 7000 ist angekündigt?!)

Geht das bei dem Modell mit der Begrenzung auf 10W auch schon?

Edit:
Laut Reddit scheint das bei AMD Mobile CPUs garnicht wirklich zu gehen?
https://www.reddit.com/r/thinkpad/comments/i1ufq7/t14s_amd_undervolt_experience/

"AMD doesn't allow it on Ryzen Mobile unfortunately. Only thing you can tweak are the STAPM and TDP limit.

undervolting on zen 2 is spotty at best anyway, it runs too close to the lowest possible voltage, nothing to gain without crashing"
 
Zuletzt bearbeitet:
Also ARM Linux und Debian könnten auf dem X13s wohl laufen, wenn ich diverse reddit Links so lese. Gibt sogar einen Megathread. Debian soll auch gehen und hat bei Lenovo selber eine Anleitung in deren Forum. Aber laut Kommentar ist das X13s nur "Proof of Concept". Hier wurde ein extra ans X13s angepasste Arch Linux ISO genannt. Müsstest du dich sonst mal durchwühlen. Zudem könntest du mal gucken, ob es entsprechende Programme bei arch linux for ARM gibt. Libreoffice scheint es z.B. zu geben. VSCODE sah ich da so nicht direkt (oder nur 3 Sprachen spezifische Pakete). Ich könnte mir daher vorstellen, dass es noch viele Programme nicht gibt, die du von x86* gewohnt bist. Im Moment würde ich daher behaupten, dass du mit x86 besser aufgehoben bist.

*Mit x86 meine ich nicht 32 Bit, sondern allgemein die (Intel und AMD) Architektur.
 
MrTony schrieb:
Geht das bei dem Modell mit der Begrenzung auf 10W auch schon?

Ja, mit ryzenadj. Undervolting funktioniert nicht, richtig. Das Setzen eines Powerlimits hingegen problemlos.

Meine Config, die ich nach jedem Systemstart und Verlassen des Standby aufrufe:
#!/bin/bash
sudo ryzenadj --stapm-limit=10000 --fast-limit=10000 --slow-limit=10000 --tctl-temp=60 --power-saving

powerlimit.service:
[Unit]
Description=10W_Limit
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/local/bin/powerlimit

[Install]
WantedBy=multi-user.target

powerlimit_standby.service:
[Unit]
Description=10W_Limit
After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

[Service]
Type=simple
ExecStart=/usr/local/bin/powerlimit

[Install]
WantedBy=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: MrTony
Zur Softwarekompatibiliatet sei noch gesagt:
Mit Windows 11 kann auch auf ARM CPUs beliebige Software ausgefuehrt werden: ARM, x64 und x86 Software kann ganz normal installiert werden.
Allerdings ist insbesondere bei x86 die Performance auf dem Snapdragon 850 nicht wirklich berauschend im Vergleich zu ARM nativer Software.
 
  • Gefällt mir
Reaktionen: MrTony
Ranayna schrieb:
Das ist bei ARM leider keine selbstverstaendlichkeit :(
Wie auch es braucht für jedes Gerät ein extra image mit dessen devicetree.
4nanai schrieb:
Abgesehen von Apple scheint das noch niemand vernünftig umgesetzt zu haben.
Auch da liegt es an Apples Devicetree pflege wie gut es funktioniert.
 
Die Arbeiten an dem ARM-basierten Thinkpad X13s seien darüber hinaus aber nicht offiziell Teil des Linux-Programms, so Pearson. Lenovo arbeite dennoch eng mit ARM und Linaro an dem Linux-Support im Rahmen einer Machbarkeitsstudie. Noch funktionierte aber weder Sound noch WLAN, die Energieverwaltung sei unzuverlässig und ob die Kamera überhaupt je laufen können werde, sei noch nicht sicher.
Das stand in dem Artikel bei Golem vom 01.08.22 https://www.golem.de/news/laptop-le...h-nicht-mit-linux-ausstatten-2208-167290.html
 
Zuletzt bearbeitet:
sikarr schrieb:
Ich glaube mal einen Test gelesen zu haben wo am ende auch noch viele Treiber fehlten bzw. gar nicht verfügbar waren.
Also bei den Links stand, das Kernel 5.19.x und 6.0.x Unterstützung für Gen1 und Gen2 des Snapdragons gebracht haben. Könnte also sein, dass da nun was besser unterstützt wird.
 
4nanai schrieb:
Ja, mit ryzenadj. Undervolting funktioniert nicht, richtig. Das Setzen eines Powerlimits hingegen problemlos.
Vielen Dank für ausführliche Info.
Ich hab das jetzt mal alles so gesetzt, wie du und werde jetzt mal testen, wie lange bein Thinkpad durchhält. Rein von der Leistung her merke ich bislang nicht, dass die Begrenzung irgendwas ausmachen würde.

Aber da ich nicht so 100Prozent fit in Linux bin, gibt es keine Möglichkeit, dass die Parameter bei jedem Systemstart autoamtisch gestartet werden?
 
MrTony schrieb:
Aber da ich nicht so 100Prozent fit in Linux bin, gibt es keine Möglichkeit, dass die Parameter bei jedem Systemstart autoamtisch gestartet werden?

Doch. Quasi so, wie ich's im Post angedeutet hatte. Es muss ein systemctl Service angelegt werden, das sowohl beim Systemstart als auch nach dem Aufwecken aus dem Standby das entsprechende Skript mit den ryzenadj-Parametern aufruft.

Dieses Skript legst du als powerlimit beispielsweise ins home-Verzeichnis oder nach /usr/local/bin/
#!/bin/bash
sudo ryzenadj --stapm-limit=10000 --fast-limit=10000 --slow-limit=10000 --tctl-temp=60 --power-saving
Mit chmod +x powerlimit machst du das Skript ausführbar.

Anschließend legst du im Pfad /etc/systemd/system 2 Services mit folgenden Namen und Inhalten an. Die jeweiligen Absolut-Pfade bei ExecStart müssen je nachdem wo du das Skript abgelegt hast angepasst werden:

powerlimit.service
[Unit]
Description=10W_Limit
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/local/bin/powerlimit

[Install]
WantedBy=multi-user.target

powerlimit_standby.service:
[Unit]
Description=10W_Limit
After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

[Service]
Type=simple
ExecStart=/usr/local/bin/powerlimit

[Install]
WantedBy=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target


Anschließend:
sudo systemctl daemon-reload
sudo systemctl enable powerlimit
sudo systemctl enable powerlimit_standby
sudo systemctl start powerlimit
sudo systemctl start powerlimit_standby

Jetzt wird das Skript nach Neustart/Standby aufgerufen und das Limit auf 10W gedeckelt.


Ich würde mir zusätzlich noch ein weiteres Skript mit höheren Limits erstellen, damit du bei Bedarf mehr Leistung zur Verfügung hast.
 
  • Gefällt mir
Reaktionen: MrTony
Zurück
Oben