Erfahrungsbericht: GPU Passthrough mit AMD Ryzen 5700G auf einem ITX Mainboard BIOSTAR B550T-Silver

ibm9001

Lt. Junior Grade
Registriert
Juli 2005
Beiträge
464
Hallo zusammen,

ich möchte hier meine Erfahrungen zum Durchreichen einer Grafikkarte in eine virtuelle Maschine (GPU-Passtrough) wiedergeben. Meine Idee war, das Windows 10 auf meiner Workstation zu virtualisieren (mit Linux als Hostsystem).

Das Gehäuse dieser Workstation (eine ein wenig gemoddete SUN SPARCstation 10) bietet nur wenig Platz im Inneren, deshalb die Verwendung eines ITX Mainboards (hier: BIOSTAR B550T-Silver).

Die nachfolgende Beschreibung ist die Schritt für Schritt Anleitung, die ich für mich erstellt habe, damit ich ein solches System schnell selbst aufsetzen kann. Da ich kein IT-Profi bin, hat es entsprechend lange gedauert, bis ich das ganze ans Laufen bekommen habe. Von daher dachte ich mir, gib deine Erfahrungen hier weiter, vielleicht wird damit anderen Leuten bei einem ähnlichen Vorhaben geholfen.

DISCLAIMER:
Dies ist kein Tutorial für Anfänger und soll auch kein allgemein gültiger Guide zum Thema GPU Passthrough werden, sondern sind das Ergebnis meiner Erfahrungen mit meiner eigenen Hardware bzw. das ganze ist auf meine Hard- und Software zugeschnitten.

Zum Durchreichen einer Grafikkarte in eine VM benötigt man normalerweise zwei Grafikkarten. Eine für die VM und eine für das Host-System. Ein Mini-ITX-Board hat aber in der Regel nur einen Steckplatz zur Verfügung. Deshalb benötigt man in diesem Fall eine CPU mit integrierter Grafikeinheit. Bei Intel sind das Prozessoren mit UHD Graphics (iGPU), bei AMD die sogenannten APU´s. Ich habe mich letztendlich für AMD entschieden und daher folgende Hardware verbaut:

CPU: AMD APU Ryzen 5700G
Mainboard: Biostar B550T-Silver (mit BIOS 1.2.03C)
Arbeitsspeicher: 64 GByte KINGSTON FURY BEAST 3200
Dedizitierte Grafikkarte: GTX 1050
Laufwerk(e): Host=Kingston SA2000 / 1TB NVMe , VM=Samsug Sata-SSD
Monitore: 1xSamsung an GTX 1050, 1xDELL an APU
Verwendete Software: Windows 10 Pro in der VM, AlamaLinux als Host Betriebssystem.

Zum Erstellen und Einrichten einer Windows 10 VM mit GPU Passthrough habe ich nacheinander folgende Schritte ausgeführt:

1) Mainboard-BIOS

Damit das Vorhaben gelingen kann ist es notwendig, das IOMMU bzw. IOMMU Groups vom Mainboard unterstützt werden. D.h es geht als erstes mit dem Mainboard-BIOS los, dort sind die folgenden Voreinstellungen notwendig:

Advanced -> CPU Configuration -> SVM Mode = Enabled
Advanced -> CPU Configuration -> SMT Mode = Auto
Advanced -> CSM Configuration -> CSM Support = Enabled
Advanced -> CSM Configuration -> CSM Support = Enabled -> Network = UEFI
Advanced -> CSM Configuration -> CSM Support = Enabled -> Storage = UEFI
Advanced -> CSM Configuration -> CSM Support = Enabled -> Video = Legacy
Advanced -> CSM Configuration -> CSM Support = Enabled -> other PCI Device ... = UEFI

(Normalerweise würde man CSM mit modernen Betriebssystemen nicht aktivieren, jedoch wird
die separate Grafikkarte mit der Einstellung UEFI zuerst initialisiert [bei diesem Mainboard hier] und
macht das Durchreichen derselben in eine VM aufwendiger bis die Konfiguration läuft)

Chipset -> North Bridge -> IOMMU = Enabled
Chipset -> North Bridge -> GFX Configuration -> Primary Video Device = IGD Video
Chipset -> North Bridge -> GFX Configuration -> Surround View = Auto

2) Installation des Host-Systems, d.h. hier AlmaLinux 8.5.

a) Die Iso (x86_64) downloaden Link1 und unter Windows mit Rufus Link2 auf einen USB Stick schreiben.
-> Die aktuellste Version von Rufus nutzen, ältere Versionen können bei der Installation Probleme
bereiten.


b) Vom so vorbereiteten USB-Stick booten (Bootauswahl mit der Taste F9 der Tastatur, den USB-Stick auswählen) und Almalinux auf die bereitgestellte NVMe, SSD oder HDD installieren (bei der Softwareauswahl des Installationsbildschirms kann dann die gewünschte Variante [hier: Workstation] ausgewählt werden.


c) Nach der Installation Almalinux auf den aktuellen Stand updaten. Dafür ein Terminal Fenster öffnen,
Root-Rechte erlangen,

(im Terminal den Befehl

[vm@linux ~]$ su

ausführen und die nachfolgende Passwortabfrage beantworten). Jetzt mit

[root@linux]# dnf update

das Update ausführen (LAN muss aktiv sein). Anschließend das System neu starten.


d) Die notwendige Virtualisierungssoftware (hier QEMU-KVM) installieren. D.h. wieder Terminal öffnen,
Rootrechte mit

[vm@linux ~]$ su

erlangen und mit

[root@linux]# dnf groupinstall "Virtualization Host" -y

sowie

[root@linux]# dnf install virt-install virt-manager -y

die Virtualisierungspakete installieren. Danach das System neu starten.


e) Prüfen in welcher IOMMU Gruppe sich die durchzureichende Grafikkarte (hier NVIDIA GTX 1050) befindet, sowie deren Geräte-ID ermitteln. D.h. Terminal öffnen und anschließend das Script aus Link3 eingeben (eher copy & paste) und ausführen lassen.
#!/bin/bash shopt -s nullglob for g in $(find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V); do echo "IOMMU Group ${g##*/}:" for d in $g/devices/*; do echo -e "\t$(lspci -nns ${d##*/})" done; done;

Als Ergebnis erhält man u. a. mit der hier verwendeten Hardwarekonfiguration:
...
IOMMU Group 8:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050] [10de:1c81] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1)
....
Die Grafikkarten-ID lautet damit: [10de:1c81], die ID des verbauten Audio-Controllers auf der Grakfikkarte: [10de:0fb9]. Die so ermittelten ID´s können jetzt per Grub an den vfio Treiber angebunden werden. Wichtig ist hier, das alle Geräte dieser IOMMU Gruppe an die VM durchgereicht werden.

Hinweis: Die Grafikkarten-ID´ s sind natürlich Hardware abhängig, d.h. mit einer anderen Grafikkarte ändern sich natürlich auch die ID´s.

f) Jetzt den Bootloader Grub folgendermaßen anpassen:

Wieder ein Terminal öffnen, Rootrechte mit

[vm@linux ~]$ su

erlangen und dann mit einem Editor, (z.B. nano oder vi) Grub bearbeiten:

[root@linux]# nano /etc/sysconfig/grub

In Grub die Zeile GRUB_CMDLINE_LINUX=" ...quiet" finden und nach quiet folgendes einfügen:

amd_iommu=on rd.driver.pre=vfio-pci vfio-pci.ids=10de:1c81,10de:0fb9 video=efifb:off kvm.ignore_msrs=1

und speichern. Anschließend Grub neu konfigurieren:

[root@linux]# grub2-mkconfig -o /etc/grub2-efi.cfg


g) Jetzt die Datei /etc/dracut.conf.d/10-vfio.conf mit folgenden Inhalt erzeugen:

add_drivers+=" vfio_pci vfio vfio_iommu_type1 vfio_virqfd "

Das ganze mit dem Editor der Wahl ausführen (z.B. nano oder vi). D.h. mit z.B. nano

[root@linux]# nano /etc/dracut.conf.d/10-vfio.conf

aufrufen, die Zeile

add_drivers+=" vfio_pci vfio vfio_iommu_type1 vfio_virqfd "

einfügen, bzw. hinein kopieren und dann speichern.


h) Anschließend als root

[root@linux]# dracut -f

im Terminal ausführen damit initramfs für das aktuell laufende System neu generiert wird.
Danach das Host System neu starten (reboot).

Wenn alles richtig funktioniert, dann wird nach dem Neustart des Systems nur noch der Monitor, der an der APU angeschlossen ist von Almalinux initialisiert und benutzt (dies ist dem Eintrag video=efifb:offin GRUB zu verdanken.

Jetzt kann zusätzlich mit

[vm@linux ~]$ lspci -nnk

geprüft werden, ob die Einbindung des Treibers gelungen ist. Dazu muss die Grafikkarte, die durchgereicht werden soll, folgenden Eintrag enhalten: Kernel driver in use: vfio-pci

1655662561416.png


Das gilt für die Grafikarte selbst, und falls vorhanden, dem auf der Karte verbautem Audiochip.

Nachtrag: Nach dem Installieren der Virtualisierungsumgebung sollte man noch der Gruppe libvirt beitreten.
Dazu als root

[root@linux ~]$ usermod -aG libvirt BENUTZERNAME

eingeben.

Anderenfalls wird man beim Starten der Virtuellen Maschinenverwaltung immer nach dem root Passwort gefragt.

3) VM einrichten

Jetzt kann mit dem Einrichten einer Windows 10 VM begonnen werden. Dazu wird ein Windows
10 ISO-Abbild benötigt. Falls das nicht schon vorhanden ist, dann sollte jetzt ein ISO-Abbild von
der Microsoft Homepage herunter geladen werden (Link4).

Um eine virtuelle Maschine aufzusetzen ist nun die virtuelle Maschinenverwaltung über die Desktop-
oberfläche des Hostsystems zu starten.

1655921476191.png


Nach dem Start sollte in der Maschinenverwaltung unter dem Menüpunkt

Bearbeiten -> Einstellungen

der Haken an „Enable XML editing“ gesetzt werden. Somit ist es später möglich den XML Code der
VM zwecks Anpassungen zu bearbeiten.

1655921807131.png
1655921822411.png


Die eigentliche Erstellung einer VM gestaltet sich wie folgt:

a) Unter Datei den Menüpunkt „Neue virtuelle Maschine“ anwählen.

1655922078170.png


1655922188178.png


Die Vorauswahl „Lokales Installationsmedium (ISO-Abbild oder CDROM)“ stehen lassen und auf
den Button „Vor“ klicken.

b) Das Installationsmedium auswählen.

1655922286944.png


Dazu auf „Durchsuchen“ klicken und das vorher herunter geladene ISO-Abbild von Windows 10
auswählen. Anschließend wieder die Taste „Vor“ anklicken.

c) Speicher (RAM) und CPU Settings.

1655922876486.png


Die Voreinstellungen für Speicher und CPU stehen lassen, diese können noch im späteren Verlauf
angepasst werden. Daher wieder die Taste „Vor“ anklicken.

d) Speicherplatz für die virtuelle Maschine einrichten

1655922945195.png


Für erste Versuche die Voreinstellungen stehen lassen, eventuell den Speicherplatz für den Daten-
träger auf 60 oder mehr GB erhöhen (sofern genügend Platz auf dem System zur Verfügung steht).
Anschließend wieder die Taste „Vor“ anklicken.

e) Installation beginnen

1655923023396.png


Wichtig: Hier einen Haken bei „Konfiguration bearbeiten vor der Installation“ setzen und danach die Taste
„Fertig“ anklicken.

Jetzt erscheint das Fenster zum Start der Installation.

1656145660330.png


Bevor man damit beginnt sind noch einige Einstellungen vorzunehmen.
Der Reihe nach wären das wie auf den nachfolgenden Bildern gezeigt:
Die Firmware von BIOS auf UEFI... umzustellen:

1656145740921.png


Die CPU und den Arbeitsspeicher (RAM) zu konfigurieren:

1656145779569.png
1656145794389.png


Die Bootreihenfolge (Reihenfolge der Startgeräte) festlegen, dazu einen Haken bei SATA CDROM1 setzen
und das CDROM Laufwerk mittels Pfeiltasten an erster Stelle setzen.

1656145975483.png

[Generell empfiehlt es sich, ebenfalls einen Haken bei „Startmenü aktivieren“ zu setzen.]

Anschließend erfolgt das Hinzufügen der durchzureichenden Grafikkarte und deren Audiochip über
den Button „Gerät hinzufügen“ und dann die Auswahl der Geräte unter PCI Host-Gerät.
[Hinweis: Das Hinzufügen von Grafikkarte und Audiochip kann auch nachträglich, nach der Installa-
tion des Betriebssystem, erfolgen.]

1. Grafikkarte auswählen und auf "Fertig" klicken, danach

1656146614349.png


2. das gleiche nochmals für den Audiochip, der auf der Grafikkarte verbaut ist, ausführen.

1656146802941.png


Nach dem Hinzufügen von Grafikkarte und Audio Chip kann die Installation der VM gestartet werden indem man auf das Feld „Installation beginnen“ klickt.

1656147406769.png


Die Installation beginnt und die VM will von dem virtuellen CDROM Laufwerk booten. Jetzt muss man
schnell sein und eine Taste auf der Tastatur betätigen damit die Installation per CDROM in der VM erfolgen
kann.

1656146986198.png


Verpasst man den Zeitpunkt des Tastendrucks, dann landet man im BIOS der VM. Diese verläßt man
wieder durch Anwahl von „Continue“ und die Abfrage des Tastendrucks erfolgt von neuem. Nach Betätigen
der selbigen beginnt eine normale Windows Installation.

Hinweis: Nicht vergessen unter "Anzeigen" den Menüpunkt "Console" anwählen, damit der Installations-
bildschirm zu sehen ist!

1656147758924.png


Nach erfolgreicher Installation wird man in der Konsole vom Windows Desktop begrüßt.

1656147788008.png


Zum jetzigen Zeitpunkt läuft Windows nur in der Konsole. Um das zu ändern muss der Treiber der
dedizierten Grafikkarte installiert werden. D.h. den Treiber (hier Nvidia) der durchgereichten Grafikkarte
in der VM von der Herstellerseite downloaden und dort installieren. Nach Installation des Treibers wird jetzt
auch die dedizierte Grafikkarte angesteuert und auf dem zweiten Bildschirm erscheint jetzt der Windows
Desktop (wenn die Grafikkarte zuvor in die VM durchgereicht wurde).

In dieser Konfigutation muss man immer zuerst auf den Desktop in der Konsole klicken, damit ein Arbeiten
in der VM auf dem zweiten Bildschirm überhaupt möglich ist. Dieser Zustand ändert sich,wenn die Einträge
für die emulierte Grafikkarte aus der Maschinenkonfiguration der VM entfernt werden („Konsole“, „Anzeige
Spice“, „Video QXL“). Beim nachfolgenden Neustart der VM wird diese jetzt nur noch auf der dedizitieren
Grafikkarte gestartet. [Dazu ist dann etwas Geduld notwendig, es dauert einen Moment bis quasi der
zweite Rechner hochgefahren ist]

Jetzt wäre es allerdings auch notwendig eine zweite Maus / Tastatur in die VM durchzureichen, damit
sowohl Host als auch VM gleichzeitig bedient werden können. Das läßt sich z.B. mit einem KVM Switch
(mit zusätzlichen Kosten) umgehen.
Oder man löst das Problem per Software, z.B. mittels Evdev. Um was es sich bei Evdev handelt wird auf
der Seite passthroughpo.st unter dem nachfolgenden Link5 erklärt.

Maus und Tastatur, die per USB-Schnittstelle an den Host Rechner angeschlossen sind, lassen sich per
Evdev wechselweise sowohl in einer VM als auch im darunter liegenden Hostsystem nutzen.

Dazu müssen zuerst die Geräte-IDs der am Hostsystem angeschlossenen Maus /Tastatur ermittelt werden. Das geht folgendermaßen:

a) In einem Terminal folgendes eingeben:

[vm@localhost ~]$ ls /dev/input/by-id

Darauf erscheint (bei dem System hier) folgende Ausgabe:

usb-0566_3032-event-if01 usb-275d_USB_OPTICAL_MOUSE-event-mouse
usb-0566_3032-event-kbd
usb-275d_USB_OPTICAL_MOUSE-mouse

Benötigt werden die Angaben die "event" im Namen enthalten. Ignoriert werden Geräte-ID´s
die If01 oder If02 usw. enthalten.

b) Jetzt per Terminal (als Root) die Datei

/etc/libvirt/qemu.conf

mit dem Editor der Wahl

[root@localhost vm]# nano /etc/libvirt/qemu.conf

öffnen und die nachfolgende Passage

cgroup_device_acl = [
"/dev/null", "/dev/full", "/dev/zero",
"/dev/random", "/dev/urandom",
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
"/dev/rtc","/dev/hpet",
"/dev/input/by-id/usb-0566_3032-event-kbd",
"/dev/input/by-id/usb-275d_USB_OPTICAL_MOUSE-event-mouse",
]
user = "root"
group = "root"
clear_emulator_capabilities = 0
security_default_confined = 0

am Ende einfügen und speichern.

Anschliesend im Terminal mit

[root@localhost vm]# systemctl restart libvirtd

libvirtd neu starten.

c) Jetzt in der virtuellen Maschinenverwaltung, in der XML Ansicht, die erste Zeile
<domain type="kvm">
1656450241052.png


durch
<domain type='kvm' id='1' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
ersetzen.

1656450304188.png


Anschließend, ganz am Ende, vor </domain> folgendes einfügen

<qemu:commandline>
<qemu:arg value='-object'/>
<qemu:arg value='input-linux,id=kbd1,evdev=/dev/input/by-id/usb-0566_3032-event-kbd,grab_all=on,repeat=on'/>
<qemu:arg value='-object'/>
<qemu:arg value='input-linux,id=mouse1,evdev=/dev/input/by-id/usb-275d_USB_OPTICAL_MOUSE-event-mouse'/>
</qemu:commandline>



und mit dem Anklicken von „Anwenden“ übernehmen.

1656450463388.png


Wird die virtuelle Maschine jetzt gestartet geht die Kontrolle von Maus und Tastatur sofort
an die VM über. D.h. jetzt ist es möglich in der Windows VM mit Maus und Tastatur zu arbeiten.

Werden Maus und Tastatur wieder auf dem Host System benötigt, dann kann mit dem gleich-
zeitigen Betätigen der beiden Steuerungstasten [Strg] auf der Tastatur von der VM auf das Host
System umgeschaltet werden.Das ganze funktioniert wechselseitig, damit wird das bequeme
Umschalten von Maus und Tastatur zwischen VM und Host einfach möglich.

Möchte man das ganze nicht mit root Rechten ausführen lassen, dann kann folgendermaßen vor-
gegangen werden um das zu verhindern. Nämlich indem man einen neuen Nutzer/Gruppe anlegt,
z.B. „evdev“. In einem Terminal Fenster also folgendes eingeben :

[root@localhost vm]# useradd -s /usr/sbin/nologin -r -M -d /dev/null evdev
[root@localhost vm]# groupadd evdev
[root@localhost vm]# usermod -a -G input evdev

Damit hat man einen Nutzer angelegt, der kein Homeverzeichnis hat und sich nicht über eine
Login Shell anmelden kann. Zusätzlich wurde der Nutzer „evdev“ zur input Gruppe hinzugefügt.

Jetzt muss noch die Datei /etc/libvirt/qemu.conf

folgendermaßen angepasst werden:

user = "evdev"
group = "evdev"

d.h. aus

user = "root" und group = "root"

wird jetzt

user = "evdev", group = "evdev"

Danach die VM neu starten.

Wenn sich jetzt noch Probleme mit Zugriffsberechtigungen ergeben, dann kann man noch
folgende Anweisung in die qemu.conf einfügen:

clear_emulator_capabilities = 0

Hinweis 1: Eine Alternative zu EvDev wäre z.B. die Verwendung von Barrier, sofern nicht Wayland
benutzt wird, d.h. Barrier läuft auf der Linux Seite nur unter X11.
Hinweis 2: Laut der Quelle gibt es Probleme mit Pulseaudio falls man evdev nutzt. Tatsächlich
war es nicht möglich mittels Pulseaudio einer Arco Linux VM irgend einen Ton zu entlocken.

Link: https://passthroughpo.st/using-evdev-passthrough-seamless-vm-input/

An einigen Stellen wird hier darauf hingewiesen, dass es notwendig ist, Secure Boot im Bios der
virtuellen Maschine auszuschalten (insbesondere bei Verwendung von Virtio Treibern).

Wie geht das? Nun, ziemlich einfach, es muss nur sofort nach dem Starten der VM die Taste F2
mehrfach betätigt werden. Dann wird ähnlich wie bei einem normalen PC das BIOS der VM aufgerufen.
Wichtig ist hierbei, das die VM (noch oder wieder) in der Konsolenansicht läuft.

Das ganze sieht danach (in der Konsolenansicht) dann folgenermaßen aus:

1656762569346.png


Jetzt mit den Pfeiltasten der Tastatur auf den Eintrag Device Manager wechseln und mit der Enter
Taste bestätigen. Dann zeigt sich folgendes Bild:

1656762641229.png


Die Secure Boot Configuration anwählen und das [X] im Menüpunkt Attempt Secure Boot
abwählen (mit der Space- bzw. Leer-Taste).

1656762762593.png
1656762793565.png



Die so geänderte Einstellung dann mit der Taste F10 speichern (und mit der Z-Taste bestätigen
[bei einem deutschen Tastaturlayout]).

Diese Beschreibung funktioniert sofern die VM in der Konsole läuft. Wurde die VM bereits mit
durchgereichter Grafikkarte betrieben, dann war das Aufrufen des BIOS in der VM so nicht mehr
möglich.

Deshalb muss temporär die Videoausgabe (wieder) per SPICE Server erfolgen. Dazu in der vir-
tuellen Maschinenverwaltung die Taste „Gerät hinzufügen“ anklicken, dann den Eintrag Grafik
anwählen und als virtuelles Gerät den SPICE-Server auswählen.

1656774223782.png


Anschließend den neuen Eintrag Video Cirrus nach Virtio umstellen.

1656774262208.png

1656774293396.png


Jetzt noch eine Konsole zur Ausgabe hinzufügen.
1656774363251.png


Hinweis: Wird Evdev zur gemeinsamen Benutzung von Maus und Tastatur in VM und Host benutzt,
dann den entsprechenden Eintrag löschen (damit die VM in der Konsolenansicht bedient werden kann).

1656774434713.png
1656774445994.png



Jetzt zur grafischen Konsole wechseln, die VM starten, mit der Maus auf das Feld der Konsolen-
ausgabe klicken und dann sofort die Taste F2 betätigen.

Kommt man jetzt nicht ins BIOS und die VM hängt sich scheinbar auf,

1656774645628.png


dann „Zurücksetzen erzwingen“ anwählen,

1656774670717.png


die VM neu starten, wieder auf der Feld der Konsoleausgabe klicken, Taste F2 betätigen, jetzt
sollte in der Konsolenansicht das VM BIOS zu sehen sein.

Hinweis: Die Maus läßt sich mit der Tastenkombination STRG + Alt + L wieder aus der Konsole
lösen.

Wurden alle Änderungen im BIOS durchgeführt, dann können die Einträge für „Anzeige Spice“,
„Video Virtio“, „SATA CDROM 1“ und „Console 1“ wieder aus der virtuellen Maschinenver-
waltung gelöscht werden.

Soll Evdev wieder genutzt werden, dann kann es wie im Kapitel

„Optionen: Maus und Tastatur gemeinsam in VM und Hostsystem nutzen“

unter Punkt c) beschrieben, wieder eingerichtet werden.

Wer eine VM lieber auf ein eigenes Laufwerk statt in einer Imagedatei installieren möchte, der geht
beim Aufsetzen dieser VM folgendermaßen vor:

Im Kapitel "Grundlegende Installation - VM einrichten" wird unter Punkt:

„d) Speicherplatz für die virtuelle Maschine einrichten“ beschrieben, wie man ein Image
zur Installation einer VM erstellt.

Soll nun, statt auf einem Datenträger Image, die VM auf einem eigenen Laufwerk installiert werden,
dann wählt man [Benutzerdefinierten Speicher auswählen oder erstellen] an und trägt dort das Lauf-
werk ein, daß für die virtuelle Maschine verwendet werden soll.

Das wäre auf dem System hier: /dev/sda.

1656872777579.png



Anschließend wird die Installation wie in "Grundlegende Installation - VM einrichten" unter

"e) Installation beginnen" beschrieben weiter fortgesetzt.

Man kann für die Laufwerksansteuerung (Datenträgeranbindung) einer Windows VM statt SATA auch VirtIO
verwenden, weil diese Betriebsart die bessere Performance verspricht.

Dazu müssen die virtio-Treiber bei der Windows Installation geladen werden, das ganze wird dann
folgendermaßen umgesetzt:

Zuerst ist bei der Erstellung der VM die Laufwerksansteuerung von SATA auf VirtIO umzustellen.

1657346192979.png
1657346215396.png


Danach werden die Virtio Treiber benötigt, die man hier LINK finden kann (virtio-win.iso). Nach
dem Download muss die ISO Datei als zusätzliches CDROM Laufwerk zur Windows VM hinzu-
gefügt werden, um bei der Windows Installation die notwendigen Treiber laden zu können.

1657346310430.png
1657346328620.png


Beim anschließenden Start der VM Installation muss gleich zu Beginn des Startprozesses ins BIOS
der VM gewechselt werden, um dort Secure Boot auszuschalten.

(Secure Boot auszuschalten ist deshalb notwendig, weil Microsoft vor einiger Zeit die Reglen für das
Signieren von Treibern verschärft hat)

Wurde die VM-Installation gestartet, wird das Windows Setup zunächst kein Laufwerk für die Installtion
finden.

1657346510339.png






Das liegt daran, das als Festplattenbus VirtIO aus-
gewählt wurde. Deshalb muß als nächstes [Treiber
laden] angeklickt und das zuvor eingebundene CD-
Laufwerk mit dem virtio-win-0.1.x.x.iso ausgewählt
werden.







1657346586337.png
1657346600061.png


Jetzt den Treiber auswählen, dazu viostor -> win10 ->amd64 anwählen und fortfahren.

1657346699143.png
1657346709771.png


Das Laufwerk sollte nach kurzer Zeit erkannt werden und die Installation von Windows 10 kann
wie gewohnt fortgesetzt werden.

Nachtrag: Wer die Windows 10 VM nicht mit dauerhaft ausgeschaltenem Secure Boot betreiben möchte,
kann nach erfolgter Installation von Windows 10 den nachfolgenden Registey-Eintrag im Windows der VM
per Regedit anlegen:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy] "UpgradedSystem"=dword:00000001
Damit wird dem in der VM laufenden Windows suggeriert, daß es eine geupgratete Version ist.
Selbige läßt nämlich sogenannte "cross-signed kernel driver" zu. D.h. nach dem Anlegen dieses
Registery Eintrags kann nach einem Reboot der VM die Einstellung Secure Boot wieder im BIOS
der VM zugeschaltet werden.

Beim Betrieb einer Windows VM auf einer eigenen Partition oder Laufwerk kann es manchmal
nützlich sein, wenn man vom Linux Host System aus auf diese Laufwerke zugreifen kann.

Warnung: Niemals gleichzeitig mit 2 Betriebssystemen auf den selben Datenträger zugreifen!
Ansonsten kann man zu 100% von Datenverlust ausgegehen. D.h. wenn die Windows VM
läuft sollte auf keinen Fall vom Hostsystem aus auf deren Datenträger zugegriffen werden!
Das bedeutetd auch, während die VM läuft darf die entsprechende Partition bzw. das Laufwerk
nicht am Host System gemountet werden!

Um also vom Linux Host System auf NTFS Dateisysteme zugreifen zu können, muss der ntfs-3g
Treiber installiert werden. Das erfolgt als User mit root-Rechten in einem Terminal:

Schritt 1: Das Linux System updaten

[root@localhost vm]# dnf -y update

Schritt 2: Das EPEL repository aktivieren

[root@localhost vm]# dnf install epel-release

Schritt 3: Den ntfs-3g Treiber installieren

[root@localhost vm]# dnf install epel-release

Schritt 4: Zuletzt kann man noch das Paket ntfsprogs installieren. Darin sind diverse Utilities rund
um das NTFS Dateisystem enthalten.

[root@localhost vm]# dnf install ntfsprogs

Welche Funktionen die einzelnen Utilities mitbringen kann man sich von der zugehörigen man page
anzeigen lassen.

[vm@localhost ~]$ man ntfsprogs

Bei Scream handelt es sich um eine virtuelle Netzwerk Soundkarte, genauer gesagt laut Übersetzung
der Funktionsbeschreibung auf der Projektseite Link1:

„Scream ist ein virtueller Gerätetreiber für Windows, der ein separates Soundgerät bereitstellt. Über
dieses Gerät wiedergegebenes Audio wird in Ihrem lokalen Netzwerk als PCM-Multicast-Stream ver-
öffentlicht. Empfänger im Netzwerk können den Stream aufnehmen und über ihre eigenen Audioaus-
gänge wiedergeben. Empfänger sind für Unix/Linux (mit Schnittstelle zu PulseAudio oder ALSA)
und für Windows erhältlich.“

Um Scream einsetzen zu können ist wie nachfolgend beschrieben vorzugehen:

a) Netzwerkeinstellungen der virtuellen Maschinenverwaltung
Die Netzwerkeinstellung der virtuellen Maschinenverwaltung müssen auf default stehen. Außerdem
ist es notwendig, dass der Haken bei Autostart [beim Start] gesetzt ist.

1657442042150.png


b) Die Einstellungen der virtuellen Netzwerkschnittstelle in der VM sollten folgendermaßen aussehen:

1657442079687.png




Als virtuelle Netzwerkschnittstellle muß virtio
verwendet werden, als Brückenname wird
(vom Autor hier) virbr0 vergeben.









c) Als nächstes werden die Windows Treiber für die virtuelle Netzwerkkarte in der VM benötigt.
Die findet man in der virtio-win.iso, welche von dieser Seite Link2 bezogen werden kann. Das
ISO-Abbild wird dann als CDROM Laufwerk in die VM eingebunden.

1657442192573.png


Bevor man die Treiber in der VM installieren kann, muss noch folgendes beachtet werden:
Microsoft hat für neuere Versionen von Windows 10 (ab 1607) die Regeln für das Signieren von
Kernelmodustreibern verschärft. Das läßt sich auf zweierlei Wegen umgehen:

1) Secure boot im BIOS der Windows VM ausschalten, oder

2) In der Windows VM folgenden Eintrag in der Registery anlegen:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy] "UpgradedSystem"=dword:00000001
(siehe Projektseite Scream, d.h. das muss vor der Installation des Windows Treibers geschehen,
damit erkennt sich das Windows in der VM als Upgrade-Version, was die Installation von
„cross-signed kernel driver" möglich macht).

Zusammengefasst heißt das, in der Windows VM muss zuerst entweder Secure boot ausge-
schaltet oder der oben beschriebene Registery Eintrag muss angelegt werden bevor der nächste
Installationsschritt erfolgen kann (siehe hierzu auch GPU-Passtrough-Teil-07).

d) Jetzt die Windows VM erneut starten und darin den Geräte Manager öffnen. Dort wird unter
„Andere Geräte“ ein Ethernet-Contoller ohne Treiber angezeigt. Für diesen muß jetzt der Virtio
Netzwerktreiber installiert werden. D.h.
  • Rechtsklick mit der Maus auf den Ethernet-Controller,
  • Treiber aktualisieren,
  • “Auf meinem Computer nach Treibern suchen“ auswählen,
  • jetzt das CDROM Laufwerk anwählen,
  • dort den Ordner NetKVM aufklapen,
  • darunter den Ordner w10 aufklappen,
  • amd64 anwählen und mit dem Button „OK“ bestätigen.
Die Treiberinstallation fertigstellen. Danach befindet sich im Gerätemanager unter Netz-
werkadapter ein Red Hat VirtIO Ethernet Adapter.

e) Nun wird Scream für die Installation in der VM benötigt. Dazu die VM starten, in der VM
den Browser aufrufen und unter folgendem Link3 Scream3.x.zip downloaden. Anschließend
Scream3.x.zip entpacken. Mit dem Windows Explorer den entpackten Ordner Scream3.x
öffnen, dann wechseln zum Verzeichnis Install und dort mit Rechtsklick auf Install-x64 das
ganze als Administrator ausführen um die Installation durchzuführen. Nach erfolgter Instal-
lation kann in den Windows Einstellungen die Soundausgabe auf „Lautsprecher (Scream
(WDM))“ umgestellt werden. Anschließend die Windows VM wieder herunter fahren.

f) Scream Empfänger (Receiver) für den Linux Host bauen

Ein Scream Linux Receiver ist nicht als fertiges Paket erhältlich, sondern den muss man sich
selbst bauen. Bevor das möglich ist, müssen einige Werkzeuge und Bibliotheken geladen und
installiert werden.

Nach Lesen der Readme benötigen wir dazu libpcap-devel, pulseaudio-libs-devel, alsa-lib-devel, cmake,
make und damit auch gcc. Installiert wird das ganze (als root) mit :

[root@localhost vm]# dnf install cmake make gcc pulseaudio-libs-devel alsa-lib-devel

Da sich libpcap-devel im Repostorie Powertools befindet wird es mit

[root@localhost vm]# dnf --enablerepo=powertools install libpcap-devel

installiert.

Jetzt von Link1 noch (Scream-) master.zip downloaden und entpacken. Nach dem entpacken
im so erzeugten Verzeichnis scream-master/Receivers/unix/ ein Terminalfenster öffnen. Hier
ein neues Verzeichnis build erzeugen,

[vm@localhost ~]$ mkdir build

dann nach build wechseln

[vm@localhost ~]$ cd build

und zuerst

[vm@localhost ~]$ cmake ..

danach

[vm@localhost ~]$ make

ausführen. Dadurch hat man nun das Programm scream im Verzeichnis build erzeugt.
Um das Programm starten zu können (d.h. ausführbar), noch

[root@localhost vm]# chmod +x scream

als root in der Konsole ausführen.

Anschließend das Scream Programm nach /usr/bin/ verschieben

[root@localhost vm]# mv scream /usr/bin/scream

Da Scream in Almalinux durch die Firewall geblockt wird muss noch ein Port geöffnet werden.

[root@localhost vm]# firewall-cmd --permanent --zone=libvirt --add-port=4010/udp

Danach das Host System neu starten.

[vm@localhost ~]$ reboot

Gestartet wird das ganze dann in einem Terminal mit

[vm@localhost ~]$ /usr/bin/scream -i virbr0

(virbr0 ist der Brückenname der unter Punkt b) „Einstellungen der virtuellen Netzwerkschnitt-
stelle“ vergeben wurde.)

Ob Scream auf dem Host läuft kann man dann in den Audio Einstellungen unter Anwendungen
sehen:

1657443888922.png


Solange jetzt Scream auf dem Host läuft, werden die Soundausgaben der Windows VM auf den Audio-
ausgängen des Host Systems wiedergegeben.

Im angegeben Link4 findet man noch optionale Einstellungen bezüglich der Soundqualität, ins-
besondere was die Einstellung der Abtastrate und Bittiefe angeht. Diese Einstellungen sollten auf
dem Host System und der VM identisch sein.

Verwendete Links:
Link1: https://github.com/duncanthrax/scream
Link2: https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md
Link3: https://github.com/duncanthrax/scream/releases
Link4: https://geeksrepos.com/duncanthrax/scream

Der Onboard Soundchip des hier verwendeten Mainboards läßt sich nicht in eine VM durchreichen, da
er nicht in einer eigenen IOMMU Gruppe liegt.

Abhilfe bieten z.B. eine USB 2.0 Soundkarte für kleines Geld die sowohl Linux als auch Windows
unterstützt. Hier wäre das ein DeLOCK USB Sound Adapter 7.1 (LINK) der sich einfach als USB
Device in eine VM einbinden läßt. In der virtuellen Maschinenverwaltung sieht das Einbinden der USB
Soundkarte wie nachfolgend gezeigt aus:

1658044863671.png






1. „Gerät hinzufügen“ anklicken.





1658044924383.png







2. USB Host-Gerät auswählen.



1658044958524.png







3. Audio Adapter auswählen.










4. „Fertig“ anklicken.

Das kann man bei praktisch allen Arten von VM´s (Windows, Linux usw.) so machen und man hat
dann noch zusätzlich den Onboard Sound des Mainboards für das Hostsystem zur Verfügung.

Zur Performancesteigerung einer VM kann CPU Pinning angewendet werden, was wiederum
Kenntnisse über den Aufbau der CPU Struktur bzw. der Kerne und den zugehörigen Threads
notwendig macht. Die Topologie der CPU läßt sich mit dem nachfolgenden Befehl

[root@localhost vm]# lstopo --of console -p

1658048586813.png


in einer Konsole anzeigen,

bzw. mit [vm@localhost ~]$ lscpu -e

1658048676663.png


die Zuordnung der Kerne und Threads anzeigen.

Beispiel: Eine VM mit 8 Kernen mit je 1 Thread = 8 logische Rechner CPU´s

Damit ergeben sich im CPU-Z Bench innerhalb der VM folgende Werte:

Single Thread: 496.0 ; Multi Thread: 2532.0

1658048819975.png


Um jetzt die CPU Kerne anzupinnen gibt man folgendes in die XML - Konfiguration ein: Unter die Zeile
<vcpu placement="static">8</vcpu> folgenden Block einfügen und übernehmen:

<cputune>
<vcpupin vcpu="0" cpuset="8"/>
<vcpupin vcpu="1" cpuset="9"/>
<vcpupin vcpu="2" cpuset="10"/>
<vcpupin vcpu="3" cpuset="11"/>
<vcpupin vcpu="4" cpuset="12"/>
<vcpupin vcpu="5" cpuset="13"/>
<vcpupin vcpu="6" cpuset="14"/>
<vcpupin vcpu="7" cpuset="15"/>
<emulatorpin cpuset="0-1"/>
</cputune>

Damit bindet man die Kerne 0-7 der VM an die CPU Kerne 8-15. E/A-Aufgaben werden an die CPU
Kerne 0 und 1 gebunden.

Als Ergebnis erhält man dann im CPU-Z Bench:

Single Thread: 588.7 ; Multi Thread: 4496.9

CPU-Pinning ist Prozessor- und architekturabhängig und muss daher entsprechend ausgeführt werden.

Im Link wird das ganze ausführlicher erklärt.

Manche Software unter Windows 10 verweigert den Dienst, wenn sie erkennt, daß das OS in einer
virtuellen Maschine läuft. Das kann man überprüfen, in dem man in der Windows VM den Taskmanager
öffnet, auf den Reiter Leistung geht und dort der Eintrag „Virtueller Computer: Ja“ angezeigt wird. Oder
man öffnet die Systeminformationen App, klickt auf Systemübersicht dann wird rechts unten der Eintrag

„Es wurde ein Hypervisor erkannt“ eingeblendet.

Das kann man ändern, in dem man in der virtuellen Maschinenverwaltung in der XML-Ansicht folgende Zeilen einfügt:

Unter
<features>
...
...
<kvm>
<hidden state="on"/>
</kvm>
...
eintragen, sowie die Zeile

<cpu mode="host-model" check="partial">

nach

<cpu mode="host-passthrough" check="partial">

ändern.

Direkt darunter die Zeile

<feature policy='disable' name='hypervisor'/>

einfügen und anschließend übernehmen.

Wird die Windows VM jetzt gestartet sind die Einträge zum Hypervisor aus der Systeminfo und dem
Taskmanager verschwunden.

Man sollte hierzu beachten, das es u. a. einige Online Spiele als Cheaten bewerten wenn das ent-
sprehende Spiel in einer VM läuft. Was dann wiederum zu einem Bann führen kann.

In einem der verlinkten Artikeln wird darauf hingewiesen, das vielen Programme nach dem
Vorhandensein von virtio - Treibern suchen. Hier in dieser GPU-Passthrough Beschreibung
werden an zwei Stellen virtio - Treiber verwendet.
Einmal zur Laufwerksansteuerung und einmal bei der Verwendung von SCREAM.

D.h. man muss abwägen, ob der Einsatz von virtio - Treibern für den entsprechenden Einsatz sinnvoll
ist oder eben nicht.


Link1: https://forums.unraid.net/topic/94498-solved-i-need-hide-vm-status-in-application/
Link2: https://catgirl.is/posts/tips-for-evading-virtual-machine-detection-with-libvirtd-qemu/

Anmerkungen / Erfahrungswerte

1. Datenhaltung virtueller Maschinen und ISO Dateien

Es empfiehlt sich (aus Platzgründen), statt im eigenen (User) Homeverzeichnis die Daten für die ver-
schiedenen VM´s und insbesondere die Imagedateien unter einer eigenen Ordnerstruktur abzulegen.

Das könnte dann z.B. so aussehen:

Unter dem home-Verzeichnis folgende Ordnerstruktur anlegen

home\vmmaschinen\images -> Ordner welche die VM Images enthalten
home\vmmaschinen\iso -> Ordner für notwendige ISO-Dateien

Dazu in einem Terminal Fenster im home Verzeichnis nacheinander folgende Befehle ausführen:

a) Als root die Verzeichnisse erstellen

[root@linux ~]$ mkdir vmmaschinen
[root@linux ~]$ cd vmmaschinen
[root@linux ~]$ mkdir images
[root@linux ~]$ mkdir iso
[root@linux ~]$ cd ..

b) Und dann die Berechtigungen ändern

[root@linux ~]$ chmod -R a+rwx \vmmaschinen

bzw.

[root@linux ~]$ chmod -R 777 \vmmaschinen

Sollen zum leichteren Bereitstellen von Treibern, Programmen usw. ISO Abbilder erzeugt werden,
dann kann man das folgendermaßen bewerkstelligen:
  • ein beliebiges Verzeichnis erstellen, z.B. MyFolderName
  • dorthin die gewünschten Dateien hineinkopieren
  • vom darüberliegenden Verzeichnis aus den folgenden Befehl in einer Konsole ausführen:
  • [vm@linux ~]$ mkisofs -R -l -D -o data.iso MyFolderName
Danach sind alle Dateien aus MyFolderName in der data.iso gespeichert und diese kann bei Bedarf
als CDROM Laufwerk in eine VM eingebunden werden.


2. Betrieb von mehreren gleichzeitig angeschlossenen Monitoren an Host und VM

Wenn man, wie der Autor hier, z.B. zwei Monitore gleichzeitig am Host und der per Passthrough
angebundenen VM betreibt, dann kann das insbesondere bei der Installation eines Betriebssystems
in einer VM zu Problemen führen. Speziell dann, wenn die GPU das Bild nicht am gewünschten
Signalausgang liefert, sondern statt dessen die Bildausgabe am gleichen Bildschirm wie die des Hosts
erfolgt.

Das kann passieren, wenn an der Grafikkarte der VM zwei Monitore angeschlossen sind und die
APU des Hostsystems ebenfalls an einen der beiden Monitore angeschlossen wurde.

D.h. man startet die neu erstellte VM zur Installation und sieht kein Bild, obwohl das Laufen der VM
in der Maschinenverwaltung zu sehen ist.

Abhilfe: Entweder am Monitor die Signalumschaltung nutzen oder das entsprechende Kabel vor der
Installation abziehen. Ist das System dann installiert, kann man mit der Bildschirmverwaltung der
VM die Anzeigen (hoffentlich) entsprechend einrichten.


3. UEFI Einstellungen am Mainboard

Unter Punkt GPU-Passthrough-Teil-01 wurde bereits auf die UEFI Einstellungen eingegangen. Dort wird
u. a. der CSM Support zur leichteren Installation des Hostsystems eingeschaltet.

Anfangs erfolgte die Installation von ALMA Linux auf einer SSD. Da war es dann möglich, nach
Einrichtung des Betriebssystems, den CSM Support des Mainboards wieder auszuschalten und
ganz normal zu booten.

Seit der Installation von Almalinux auf eine NVMe ist das nicht mehr möglich. Wird der CSM
Support jetzt deaktiviert, dann erscheint zwar noch der Almalinux Bootloader, es wird jedoch ins
Nirwana gebootet, der Bildschirm wird dunkel. Offensichtlich wird der entsprechende Ein-
sprunkpunkt nicht mehr gefunden.

Das zu ändern ist mir jetzt zuviel Arbeit, eventuell gehe ich das bei einem BIOS Update an.


Erfahrungsbericht Teil 2: GPU Passthrough mit AMD Ryzen 5900X und einer AMD Radeon RX470 sowie NVIDIA GT 1030 auf einen MSI B450 Mortar Titanium.

Den zweiten Teil meines Erfahrungsberichts findet man hier.


 

Anhänge

  • 1655921702022.png
    1655921702022.png
    37,1 KB · Aufrufe: 263
  • 1656147390938.png
    1656147390938.png
    17,5 KB · Aufrufe: 260
  • win11-tpm.png
    win11-tpm.png
    83,5 KB · Aufrufe: 327
  • q35-Loesung.png
    q35-Loesung.png
    156,4 KB · Aufrufe: 303
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: daniel-sid, Mathew95, hercemania und 5 andere
ibm9001 schrieb:
im Lauf der Woche geht es als nächstes mit der Installation der VM weiter.
Könntest du auch Bilder von deiner umgebauten SPARCstation mit dranhängen, just for the heck of it? Ich hab was über für solche Umbauten, mein PC sitzt in einen Power Mac G5.
 
  • Gefällt mir
Reaktionen: PHuV
Ja klar,

werd ich morgen mit dranhängen.
 
  • Gefällt mir
Reaktionen: ghecko
Sowas wollte ich vor 3 Jahren mal machen. Also 2 PCs in einem, 2 GPUs, jeweils durch gereicht zu einer VM, sowie die hälte der CPU Kerne, RAM, Tasta, Maus etc....

Bei mir ging es aber nicht. Ich glaube, die Hardware muss das richtig unterstützen.
Hatte es mit Unraid probiert.

Jetzt lese ich erstmal deinen Thread und verfolge ihn, vielleicht komm ich ja nochmal darauf zurück wenn ich mal wieder genug Geld übrig hab. :D
 
Du solltest in Deinem Artikel noch genauer den Virtualisierer benennen, der mir sich im ersten Moment - selbst als alter Linuxer - nicht erschloss. Es wird hier KVM verwendet.

Verwendest Du KVM nur per Kommandozeile oder wirst Du Dir eine GUI wie Virtual Machine Manager (VMM) installieren?
 
@PHuV
Ja, es wird QEMU-KVM genutzt. Die Installation der VM erfolgt dann per GUI mittels
virtueller Maschinenverwaltung VMM.
 
  • Gefällt mir
Reaktionen: PHuV
So, hier nun die versprochenen Bilder meiner Sun SPARCstation 10.
Die habe ich während der Bauphase gemacht. Ich hoffe man kann
das einigermaßen erkennen.
 

Anhänge

  • Bild_1.JPG
    Bild_1.JPG
    661,3 KB · Aufrufe: 342
  • Bild_2.jpg
    Bild_2.jpg
    1,2 MB · Aufrufe: 323
  • Bild_3.jpg
    Bild_3.jpg
    1,8 MB · Aufrufe: 322
  • Bild_4.JPG
    Bild_4.JPG
    785,8 KB · Aufrufe: 340
  • Bild_5.JPG
    Bild_5.JPG
    1 MB · Aufrufe: 359
  • Bild_6.JPG
    Bild_6.JPG
    850,1 KB · Aufrufe: 359
  • Gefällt mir
Reaktionen: ghecko
Update:

Maus und Tastatur gemeinsam im Host-System und einer VM nutzen.
 
Neues Update: Secure Boot im BIOS der VM ausschalten.
 
jodakaa schrieb:
Bei mir ging es aber nicht. Ich glaube, die Hardware muss das richtig unterstützen.
Hatte es mit Unraid probiert.
ich weiß jetzt nicht was du damals genommen hast, aber mit Intel und Nvidia bist du da recht sicher aufgestellt bei consumer hardware ...

Hier ist auch 1 x Desktop am Monitor und 1 x Gaming am TV angeschlossen, mache ich schon seit 2016 so mit unraid ... gestartet natürlich mit "anderer" Hardware, aber im Grundsatz, immer Intel (mit iGPU) und 2 x Nvidia ..
1656779731333.png


Basis ist ja mit KVM / Qemu analog Unraid
 
(Kleines) Update: Eine VM auf eigenes Laufwerk installieren.
 
Neues Update: Virtio - Treiber zur Laufwerksanbindung einer Windows 10 VM nutzen
 
Update am Sonntag:

1. NTFS Treiber auf dem Host installieren
2. Sound in einer Windows 10 VM per Scream
3. Den Link unter Teil-02 zum Download von Almalinux angepasst (der vorher angegebene funktioniert nicht mehr).
 
Zuletzt bearbeitet:
So, heute die vorerst letzten Updates: Sound per USB Soundcard, CPU Pinning, VM Umgebung vor Windows 10 verstecken.
 
Heute noch ein paar Anmerkungen / Erfahrungswerte hinzugefügt.
 
Zurück
Oben