AW: APU für Linux, besser Intel oder AMD?
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.
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.
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.
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.