Leserartikel Linuxdistributionen auf low-end Atom-Hardware

lokon

Lt. Commander
Registriert
Aug. 2013
Beiträge
1.440
Da öfters Fragen über die Tauglichkeit von alter Hardware kommen, möchte ich kurz über das Setup von 3 "älteren" PCs, auf denen aktuell Linux ohne größere Probleme läuft, berichten.

A: Intel D945GCLF2, Atom 330 (2008); EOL: 2010 (siehe PCN109785) 1GB RAM, Arch
B: Chromebook Acer C720 (Codename peppy), Celeron 2955U (2013), 2GB RAM, 16GB msata SSD, Supportende v. Google: 2019, Fedora
C: Trekstor Surfbook W1 , Atom x5-Z8350 (2016), 2GB RAM, 32GB eMMC, "aktuell" , Arch,Xubuntu

Kurze Systembeschreibung/Setup

System A
- Status "Experiment". Es bootet mittels PXE (Bios, 32bit) - dnsmasq für PXE, DHCP u. TFTP, syslinux (PXE), nbd (Netzwerk-Rootfs). Das System funktioniert noch - es ist ein 64bit Archlinux mit "aktuellem" Kernel (der Kernel ist "fest" durch PXE auf dem Server).
Problematisch ist hier die analoge Grafikausgabe. Der XFCE-Desktop funktionierte relativ normal.
Der Lüfter (Lagerschaden) wurde entfernt ("passiv Betrieb") und die Wärmeleitpaste mussten getauscht werden (fest geworden).

System B ist "in Verwendung" . Fedora 32, normale 64bit EFI installation (Chromebook mit UEFI Firmware via chromeboxtech), Dual-Core. 12GB rootfs auf msata (KINGSTON SNS4151S316G). "normale" ath9k WLAN-N Netzwerkkarte
Verwendung als Surfmaschine / Youtube / Videoclips im Schlafzimmer (Nachttisch).
Gute Videounterstützung, Videos laufen teilw. Hardwarebeschleunigung.
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
Austausch der Wärmeleitpaste war notwendig, Problematisch ist der defekte Lüfter auch hier (Lagerschaden).
Läuft über Netzteil da der Akku entfernt wurde - wg. aufgebläht (vlt. Schaden durch zuviel "Keyboard-flex" oder einfach Alterung)
Problematisch war auch ein Fehler im Kernel, der die Hardwarebeschleunigung störte und nur nach längerer Zeit gefixt wurde (alte Kernelversion weiternutzen).

System C: Status "Experiment" - "Cherry Trail" Atom .
Original 32bit Windows 10 ist noch auf der internen eMMC - hat wegen 32GB aber die bekannten Update-Probleme (fehlender freier Speicher bei Feature-Updates. Die eMMC ist langsamer als die msata SSD des Chromebooks (70MB/s lesen <-> 228MB/s lesen, via dd of=/dev/null).
Interessant wegen 32bit UEFI (grubia32.efi starten/installieren) - und das etwas "eigene" BIOS/Firmware-UI (von Insyde).
Auch hier ein normales 64bit Linux.
Aktuell läuft Arch Linux von USB-Micro-SD-Reader (bzw. Xubuntu via USB SSD) - etwas problematisch scheint der Wifi-Chip zu sein (BCM43430a0 , via SDIO) - prinzipiell unterstützt aber das "richtige" NVRAM/Firmware fehlt - eine Alternative (nvram anderer Hardware) scheint aber zu funktionieren.
Bei anderen "Cherry Trail" Atoms sind evtl. andere SDIO WLAN-chips verbaut - Intel fertigt afaik keine solchen an SD Bus anbindbaren Chips / "billiglösungen" gegenüber den mini-PCIe / M.2 / NGFF Karten.
Ein AC-USB Wlan (mediatek chipsatz, "nano" stick, T2U variante TP-Link für mt76x0u treiber) funktioniert.
Unter Windows war ein USB-Hub mit USB-Ethernet-Adapter + USB-Maus angeschlossen (wg. geringer USB Port-Anzahl)
Laptop wurde wegen zu geringer Performance unter Windows "entsorgt".


Interessant ist die Video-Unterstützung (aktuell noch ungetestet)
vainfo: VA-API version: 1.11 (libva 2.11.1)
vainfo: Driver version: Intel i965 driver for Intel(R) CherryView - 2.4.1
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD

Eigentlich wird VP9 zB nicht in Windows unterstützt - sondern nur in Android. (s.a. intel community) - In Arch Linux muss für VP9 aus dem aur " intel-hybrid-codec-driver" benutzt werden (und libva den hybrid modus einkompiliert haben/unterstützen)
Die Encoding-Unterstützung ist bei dieser "low power" Plattform auch interessant.
Die Videobeschleunigung soll 4K Unterstützten - hier fehlt aber ein entsprechendes Abspielgerät.


Kosten

Preismäßig bewegen sich diese auf dem Gebrauchtmarkt so zwischen "Umsonst" (ebay-kleinanzeigen) - "20€" Klasse : zB regelmäßig bei Zoll-Auktion - (dazu gebrauchte 19 Zoll LCDs "Business" Modelle mit DVI-Anschluss (HDMI/DVI Adapter) -- sind auch für ~20€ bei ebay ... erhältlich) bzw <100€ für gebrauchte Laptops der Chromebook-Klasse (Angebote neu ab ~150€) mit Atom / Celeron N chips.


Wertung

Für "Schreibmaschine", Wikipedia - Recherche, Video, Musik eignen sich eigentlich noch alle Rechner - bei der Grafik sollte es maximal "Full-HD" sein (bzw. <720p beim Atom 330).
Ob jetzt auf jeder dieser 3 System eine Zoom Konferenz im Browser "anständig" läuft (oder irgendeine JS Content-UI) glaube ich nicht so sehr - aber eigentlich sollte "VGA" Qualität (0,3 Megapixel auf EEE-PCs - atom 330 waren üblich) schon ausreichen - ist ja nah dran an alter TV Qualität.
Genügend "Bürospiele" aus der Retro - Ecke (nicht unbedingt "Emulator" - es gibt auch noch "Karten"/Mahjongg, Rätsel, alte Plattformer, alte Spiele -> OpenSource ...

Problematisch ist die Wartung bei Laptops mit Lüftern und verkrustete alte Wärmeleitpaste.
Eventuell muss das Bios-Menü / Firmware-Menü geupdated werden, Secure-Boot Einstellungen sind evtl. anzupassen - die Installation hat also gewisse Hürden.

Fragen ?

Hat jemand spezielle Fragen zu Hardware oder Installation ?
Vielleicht ist ein spezieller Benchmark unter Linux erwünscht?
Hier liegt zB auch ein Raspi 3 herum - oder andere 1-2 "SBCs" (Allwinner H6 basiert zB)
 
  • Gefällt mir
Reaktionen: konkretor, Linuxfreakgraz, FallDown75 und 8 andere
Ein paar Tests zu System C - Cherry Trail Notebook mit iGPU

Diese CPUs mit iGPU werden lt PCN als IOT weiter supported.

Die Plattform selbst hat wie gesagt ein paar kleinere Probleme (langsames SDIO WLAN, langsames eMMC, Linux-Kernel: "atomisp" in staging (evtl. für Kameras wichtig) ).

Bei der iGPU ist es allerdings etwas kompliziert (und vielleicht leicht verwirrend) - deshalb an dieser Stelle ein längerer Beschreibungs-Versuch.

Aktuell hat Intel 11 bzw. 15 "CPU Generationen" auf dem Markt bzw in Entwicklung, mit entsprechenden Codenamen. Die Zählung gilt für "Core" CPUs. Übersicht: wcftech , en-wikipedia

Die iGPU folgt nicht dieser Generationen-Nummerierung - iGPUs haben getrennte Generationen.
Hier fängt die Nummerierung bei Chipsatz-Grafik an - also bevor die GPU in die CPU gewandert ist.
Übersicht: en-wikipedia , linuxreviews

Trotz etwas "Stillstand" bei den CPU Kernen / Architektur gab es auf dem iGPU Gebiet ein paar interessante Entwicklungen - die im Vergleich zu AMD iGPUs - oder auch den iGPUs von Raspberry Pi (VideoCore), AppleTV (Nvidia, PowerVR), FireTV (Mali, PowerVR) interessant sind.

Bei der iGPU spielen Frequenz, Shaderzahl, "EU" (Execution Units) eine Rolle wenn es um 3D Gaming oder Compute (OpenGL, Vulkan, OpenCL Kompatibilität) geht.

Die Videobeschleunigung erfolgt aber bei Intel teilweise über extra "Funktionsblöcke" / Hardware.
Seit Skylake unterstützen die iGPUs auch Virtualisierung (GVT-g).

Nützliche Informationen sind in der Featuretabelle von media-drivers niedergeschrieben - allerdings nach CPU-Generation/Codenamen.

Auffälligerweise fehlen hier die "Atom" CPUs : BYT (Bay Trail) , CHV (Cherry Trail, Cherry Valley) oder BSW (Braswell)

In alten Reviews zB auch hier auf Computerbase :Intel Cherry Trail: Vier Airmont-Kerne mit Broadwell-Grafik in 14 nm steht dort
12 bis 16 EUs der Broadwell-Grafik Gen8 in 14-nm-Fertigung die Nachfolge von Bay Trail

Bei Linux gibt es aktuell mehrere Arten der Grafikdarstellung auf Desktops - je nach Intel iGPU.

  • Bei Xorg kann (!) - muss aber nicht - der xf86-video-intel Treiber eingesetzt werden.
  • alternativ wird der "Kernel modesetting" Treiber genutzt. (Name: i915)

Das Mesa Projekt und Intel stellen dann verschiedene Treiber für OpenGL und die Ansteuerung der Videobeschleunigung (VA-VAPI, libva) zur Verfügung.

OpenGL :

Iris ist aber auch ein alter Codename / Marketingname, der von Intel immer wieder benutzt wird.
2013: Intel Iris Pro 5200 Grafik im Test: Intels schnellste gegen Nvidia und AMD (computerbase)
2021: Intel Iris Xe (intel)
"glxinfo -B" liefert tests, der Treiber kann via "MESA_LOADER_DRIVER_OVERRIDE=iris" überschrieben werden.

LibVA VA-API / VAAPI Videobeschleunigung:
  • i965
  • iHD
(evtl. für "integrated hybrid driver" ?, evtl. ab "Gen 8" ?)

Mittels des Programms "vainfo" wird der Treiber nach unterstützter Videobeschleunigung gefragt.
Mit "LIBVA_DRIVER_NAME=i965" oder "LIBVA_DRIVER_NAME=iHD" vor dem vainfo kann ein anderer Treiber angesteuert werden - das sollte auch bei der Wiedergabe funktionieren.

Erkenntnisse

System C / CHV
wird nicht von iris unterstützt. - Das scheint so im Mesa Quellcode festgelegt zu sein - Zeile 106 (CHV vor "PREFER_IRIS")
Nur i965 VAAPI funktioniert in der Videobeschleunigung.
Ob das "wirklich" so ist - oder Intel nur Ressourcen für den Support von alter Hardware fehlen ?

Quicksync != VAAPI das scheint unter Linux verschieden zu sein.
Es wird von den Treibern / Programmen vielleicht am Ende die gleiche Hardware / Funktionsblock angesprochen - das "wie" unterscheidet sich.

FFmpeg unterstützt als Dekodierung "h264_vaapi" aber auch ein Modul "h264_qsv". QSV=Quick Sync Video
FFmpeg muss die Unterstützung für QSV einkompiliert werden - für Quicksync ist "libmfx" in ffmpeg verantwortlich (./configure --enable-libmfx)
Die libmfx unterstützt allerding den CHV iGPU nicht (kein Erfolg bei ffmpeg konvertierung).
ffmpeg -encoders bzw. ffmpeg -decoder listen die Features auf, die unterstützt werden - ansonsten muss selbst kompiliert werden.

CHV unterstütz HD HEVC 8bit und H264(AVC,x264) UHD 4K 30fps - auch hohe Bitraten.
H264 4K 30fps Wiedergabe bei ~20% CPU Last oder kleiner - bei reduziertem CPU Takt.
H264 4K60fps ruckelt - kontinuierlich Dropped Frames.
Teilweise gibt es Dropped Frames am Start (<16), Ursache ist vermutlich ein Stream/Demuxerproblem - Veränderungen an Caching waren nicht erfolgreich - andere Clips hatten keine dropped Frames.
Getestet wurde Jellyfish , die Wiedergabe erfolgte mittels mpv.

Für Tips + Kommandozeilen-Fu mit VAAPI Recoding sind die GISTs von Brainiarc7 eine Lektüre wert (Englisch) hier , übersicht nach updates geordnet
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Twostone
Daumen hoch, daß Du auf den in-order-Atömern eine Distro ausprobiert hast. Habe selber noch zwei alte Atömer (D525 und 330) im Einsatz, die jedoch eher als "Server" für bestimmte Dienste laufen (einer ist lediglich als "Intranet-Radio" tätig, der andere bietet verschiedene Netzwerk-Dienste an). Als Desktop-Rechner würde ich sie nicht einsetzen, da ist man mit out-of-order-CPUs besser bedient.

Im Vergleich mit den beiden C3558, die bei mir die beiden Datengräber zweiter und dritter Linie bedienen, fühlen sich die beiden in-order-CPUs im Desktop-Betrieb an wie Auto fahren mit angezogener Handbremse und Motorschaden. Da fällt es auch nicht auf, daß die Karre auf Backsteinen aufgebockt wurde.

Auf der Shell sind die beiden Alten noch gut zu gebrauchen und sind auch für ihre jetzige Aufgabe gut gerüstet. Würde ich jedoch die Systeme neu bauen müssen, würde ich wohl eher zu ARM greifen oder gleich zu Goldmonts und Virtualisierung.
 
Zuletzt bearbeitet: (CPUs korrigiert: Einer der beiden ist doch älter.)
Zurück
Oben