# APU für Linux, besser Intel oder AMD?



## Tim1974 (2. April 2018)

*APU für Linux, besser Intel oder AMD?*

Hallo,

mir wurde mal gesagt, daß der Linux-Kernen bereits einen 3D-Treiber für die iGPUs von Intel-CPUs beinhalten würde und ich nutze seit dem meinen i3-2100 auch auf diese weise. Das klappt gut, gibt keine Probleme, spielen tu ich damit eigentlich eh nicht.

Nur ist aber mein i3-2100 hier und da schon etwas langsam, auch für das Surfen im Netz auf ausladenden Webseiten, darum komme ich langfristig wohl nicht umher, auch meinen Linux-PC leistungsstärker auszustatten.
Meine Überlegung war natürlich zunächst eine AMD Ryzen CPU oder APU zu nehmen, jedoch möchte ich mal alle Vor-/Nachteile, bei der Nutzung mit einem aktuellen Linux mit Eurer Hilfe durchgehen.

1.) Was würdest Ihr für einen Multimedia-PC mit Linux eher nehmen a) Intel Core i5-8400 oder b) AMD Ryzen 5 1600 (mir ist klar, daß ich dann auch noch eine Grafikkarte bräuchte) oder c) AMD Ryzen 5 2400G?
2.) Spielt AVX bei Linux-Programmen und Encodern für Musik und Videos eine nennenswerte Rolle, oder wird es dies in der nahen Zukunft tun?
3.) Welcher Grafiktreiber ist stabiler, der für die iGPUs von Intel oder von AMD?

Gruß
Tim


----------



## Arkintosz (6. April 2018)

*AW: APU fÃ¼r Linux, besser Intel oder AMD?*



Tim1974 schrieb:


> mir wurde mal gesagt, daß der Linux-Kernen bereits einen 3D-Treiber für die iGPUs von Intel-CPUs beinhalten würde


Für Karten der GCN-Architektur von AMD (Ab ca. HD 7000 und neuer) ist das bei AMD auch der Fall. Das entsprechende Kernelmodul heißt AMDGPU.



Tim1974 schrieb:


> Was würdest Ihr für einen Multimedia-PC mit Linux eher nehmen a) Intel Core i5-8400 oder b) AMD Ryzen 5 1600 (mir ist klar, daß ich dann auch noch eine Grafikkarte bräuchte) oder c) AMD Ryzen 5 2400G?


Mir würde ein Ryzen 3 2200G für Multimedia reichen. Der Unterschied zum 2400G ist gering und bei Multimedia-Anwendungen wahrscheinlich gar nicht feststellbar. Würde ich einen HTPC zusammenstellen, auf dem auch Steam läuft und ein paar leichtgewichtigere Spiele, dann würde ich mir überlegen, ob ein Ryzen 5 2400G Sinn macht. Die anderen CPUs würde ich nicht nehmen, weil die Grafik mehrfach schlechter oder gar nicht vorhanden ist und Grafikkarten sind verdammt teuer geworden...  Raven Ridge kann unter Linux sogar VP9  hardware- de-/codieren, wenn ich mich nicht täusche(Edit: Wohl doch noch nicht, aber wahrscheinlich demnächst irgendwann), HEVC ja sowieso. Gerade, wenn man Videos codieren möchte, und den PC als Bearbeitungsworkstation benutzt, sollte auch interessant sein, dass Raven Ridge mit den richtigen Mainboards auch ECC-Speicher auslasten kann, sodass Codierfehler fast ausgeschlossen werden. Alle Mainboards von ASRock unterstützen beispielsweise diese ECC-Funktion. Es gibt auch Hersteller, bei denen ECC-Speicher nur als normaler Speicher ohne Fehlerkorrektur läuft, oder die nur teure Boards freischalten.



Tim1974 schrieb:


> Spielt AVX bei Linux-Programmen und Encodern für Musik und Videos eine nennenswerte Rolle, oder wird es dies in der nahen Zukunft tun?


AVX macht nur einen geringen Teil an der Performance aus. Solche Berechnungen laufen eigentlich immer mit Gleitkommazahlen ab, die Grafikkarten viel besser berechnen können. Das Stichwort ist OpenCL. Programme wie Darktable, Blender usw. unterstützen die Schnittstelle natürlich.  Ein Intel i7-5960X (8-Kern-Prozessor, vor 2 Jahren noch für ca. 1.000€ verkauft) macht beispielsweise nur 0,375 TFLOPS in einfacher Genauigkeit. Alleine die Grafikeinheit in einem Ryzen 3 2200G bringt über 1 TFLOPS in einfacher Genauigkeit, weil sie 512 "Kerne" hat, die zwar nur mit 1 GHz takten, aber die Masse macht es eben. Zusätzlich können auch Zahlen doppelt so schnell in halber Genauigkeit berechnet werden. Soweit zur Theorie, in der Praxis muss OpenCL auch vom Grafiktreiber unterstützt werden, dazu mehr unten.



Tim1974 schrieb:


> Welcher Grafiktreiber ist stabiler, der für die iGPUs von Intel oder von AMD?


Also instabil sind definitiv beide nicht. Der PC wird sich sicher nicht, wegen eines Treiberfehlers aufhängen oder so. Wenn wir von "instabil" reden, dann höchstens, dass z.B. Adaptive Sync nicht/nicht perfekt läuft und ähnliches, oder dass es Spiele gibt, wo kleine Grafikbugs auftreten, also eher Rand-Features.
Insofern würde ich mal sagen, der AMD-Treiber im Kernel ist etwas neuer, als der Intel-Treiber, somit ist eventuell der AMD-Treiber tendenziell noch weniger ausgereift. Aber ich könnte das nicht an Problemen festmachen - bezüglich AMDGPU sind mir keine ernsthaften Probleme bekannt.
Wenn es um die Userspace-Treiber geht, z.B. für OpenGL, Vulkan, Decoding... Würde ich meinen, dass die Entwicklung bei AMD deutlich schneller voranschreitet, weil ein großes Interesse besteht, da Vega und ähnliche Architekturen nicht nur in den CPUs sondern auch als richtige Zocker- und Workstationgrafikkarten verkauft werden.

Kommen wir nun zur Praxis:
1. Für Raven Ridge sollte Kernel 4.17 benutzt werden. Der kommt erst im Juni heraus, das bedeutet, man müsste vorher Release Kandidaten benutzen. Für Ubuntu bekommt man den neuesten Kernel beispielsweise hier: Index of /~kernel-ppa/mainline
2. Im entsprechenden Firmware-Verzeichnis der Linuxdistribution (z.B. /lib/firmware/amdgpu/) muss die AMD Grafikkarten-Firmware für Raven Ridge liegen.
3. Es wäre auch sinnvoll, eine Mesa-Version zu nutzen, die sehr neu ist. Die neueste Mesa-Entwicklerversion bekommt man beispielsweise als Ubuntu-Nutzer durch Hinzufügen dieser Paketquelle: padoka PPA : Paulo Dias

Es könnte sich anbieten, diese Aktionen am alten Rechner durchzuführen, sodass man die Festplatte/SSD nur in den neuen stecken muss. Im Gegensatz zu Windows geht das ja bei Linux problemlos. Natürlich werden manche Sachen auch in ältere Pakete zurückportiert werden, sodass wahrscheinlich demnächst die Distributionen Raven Ridge-Grafik auch mit einem älteren Kernel unterstützen. Aber wenn man selbst für die Konditionen sorgt, sollte man zumindest in den nächsten Monaten keine Probleme haben. Übrigens: Wenn man hört, Linux sei gut für "abgehangene" Hardware, dann meinen viele damit eben das erste halbe Jahr bis 12 Monate, die es braucht, bis der Hardwaresupport in die Distributionen aufgenommen wird. Manche verstehen das falsch und meinen, ihr 15 Jahre alter Rechner muss sofort funktionieren, weil er ja so alt ist.

Ich glaube, dass ich gelesen habe, dass ab Kernel 4.17 alle GCN-AMD-Karten ab der GCN-Generation 1.3 komplett mit allen Features wie auf Windows unterstützt werden. Nur für Raven Ridge fehlt dann noch der OpenCL-Support. Was das fehlende OpenCL betrifft: Es wird demnächst wahrscheinlich von Vulkan abgelöst. Man möchte nur noch eine API haben, über die alles läuft. Es könnte also sein, dass Raven Ridge selbst gar nicht unbedingt über OpenCL als Coprozessor angesprochen wird, sondern das ganze dann über den Vulkantreiber laufen wird. Bis dahin würden die entsprechenden Programme(Darktable, Blender & Co.) ganz normal ausschließlich über die CPU beschleunigt werden.


----------



## Tim1974 (6. April 2018)

*AW: APU für Linux, besser Intel oder AMD?*

Danke für die ausführliche Antwort! 
Leider habe ich zu wenig Ahnung, das alles wirklich genau zu verstehen.


----------



## Arkintosz (6. April 2018)

*AW: APU fÃ¼r Linux, besser Intel oder AMD?*

Ok, sorry. Eventuell kann jemand anderes etwas damit anfangen.

Also insgesamt gesehen sind der 2200G und 2400G rein von der Hardware betrachtet deutlich schneller für die Anwendungen, die Du wahrscheinlich nutzt, bzw. angesprochen hast. Insbesondere der 2200G für ca. 90€ ist sehr attraktiv.
Problem: Sie sind sehr neu. Und neue Hardware wird bei Linux zwar oft ab dem Releasedatum unterstützt, aber SUSE, Canonical, Redhat usw. bringen ihre "stabilen" Distributionen meistens mit einem Kernel heraus, der mindestens 1/2 bis 1 Jahr alt ist.
Es ist zwar wahrscheinlich, dass das mittlerweile behoben wurde und beispielsweise in Ubuntu 18.04 dann schon direkt funktionieren wird, aber dazu muss Canonical so schlau sein, die entsprechenden Parameter zu setzen, und die anderen Firmen und Distributionsanbieter ebenfalls.
Hier steht einiges dazu: Verfugbarkeit und Fazit - Ryzen 5 2400G und Ryzen 3 2200G im Test: Raven Ridge rockt - Golem.de


----------



## Tim1974 (6. April 2018)

*AW: APU für Linux, besser Intel oder AMD?*

Kein Problem, einiges hab ich ja doch verstanden und für wirklich viel Fachwissen braucht man sich ja auch nicht zu entschuldigen! 

Also wird der Intel Core i5-8400 oder 8500 trotz 6 Kernen mit 6 Threads langsamer sein als der AMD Ryzen 5 2400G mit nur 4 Kernen aber 8 Threads? Das glaube ich irgendwie nicht so recht. 
Bei der integrierten Grafik ist mir aber klar, daß da AMD wohl besser aufgestellt ist als Intel, dafür gibts halt bei AMD nur Quadcores mit iGPU, bei Intel auch Hexacores.


----------



## Arkintosz (7. April 2018)

*AW: APU für Linux, besser Intel oder AMD?*



Tim1974 schrieb:


> Also wird der Intel Core i5-8400 oder 8500 trotz 6 Kernen mit 6 Threads langsamer sein als der AMD Ryzen 5 2400G mit nur 4 Kernen aber 8 Threads?



Das kommt darauf an, ob das verwendete Programm die Grafikkarte zur Rechenbeschleunigung miteinbeziehen kann und ob der Treiber das unterstützt. Solange der (freie) Treiber für 2200G/2400G keinen OpenCL-Support bietet, können Programme nur die CPU-Kerne benutzen. Dann ist natürlich ein i5 schneller, da er mehr CPU-Kerne und etwas mehr Takt hat. (Die Leistung pro Takt ist aktuell etwa gleich)
Sobald OpenCL unterstützt ist, kann die Grafikeinheit mitrechnen und dann ist die CPU-Leistung bei Bildbearbeitung, Videobearbeitung und Renderprogrammen, also quasi überall, wo Bildinhalte verändert werden, fast komplett vernachlässigbar. Selbst kleine Grafikkarten können die Rechenzeit auf 10-20% der ursprünglichen Berechnungszeit mit einer CPU reduzieren.
Am deutlichsten zeigt den Unterschied ein aktueller Test, der auf Windows durchgeführt wurde, wo die Radeon Software bereits OpenCL für Raven Ridge unterstützt: https://www.pcper.com/files/review/2018-02-20/sandra1.png Wie man sehen kann, ist die Rechenleistung der Grafikeinheit des 2400G deutlich stärker und kann somit entsprechende Programme stärker beschleunigen.


----------



## VikingGe (9. April 2018)

*AW: APU für Linux, besser Intel oder AMD?*



Tim1974 schrieb:


> 2.) Spielt AVX bei Linux-Programmen und Encodern für Musik und Videos eine nennenswerte Rolle, oder wird es dies in der nahen Zukunft tun?


Ganz klar: Ja. Video-Encoder wie x264 haben händisch optimierte Codepfade für AVX, und du kannst prinzipiell alles mit AVX-Support selbst compilieren, wenn du willst - wie viel das letztenendes bringt, ist natürlich anwendungsabhängig.


----------



## Arkintosz (9. April 2018)

*AW: APU für Linux, besser Intel oder AMD?*

Ich habe jetzt nochmal sehr viele Benchmarks durchgeschaut und muss VikingGe zustimmen. Mir scheint, dass der langsame Arbeitsspeicher bei Programmen den Grafikeinheiten ein starkes Limit auferlegt.
Eigentlich hatte ich etwa solche Ergebnisse erwartet:
AMD RX 550 - tiny beast for video editing - Personal View Talks

Edit: Allerdings wurde heute der Support für VP9 hinzugefügt: AMD Posts VP9 VA-API Video Acceleration For Gallium3D - Phoronix
VP9 ist ein Codec von Google, der eigentlich keinen Patente etc. enthalten sollte. Da aber die meiner Ansicht nach offensichtlich gemeinschädliche Organisation MPEG LA sich anscheinend Teile aus dem fremden Verfahren patentieren lassen wollte, um sich mal wieder das Monopol auf Multimedia zu festigen und Lizenzgebühren zu verlangen, wie sie sie für den H.264-Codec etc. verlangt, hat Google sich den Codec selbst patentieren lassen und stellt ihn nun jedem frei zur Verfügung, der selbst keine Patentansprüche erhebt.
Nur mal als kleiner Exkurs, wie hirnrissig Patente sind, denn am Ende eigenen sie sich dafür, die eigentlichen Erfinder zu enteignen, wenn sie selbst nicht genug Geld für Patentklagen, Patentierungen etc. haben. Glücklicherweise ist Google für MPEG LA aber zu mächtig.


----------



## VikingGe (10. April 2018)

*AW: APU für Linux, besser Intel oder AMD?*

Naja, prinzipiell hast du mit deinen Ausführungen zu OpenCL ja durchaus recht, das Problem ist nur, dass die Anzahl der Programme, die das (sinnvoll) nutzen, recht überschaubar ist, und die Treibersituation auch nicht gerade die beste. Klassisches Henne-Ei-Problem, und im Endeffekt interessiert sich einfach niemand dafür.

Die Video-Einheit ist da schon fast egal - wenn es nicht gerade um 4k-Material mit 60 FPS geht, kann man VP9 auch problemlos auf jeder CPU abspielen, 1440p/60 auf Youtube schafft sogar mein Phenom noch. Ist natürlich ein netter Bonus und gerade für Laptops interessant, allerdings auch nur, wenn Webbrowser auch VA-API unterstützen. Ich weiß jetzt ehrlich gesagt nicht, ob Firefox und Chromium das können und v.a. auch standardmäßig aktiviert haben.


----------

