Vulkan unter Arch nutzen.

  • Ersteller Ersteller Brathorun
  • Erstellt am Erstellt am
B

Brathorun

Gast
Servus,
ich bereite mich gerade auf meine erste ArchLinux Installation vor.
Nun hänge ich ein wenig bei der Installation des Grafiktreibers fest.

Meine Grafikkarte: AMD R9 290

Ich möchte Vulkan als 3D-Beschleuniger (Treiber?) nutzen.
Hierzu muss ich das Paket "amdgpu-pro-vulkan" installieren.

Benötige ich weiterhin auch das Paket "xf86-video-amdgpu"?

Könnt ihr mir noch weitere Tipps geben, wie ich meine Grafikkarte unter Arch optimal nutzen kann?

EDIT:
Was hat es mit dem Catalyst-Treiber auf sich? (Paket: "catalyst")
Welcher Treiber ist besser?
 
Zuletzt bearbeitet von einem Moderator:
Du solltest auf jeden Fall noch "xf86-video-amdgpu" installieren. Catalyst ist das alte propäritäre Treibersystem von AMD, alles mit "amdgpu-pro-" ist das neue propäritäre System von AMD. Leider ist das nur für alte kernel verfügbar und für Debian/ Ubuntu gemacht. Man kann es zwar über AUR nachinstallieren, dann aber nur mit Kerneldowngrade. Außerdem bricht es ein paar Anwendungen und DEs. Also nicht empfehlenswert. Dann installiere und teste noch vdpau für Videobeschleunigung: https://wiki.archlinux.org/index.php/Hardware_video_acceleration#Installing_VDPAU

Vulkan wird im Moment nur einfach unterstützt, mit den nächsten 4.10 Kernel release soll da wohl noch mehr gehen.
 
Hi,

Hier ist doch eigentlich alles erklärt.

Der xf86-video-amdgpu ist wohl der freie Standardtreiber, der den du installiert hast anscheinend proprietär und nicht offiziell supportet.

Catalyst ist eine Software für Einstellungen im Treiber, gibt's auch unter Windows, wurde aber längst (seit einem Jahr gut?) von Crimson (ReLive) abgelöst. Weiß allerdings nicht genau wie es da bei Linux aussieht, anscheinend gibt es auch eine Crimson Edition für Linux.

Catalyst wie Crimson beinhalten den Treiber und zusätzlich die Software, daher dürften die drei Pakete "in Konkurrenz" zueinander stehen -> nur eins installieren.

Zudem: dafür hat man doch Abhängigkeiten zwischen Paketen, dass sie automatisch zusätzlich benötigte Pakete mitinstallieren?
 
Zusammengefasst gibt es diese Treiber zur auswahl:
amdgpu-pro
opencl-amd
xf86-video-amdgpu
und catalyst bzw. crimson
... richtig? Davon sollte ich nur ein Treiber installieren?! :)

Welcher Treiber ist der Beste?

Dann gibts noch OpenGL und Vulkan
Möchte ich Vulkan - muss ich dieses extra installieren?
OpenGL ist in der Standard-Installation enthalten? Muss ich OpenGL dann deinstallieren?
 
bleibe bei xf86-video-amdgpu - wenn der bei dir läuft/du den "experimental"-support-flag im kernel gesetzt hast :D
ausser du brauchst zwingend die bestmögliche Vulkan-Performance.

amdgpu-pro läuft wie schon gesagt nur auf älteren kerneln und ist openGL-mäßig in vielen sachen langsamer als mesa. OpenCL liegt er allerdings vorne.

Ob du vulkan mit amdgpu nutzen kannst hängt davon ab, ob du den userspace-treiber (radv) mit drin hast - das hat mit dem Kerneltreiber erstmal nicht direkt was zu tun :D
 
So habs geschafft... Arch ist auf der Platte und Gnome 3 läuft.

Leider gabs einige Probleme und obwohl - jetzt noch alles läuft - frage ich mich weshalb diverse Befehle nicht Funktioniert haben:
bei:
Code:
sudo systemctl enable avahi-deamon.service
Gab es die Fehlermelsung: "no such file or directory"
selbige Meldung bei:
Code:
 sudo systemctl enable sddm.service

Wie gesagt ich hab den Gnome 3 als Desktop und bin mit Kabel unterwegs...

Noch eine Frage zum Grafiktreiber. Hab jetzt den "xf86-video-amdgpu" installiert. Die Pakete waren nichtmal 1MB groß. Kann das sein? Ist das der Optimale Treiber für meine Karte?
 
die Größe kann schon hinkommen, dependencies wie mesa wirste ja vermtl schon vorher drauf gehabt haben :D

zeig einfach mal die Ausgabe von "inxi -G", dann sieht man ja welcher Treiber etc in Verwendung ist.
 
na dann könntest du inxi ja installieren? :D
müsste eigentlich in den arch repos direkt sein -> sudo pacman -S inxi
 
Wäre ein versuch wert :)

...

Okay bei inxi -G kommt diese Ausgabe:
Resuming in non X mode: glxinfo not found. For package install advice run: inxi --recommends
Graphics: Card: Advanced Micro Devices [AMD/ATI] Hawaii PRO [Radeon R9 290/390]
Display Server: N/A driver: N/A Resolution: 80x24
 
hm, scheinbar brauch es auch noch glxinfo was wohl auch nich installiert ist -> sudo pacman -S glxinfo (denke mal das wird schon in den repos sein xD)
wenn danach immernoch keine gscheite ausgabe kommt: was kommt bei "lsmod | grep "amdgpu" "?
 
@Brathorun

Dein Vorhaben funktioniert nicht. Das Paket "amdgpu-pro-vulkan" ist ein Teilstück vom proprietäre AMD Treiber (AMD GPU-PRO / Amdgpu-Pro 16.60.379184-2 (Arch)).

Das lässt sich nur ganz installieren.

Das geht aber nicht mehr, weil Arch den "xorg-server 1.19.2-1" verwendet und der proprietäre unbedingt die 1.18 Version haben möchte. Mit der Kernel Version hat dieses nichts zu tun bei Arch. Selbst getestet mit 4.9 / 4.10 (Mainline) Kernel.

Die 1.18 könnte man noch installieren, aber das würde ein neues aufsetzten von Arch voraussetzen und der proprietäre AMD Treiber ist von seiner Geschwindigkeit bei OpenGL für den A....

Das ganze hat auch nichts mit dem "xf86-video-amdgpu" zu tun. Den für den proprietäre kommt "xf86-video-amdgpu-pro" als Einsatz.

"xf86-video-amdgpu" ist der Unterbau für RadeonSI(Mesa) und vor allen für Radv(Vulkan). Dein Karte wird als Radeon & AMDGPU angesprochen. Und das AMDGPU für Radv(Vulkan) funktioniert, muss RADEON -blacklist- werden.

Radv(Vulkan) (Open) ist das Gegenstück zu Vulkan. Radv(Vulkan) müsste mit deiner Karte voll funktionieren. Meine 7950 tut dieses noch nicht.

Die Frage ist auch, was möchtest du mit Vulkan überhaupt machen?

Dann als Anfänger könnte man als Installation zu Arch-Anywhere empfehlen. Ein gutes Installation Projekt, das einen Anfänger sehr gut führt, um Arch mit einer Desktop Umgebung o. auch keiner, zum Ergebnis zu führen.
 
Zuletzt bearbeitet von einem Moderator:
@obz245
Nun gut, dann vergess ich das mit Vulkan mal... ich dachte nur, das mit der neuen Schnittstelle alles viel leichter würde - dem ist wohl nicht so...

Arch ist, wie gesagt, schon auf der Platte und alles läuft soweit: Display/Xorg-Server, Sound und Internet funktionieren.

Eigentlich bin ich auch recht zufrieden. Nur würde ich eben noch gern wissen, weshalb diese beiden Befehle nicht funktioniert haben:
sudo systemctl enable avahi-deamon.service
sudo systemctl enable sddm.service
Fehlermeldung: no such file or directory

avahi ist doch ein wichtiger Systemprozess für die Netzwerksteuerung. avahi hab ich installiert und Verbindung ins Internet habe ich auch.

@Termy
Aus der Anzeige werde ich nicht schlau:
Resuming in non X mode: glxinfo not found. For package install advice run: inxi --recommends
Graphics: Card: Advanced Micro Devices [AMD/ATI] Hawaii PRO [Radeon R9 290/390]
Display Server: N/A driver: N/A Resolution: 80x24

Diese besagt doch das eben kein Treiber läuft und die Auflösung 80x24 beträgt. Hä?
Der xf86-video-amdgpu ist doch Installiert und der Bildschirm wird in genau der Richtigen Auflösung (1920x1080) gezeigt.
Welcher Treiber läuft den nun?
 
Zuletzt bearbeitet von einem Moderator:
Installiere für Mesa(RadeonSI) & Vulkan(Radv) dieses Pakete:

sudo pacman -Sy mesa mesa-demos mesa-libgl mesa-vdpau opencl-mesa vulkan-radeon vulkan-extra-layers --needed

sudo pacman -Sy libva-mesa-driver vulkan-headers vulkan-icd-loader vulkan-trace vulkan-validation-layers --needed

Danach gebe mal folgendes ein:

glxinfo | grep OpenGL

Ergebnis im "Spoiler" posten.

Und:
vulkaninfo

Ergebnis im "Spoiler" posten.

Und:
inxi -G

Ergebnis im "Spoiler" posten.
 
Zuletzt bearbeitet von einem Moderator:
glxinfo | grep OpenGL:
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD HAWAII (DRM 2.48.0 / 4.9.11-1-ARCH, LLVM 3.9.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.0.0
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 17.0.0
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.0.0
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

vulkaninfo
===========
VULKAN INFO
===========

Vulkan API Version: 1.0.39

INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_swapchain.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_monitor.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_core_validation.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_image.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_screenshot.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_unique_objects.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_api_dump.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_threading.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_parameter_validation.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_object_tracker.json, version "1.0.0"
INFO: [loader] Code 0 : Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.x86_64.json, version "1.0.0"

Instance Extensions:
====================
Instance Extensions count = 5
VK_KHR_surface : extension revision 25
VK_KHR_xcb_surface : extension revision 6
VK_KHR_xlib_surface : extension revision 6
VK_KHR_wayland_surface : extension revision 5
VK_EXT_debug_report : extension revision 4
/build/vulkan-loader-layers/src/Vulkan-LoaderAndValidationLayers-sdk-1.0.39.0/demos/vulkaninfo.c:1485: failed with VK_ERROR_INITIALIZATION_FAILED

inxi -G
Graphics: Card: Advanced Micro Devices [AMD/ATI] Hawaii PRO [Radeon R9 290/390]
Display Server: X.Org 1.19.2 driver: N/A
Resolution: 1920x1080@59.96hz
GLX Renderer: Gallium 0.4 on AMD HAWAII (DRM 2.48.0 / 4.9.11-1-ARCH, LLVM 3.9.1)
GLX Version: 3.0 Mesa 17.0.0
 
Zuletzt bearbeitet von einem Moderator:
Die Sache läuft noch halb bei dir. Ausgabe inxi -G zeigt dir: driver: N/A an. Wir möchten: driver: amdgpu

Öffne ein Terminal und gebe ein:

cd /etc/X11/xorg.conf.d/

Jetzt solltest du im Ordner xorg.conf.d sein.
____________________________________________________________
Wenn nicht, dann ist dieser Ordner noch nicht angelegt. Dann mache:

cd /etc/X11

sudo mkdir xorg.conf.d

cd xorg.conf.d
______________________________________________________

Im Ordner xorg.conf.d legst du die Datei 20-amdgpu.conf an.

Inhalt der Datei:

Section "Device"
Identifier "AMD"
Driver "amdgpu"
EndSection


Danach das System neu starten und mit inxi -G schauen ob jetzt driver: amdgpu angezeigt wird.
 
Bin deiner Anleitung gefolgt. Das Verzeichnis war vorhanden

Leider wird immer noch driver: N/A angezeigt :(
 
Hast du die Datei angelegt ?

Wenn du im Ordner bis dann:

sudo nano 20-amdgpu.conf

Denn Inhalt rein.

Mit Strg+o speichern und dann mit Strg+x beenden.
---------------------

Wenn du das bereits gemacht hast
, dann muss wohl AMDGPU aktiviert werden im Kernel. Was eigentlich aber schon sein sollte.

Das wer das KMS vorgehen.
 
Zuletzt bearbeitet von einem Moderator:
Ja, die Datei hab ich mit
sudo nano 20-amdgpu.conf

Der Inhalt wurde auch übernommen. (hab ihn mehrmals überprüft)

Danke übrigens für deine Hilfe!
Wäre es eine Idee, eine Antergos Live-Medium zu nehmen? Dann könnt ich mir ein System mit allen Treibern installieren lassen.

Antergos soll man angeblich ganz leicht zu einem richtigen Arch umwandeln können...


--------

Wenigstens funktioniert mein anderes Projekt wie erwartet: Pi-Hole :hammer_alt:
 
Zuletzt bearbeitet von einem Moderator:
Dann machen wir mal weiter.

sudo nano /etc/mkinitcpio.conf

Direkt oben sollte:

MODULES=""

sein.

Zwischen den "" schreibt du amdgpu rein.

Speichern und beenden.

Zum Schluß:

sudo mkinitcpio -p linux

System neu starten.
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben