Kurzanleitungen/Howtos

AMD Ryzen 5 3400G unter Debian 11 Bullseye

22.03.2020

Altes Gehäuse mit AMD Ryzen 5 3400G

Ich kaufe ja selten neue Hardware, hatte aber schon länger mit einem Ryzen-System geliebäugelt. Durch Zufall bin ich auf ein "Aufrüstkit" mit AMD Ryzen 5 3400G (4 Kerne (+ SMT) mit 3,6 GHz bzw. 4,2 GHz Turbotakt), integrierter Vega-11-Grafikkarte, 16 GB Ram und Mainboard (MSI B450M PRO-M2 MAX) gestoßen. Da noch ein altes Gehäuse mit Netzteil und eine SATA-Festplatte herumlagen, hielten sich die Invesitionskosten in Grenzen.
In der folgenden Kurzanleitung geht es um die Installation und Einrichtung der Debian-11-Vorabversion sowie einige Tests in Bereichen, die mich interessiert haben.

Installation

Als Distribution sollte die Vorabversion von Debian 11 Bullseye zum Einsatz kommen. Dazu habe ich den Alpha-1-Debian-Installer (Alpha 2 erschien ein paar Tage danach und zeigte bei einem weniger umfangreichen Test keine Auffälligkeiten) per

dd if=debian-bullseye-DI-alpha1-amd64-netinst.iso of=/dev/sdX
auf einen USB-Stick geschrieben und den Rechner anschließend davon gebootet. Die Installation lief anstandslos durch.
Befürchtet hatte ich, daß es mit dem verbauten Netzwerkchip Realtek 8111H zu Verbindungsabbrüchen kommen würde, da dies in diversen Berichten zu ähnlichen Mainboards beschrieben wurde. Zumindest der Bullseye-Linux-Kernel hatte keine Probleme mit dem 8111H und lud während der Installation alle benötigte Pakete aus dem Internet herunter. Bei der Frage nach einer Desktopumgebung habe ich mich für Cinnamon entschieden. Bis hierhin war alles erfreulich unspektakulär.

Konfiguration

Drei Anpassungen habe ich nach der Distributionsinstallation an der Systemkonfiguration vorgenommen, um den Ryzen 5 3400G zum Rendern, Spielen und Virtualisieren nutzen zu können.

Vega-11-Grafikkarte

Nach dem ersten Booten erscheint kein grafischer Anmeldemanager. Dies liegt daran, daß die Vega-11-Grafikkarte Firmware aus dem Paket "firmware-amd-graphics" welches im (freizuschaltenden) non-free-Zweig liegt, benötigt. Dies kann mit folgenden Zeilen geschehen:

sed -i 's/main$/main contrib non-free/g' /etc/apt/sources.list
apt update
apt install -y firmware-amd-graphics
Nach Installation des Paketes und einem Neustart erschien der gewohnte Anmeldebildschirm.

Soundkarte

Standardmäßig wurde pulseaudio mitinstalliert. Über den analogen Anschluß der Soundkarte kam Ton, wenn überhaupt, nur sehr leise. Da pulseaudio – meiner Erfahrung nach – früher oder später zu Problemen (Stabilität, Latenz, Aussetzer, etc.) führt, habe ich es mittels

echo 'autospawn = no' >> /etc/pulse/client.conf
dpkg-divert --local --rename --add /usr/bin/pulseaudio
deaktiviert und ALSA zum einzigen Soundsystem erkoren. "Leider" hat die Soundkarte zwei Ausgänge, wobei der standardmäßig verwendete Ton über den HDMI-Anschluß ausgibt. Da ich aber die analoge Kopfhörerbuchse verwenden wollte, habe ich die folgende Konfiguration in die ALSA-Konfigurationsdatei /etc/asound.conf (hier herunterladen) geschrieben:
pcm.analog_card {
	type hw
	# Sollte kein Ton ausgegeben werden, die Nummer der Karte mit "aplay -l" ermitteln
	card 1
}

pcm.dmixed {
	type dmix 
	ipc_key 1024
	slave {
		pcm "analog_card"
		rate 44100
		period_size 1024
		buffer_size 8192
		}
}

pcm.dsnooped {
	type dsnoop
	ipc_key 2048
	slave {
		pcm "analog_card"
		rate 44100
	}
}

pcm.asymed {
	type asym
	playback.pcm "dmixed"
	capture.pcm "dsnooped"
}

pcm.pasymed {
	type plug
	slave.pcm "asymed"
}

pcm.dsp0 {
	type plug
	slave.pcm "asymed"
}

pcm.!default {
	type plug
	slave.pcm "asymed"
}
Diese Parameter sorgen – neben der Auswahl der richtigen Soundkarte – dafür, daß der Ton parallel laufender Programme durch ALSA gemischt und erst dann an die Soundkarte übergeben wird. Die Soundkarte wird also nicht durch die erste Anwendung, die Ton ausgibt, für alle anderen gesperrt.

Virtualisierung aktivieren

Links "OC" anklicken, dann "CPU Funktion"
"SVM Mode" auf "aktiviert" setzen
Ab Werk sind die Virtualisierungsfunktionen im BIOS deaktiviert, weshalb sich auch das Kernelmodul "kvm_amd" nicht laden läßt und kvm nur im langsamen Emulationsmodus läuft.
Die folgenden Bildschirmfotos zeigen die Schritte zum Aktivieren der CPU-Virtualisierungsfunktionen.

Blender

Für die freie 3D-Grafiksuite Blender gibt es die Demo-Szene "Agent 327 Barbershop" sowohl in einer Render-Variante für die CPU als auch einer für die GPU: Ein idealer Test, um sowohl alle Kerne (+ SMT) als auch die GPU beim Berechnen an das jeweilige Limit zu bringen und die Leistungsaufnahme zu messen.

Blender: Editor
Blender: Rendern mit der CPU
Blender: Rendern mit der GPU

Spiele

Neben der Renderleistung hat mich auch die Spieletauglichkeit der Vega-11 interessiert. Godot 3.2.1 + Third Person Shooter Demo laufen mit den höchsten einstellbaren Details in der Auflösung von 1280x720 fast flüssig, 0 A.D. in 1280x1024 butterweich.

Godot 3.2.1 + tps-demo
Godot 3.2.1 + tps-demo
0 A.D. Ken Wood (ALPHA XXIII)

Virtualisierung

Sowohl VirtualBox als auch libvirt/KVM funktionieren ohne erkennbare Probleme.
Für VirtualBox gibt es zwar noch kein Debian-Bullseye-Paket, aber das für Ubuntu 19.10 Eoan Ermine gedachte Paket virtualbox-6.1_6.1.4-136177~Ubuntu~eoan_amd64.deb läßt sich nach Installation des GCC-Kompilers und einiger Bibliotheken mittels dpkg klaglos installieren:

apt -y install build-essential linux-headers-amd64 linux-headers-5.4.0-4-amd64
wget -O /tmp/vb.deb https://download.virtualbox.org/virtualbox/6.1.4/virtualbox-6.1_6.1.4-136177~Ubuntu~eoan_amd64.deb
dpkg -i /tmp/vb.deb
libvirt/KVM lassen sich direkt aus den Debian-Paketquellen installieren:
apt install -y netcat-openbsd libvirt-daemon qemu-kvm libvirt-clients libvirt-daemon-system net-tools

Leistungsaufnahme

Während der Tests habe ich nebenbei auf das schon etwas betagte Leistungsmeßgerät PM-100 der Firma SACOM GmbH geschaut und mir die Werte notiert. Diese beziehen sich auf den Stromverbrauch des kompletten Testrechners und sind in Anbetracht des Alters und der Preisklasse des PM-100 mit Vorsicht zu genießen.

Anwendung Leistungsaufnahme (W)
Ruhender Desktop 46 - 48
Blender: Rendern mit der CPU 117 - 119
Blender: Rendern mit der GPU 115 - 118
Godot 3.2.1 + tps-demo 106 - 110
0 A.D. Ken Wood (ALPHA XXIII) 94 - 104

Fazit

Vom "Aufrüstkit" habe ich insgesamt einen positiven Eindruck, auch wenn nicht alles sofort perfekt funktionierte. Mit kleinen Anpassungen und kurzer Suche im Internet ließen sich die aufkommenden Probleme aber schnell lösen. Bis auf die unfreie Firmware für die Vega 11 läuft das System ausschließlich mit freien Komponenten. Im Laufe der Jahre sind mir (Intel-)Rechner untergekommen, die deutlich mehr Probleme bereitet haben.

Achtung! Achtung! Die folgenden Anweisungen richten sich ausschließlich an fachkundige Personen. Bei jedem Schritt kann es zum kompletten Datenverlust kommen. Alle Angaben ohne Gewähr! Die Anweisungen, Skripte, etc. sind ausschließlich für Lernzwecke auf Lernsystemen und nicht für Produktivumgebungen bestimmt!