iGPU-only mode in Manjaro SwayWM

scooter010

Commander Pro
🎂Rätsel-Elite ’16
Registriert
Sep. 2014
Beiträge
2.943
Moin Forum!

TL;DR: Wie kann ich mein Notebook mit dGPU so in einem iGPU-only MOdus booten, dass die dGPU (nahezu) keinen Einfluss mehr auf die Akkulaufzeit hat? Aber so, dass ich das "umschalten" kann durch einen Befehl (<=1 min Ausführungsdauer, auch ohne Internet) mit anschließendem Reboot. Das ganze für Manjaro in der SwayWM Edition.



Ich habe ein XMG Fusion15 L19 mit I7 9750H CPU und RTX2070 "Mobile". Unter PopOS (22.04 Basis, Xorg, Gnome-DE) konnte ich mit dem System76-power immer auf die iGPU "solo" umschalten. Das resultierte dann darin, dass das System rund 8-10W im idle verbraucht hat, aber dafür die Grafikausgänge auch nicht mehr funktionierten, da diese direkt an der dGPU hängen.
Ich konnte auch auf die dGPU umschalten. Das führt dann zu 20-25W im Idle (diese hybrid-mode-Sachen haben nie wirklich funktioniert wie unter Windows), aber die externen Ports gingen wieder. Das war für mich ein brauchbarer Kompromiss, da ich unterwegs eh keine externen Displays anschließe.

Dieses Verhalten wollte ich gerne unter Manjaro in der SwayWM Variante nchbilden.
Witzigerweise hatte ich das sogar bereits ein mal geschafft! 10W auf dem Desktop in Manjaro Sway. Aber ich wusste nicht mehr wie und ich habe das System dabei so "verbastelt", dass ich danach nochmal neu installiert habe, da ich dachte zu wissen, woran es lag. Aber dann war es weg und nicht mehr her zu bekommen.

Ich habe bereits versucht (in unterschiedlichsten Kombinationen und Varianten):
  • installation von system76-power as dem AUR mit dem mkinitpcio patch (und danach auch ausgeführt)
  • Entfernung/Deinstallation der Module aus der Waybar (aka sowas wie widgets bei gnome), de direkt mit dem Kompositor oder Graka (CUDA) interagieren (wluma und wlsunset)
  • pci-stub der zwei Geräte von nVidia via Kernel-Cmdline
  • modulblacklisting der nvidia module in der Kernel-Cmdline
  • Das Bauen eines initramFS ohne nVidia-Module
  • Eine Systemd-Unit, die den pci Endpunkt removed und vorher die nVidia Module entfernt, sogar mit diesem drm Schalten in der kernel Cmdline, die verhindern soll, das der nVidia Treibe rmit in den drm-stack eingebaut wird beim boot.
  • Sway per config angewiesen, dei /dev/dri/card1 (iGPU) zu nutzen
  • Deinstallation der nVidia Treiber
Ich schaffe es um das Verrecken nicht mehr. Entweder wird mindestens die nVidia-nvu (computing) geladen und ich bleibe bei 20-25W oder es wird wirklich nichts von nVidia geladen aber ich bin dann bei 50-55W im idle, vermutlich weil die Karte niemals schlafen gelegt wurde (oder sowas). Als es funktioniert hatte und ich iGPU-solo warv mit den 10W hatte lsmod | grep -i nvidia zumindest noch einen i2c_nvidia (oder so ähnlich) ausgegeben. Der ist wohl wichtig. In dmesg sind jedenfalls keine Errors sichtbar.

Wenn Bedarf besteht, kann ich auch nochmal alle exakten Befehle raus suchen. Es ist zum Mäuse melken. Nicht nur die verringerte Akkulaufzeit stört, auch der permanent arbeitende Lüfter nervt...

Vielleicht hat jemand eine Idee. @Luksus @Thomas_76
 
  • Gefällt mir
Reaktionen: kieleich
Danke für den Link, keine der Optionen ist hilfreich:
  • funktionieren nur unter Xorg,
  • zielen auf Verbesserungen von hybrid-modes ab,
  • setzen nouveau voraus oder
  • erfordern gnome als DE/DM bzw.
  • einen nicht Sway DM
Nichts was unter Wayland (mit Sway) klappt.

https://wiki.archlinux.org/title/Hybrid_graphics#Fully_power_down_discrete_GPU
Das könnt eich noch probieren (und auf nvidia anstelle von Nouveau adaptieren), aber das ist letztlich nichts anderes als das blacklisten der treiber und anschließende entfernen der Geräte von PCI. Das hatt eich bereits (auf andere Art) gemacht... Aber in der Not...
 
Naja, Pop!OS macht an der Stelle auch nichts anderes, als Treiber Blacklisten und PCIe Geräte schlafen schicken. Wie andere Tools, EnvyControl z.B., auch. Könnte daran liegen, dass das der Weg ist, wie das halt in Linux funktioniert. Zaubern tut System76 da nicht. Deine Punkte da kann ich vor dem Hintergrund des Beitrags im Arch Wiki nicht nachvollziehen, da steht weit mehr drin, als du da rausgezogen hast.

Im Prinzip wäre der Hybridmodus mit rtd3 für dich noch die idealste Lösung, da sie keine großen Systemverrenkungen bedarf und die GPU einfach pennt, wenn sie nicht gebraucht wird. Man muss bei Turing GPUs, wie du sie hast, nur leider 2 Dinge beachten in dieser Hinsicht: Man muss dafür zwingend das proprietäre Treibermodul nehmen, da das offene Modul Turing GPUs nicht in rtd3 versetzen kann. Und leider funktioniert diese Funktion seit Treiberversion irgendwo 535+ nicht mehr besonders stabil bei Turing GPUs. Also vorerst älteren Treiber nutzen, z.B. 525 (Problem ist bekannt und man wartet gespannt auf Besserung durch NVidia). Ansonsten sind Tools wie EnvyControl das, was du suchst.

Auch lesenswert (vom gleichen Entwickler): https://github.com/bayasdev/nvidia-gpu-off
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ILoveShooter132
Grimba schrieb:
Problem ist bekannt und man wartet gespannt auf Besserung durch NVidia
Besserung durch Nvidia :D Da bete ich lieber das Nova & NVK was wird, das man diesen Treibermüll los wird den Nvidia vertreibt. Seit über 2 Jahren warte ich darauf, dass ich endlich wieder das Powerlimit meiner 3050ti mobile ändern darf (Funktion seit Version 530? defekt. Takt ondemand funktioniert übrigens auch nicht. höchstleistung oder garnicht, zum glück kann man den Takt noch von Hand begrenzen, wer weiß wie lange das noch funktioniert. ingame fpslimit und trotzdem hängt die Karte mit max Takt im Powerlimit mit 40% auslastung). oder 580 Beta und gtk apps.... Bei der Qualität die Nvidias Treiber so zeigen sitzen da vielleicht 2 Programmierer in teilzeit+ der Schülerpraktikant. Ich denke mal rtd3 für "alte" Karten zu fixen steht irgendwo hinter nvidia-settings für wayland brauchbar machen oder Feature angleichung zwischen windows und linux treiber.
 
Ja, zumindest für Turing GPUs unterschreibe ich das. Die bekommen nicht viel Liebe von Nvidia. Aber im Moment tut sich ja viel auf mehreren Ebenen. Mal gucken, wohin das führt.
 
  • Gefällt mir
Reaktionen: ILoveShooter132
Zurück
Oben