Energieverbrauch einer inaktiven dGPU

Dassie

Cadet 3rd Year
Registriert
Apr. 2014
Beiträge
56
Hallo zusammen,

ich nutze Kubuntu 21.10 auf meinem System mit folgenden Komponenten:
CPU: AMD 5700G
GPU: 5600XT
Board: TUF GAMING B550M-PLUS

Die GPU benötige ich eher selten, nur ab und zu für Spiele.
Nun nutze ich eigentlich die iGPU, die 5600XT würde ich aber gerne eingebaut lassen um sie bei Bedarf in Windows (dual boot) oder einer VM (PCIe Passthrough) zu nutzen.
Soweit funktioniert auch alles, die 5600XT nutzt vfio-pci. Nur kann ich jetzt amdgpu nicht blocklisten, da dies ja auch das Treibermodul für die iGPU ist.
Vermutlich dadurch benötigt das System im Leerlauf (2 Monitore KDE Desktop) ganze 75W.
Was habe ich hier nun für Möglichkeiten den Verbrauch der 5600XT zu reduzieren solange ich diese nicht benötige?
Interessanterweise benötigt das ganze System vor dem Anmelden, also beim Login Screen, nur 44W






 
Wie nutzt du die iGPU, wenn die Monitore an der Grafikkarte angeschlossen sind?
Wieso sollte die Grafikkarte einen Großteil der 75W verbrauchen, wenn die Monitore an der iGPU sind?

Bzw im AMD Treiber, GPU-Z oder HWINFO solltest du sehen können wie viel Strom die GPU verbraucht.
Bei mir zeigt der Radeon Treiber eine Leistungsaufnahme von 35-40W an. Angeschlossen an der RX 6800XT sind 1x 1080p und 1x 1440p Monitor.

Dassie schrieb:
Interessanterweise benötigt das ganze System vor dem Anmelden, also beim Login Screen, nur 44W
Zieh mal einen Monitor ab und schau mal wie der Stromverbrauch dann ist.
 
Zeitwächter schrieb:
Bzw im AMD Treiber, GPU-Z oder HWINFO solltest du sehen können wie viel Strom die GPU verbraucht.
Im Linux Sub Forum wäre Linux Software hilfreich... ich habe PowerTop gefunden weis aber nicht ob das auch den GPU Verbrauch einzeln aufschlüsseln kann...
 
Dassie schrieb:
Bedarf in Windows (dual boot) oder einer VM (PCIe Passthrough) zu nutzen.
Soweit funktioniert auch alles, die 5600XT nutzt vfio-pci. Nur kann ich jetzt amdgpu nicht blocklisten, da dies ja auch das Treibermodul für die iGPU ist.
Bitte beachte, dass wenn du PCI Passthrough mit Windows machst, das du ein HDMI Dummy Plug in der GPU benötigst, oder halt ein Kabel zu einem Display - windows Deaktiviert dir die GPU wenn kein Display angeschlossen ist.
Denn AMD Driver darfst du nicht blacklisten sonst würde deine IGPU ja nicht mehr funktionieren ;) aber es sieht so aus (liest sich zumindestens so), dass du die Hooks richtig gesetzt hast und somit deine AMD GPU nicht vom dem AMD Driver geladen wird und das die 2te GPU ordentlich zum VFIO driver zugeordnet wird :)

Btw - Looking Glass User oder was verwendest du?
 
Man könnte eine ebene Tiefer ansetzen und den PCIe Slot deaktivieren, habe aber leider kein system zum Testen zur Hand, schau mal in /sys/bus/pci/slots/<slot>

PS: Altenativ kann man auch den slot im Uefi deaktivieren muss dann halt neustarten zum aktivieren
 
Kenny [CH] schrieb:
Bitte beachte, dass wenn du PCI Passthrough mit Windows machst, das du ein HDMI Dummy Plug in der GPU benötigst, oder halt ein Kabel zu einem Display - windows Deaktiviert dir die GPU wenn kein Display angeschlossen ist.
Denn AMD Driver darfst du nicht blacklisten sonst würde deine IGPU ja nicht mehr funktionieren ;) aber es sieht so aus (liest sich zumindestens so), dass du die Hooks richtig gesetzt hast und somit deine AMD GPU nicht vom dem AMD Driver geladen wird und das die 2te GPU ordentlich zum VFIO driver zugeordnet wird :)

Btw - Looking Glass User oder was verwendest du?
Bisher muss ich für Windows noch das DP Kabel einstecken und den Monitoreingang wählen, aber Looking Glass ist das Ziel für die Zukunft.
 
Dassie schrieb:
Bisher muss ich für Windows noch das DP Kabel einstecken und den Monitoreingang wählen, aber Looking Glass ist das Ziel für die Zukunft.
Uff (also zum Umstecken und Monitoreingang auswählen) Installier Looking-Glass und nutzt das jetzt nicht in der Zukunft :p
Du benötigst nur einen HDMI dummy Plug oder halt ein Display eingesteckt an der Passthrough GPU - jedoch das Display muss nicht auf den Input Port umgeschaltet sein - verbunden sollte reichen.
Und dann kannst du dir den Looking Glass Host in der VM installieren und via LG webseite den Client builden:
https://looking-glass.io/artifact/B5.0.1/source > Offizielle Client Binary zum selber Builden (this is the way atm)
https://looking-glass.io/artifact/B5.0.1/host > Host Binary signiert von Gnif (LG Dev) mit allen Features (NvFBC wird nur mit dieser EXE funktionieren - kein selbst Build der Host.exe enthaltet die nötigen sourcen für das)

PS. Wenn du Bleeding Edge verwendest könntest du auch Audio Input/Output via LG verwenden, aber auch das neue DX12 Backend ist in den neuen Bleeding Edge verfügbar. Zum Thema welches Backend meine Tests haben bei mir folgende ergebnise DX12 Backend > NvFBC Backend ('eigentlich nur für Quadro Karten, kann auch auf Geforce freigeschaltet werden - aber def. nur NV) > DX11 Backend (Standard/Default).
TLDR DX12 Backend ist das beste was du haben kannst, besonders für einen älteren PC :p
 
AlphaKaninchen schrieb:
cat amdgpu_pm_info funktioniert nur bei der iGPU, die 5600XT gibt da: Das Argument ist ungültig
Ich sehe aber das der Power State D3 erlaubt ist aber die Karte gerade State D0 hat.
Sehe ich das richtig das damit auf jeden Fall mehr Energie verbraucht als sie beim nichtstun sollte, oder gibt es ein Powersave state vom Treiber?

Allerdings sehe ich nun auch das ein Prozess die 5600XT nutzt:
/usr/lib/xorg/Xorg -nolisten tcp -auth /var/run/sddm/{bb6dfa73-7d24-4429-9ce8-ea6943d2cfd0} -background none -noreset -displayfd 17 -seat seat0 vt1

Könnte ich den los werden, dann wäre das Problem doch gelöst, oder?
 
Zurück
Oben