it-swarm.com.de

Dell XPS 15 9570 (2018) deaktiviert die NVIDIA-GPU

Ich habe kürzlich ein Dell XPS 15 9570 gekauft und Ubuntu 18.04 erfolgreich installiert.

Die meisten Dinge funktionieren wie erwartet, aber es gibt einige Probleme im Zusammenhang mit der Stromversorgung und der NVIDIA-GPU.

Derzeit habe ich zwei Probleme, die ich für wichtig halte:

  1. Die Nvidia-GPU bleibt beim Booten standardmäßig eingeschaltet , auch wenn ich Sudo prime-select intel ausführe. Ich kann es mit bbswitch mit Sudo tee /etc/acpi/bbswitch <<<OFF vom Terminal aus deaktivieren. Ich würde gerne die Grafikkarte beim Booten deaktivieren können, da ich den Laptop nur für die Produktivität unter Linux verwende.
  2. Der Laptop kann nicht in den Ruhezustand wechseln, wenn er mit Netzstrom versorgt wird und bbswitch meldet, dass die GPU ausgeschaltet ist. Im Akkubetrieb wird der Computer normal in den Energiesparmodus versetzt. Im Netzbetrieb wird der Computer in den Energiesparmodus versetzt, hängt sich jedoch beim erneuten Öffnen des Laptop-Deckels auf. Optional ist nur das Ausschalten des Computers möglich.

Konfiguration

Ich führe Ubuntu 18.04 auf einem Dell XPS 15 9570 mit 16 GB RAM, NVidia 1050 TI-Grafikkarte und i7-8750H-Prozessor aus.

Aktionen zur Einrichtung des chronologischen Systems

  • Installieren Sie Ubuntu 18.04 mit nouveau.modeset=0, um das Live-Image und das installierte System zum ersten Mal ausführen zu können
  • Installieren Sie die richtigen nvidia-Treiber über die Anzeige Additional Drivers. Dies installiert Treiber zusammen mit nvidia-prime
  • Verwenden Sie Sudo prime-select intel, um eine Intel-Karte auszuwählen. Starten Sie neu. Dies stellt sicher, dass die Intel-Karte vom System verwendet wird. Die diskrete Karte ist jedoch weiterhin aktiviert , obwohl sie nicht verwendet wird. Dies wird von cat /proc/acpi/bbswitch gemeldet. Dieser Befehl gibt 0000:01:00 ON zurück, was angibt, dass die GPU eingeschaltet ist. Außerdem zeigt powertop eine Entladerate von ~ 20 W im Vergleich zu ~ 10 W, wenn ich die GPU manuell über bbswitch ausschalte.
  • Installieren Sie bbswitch, um sicherzustellen, dass ich die diskrete Karte tatsächlich deaktivieren kann und sie mit Sudo tee /etc/acpi/bbswitch <<<OFF manuell funktioniert.

Dinge, die ich versucht habe

  • Versucht, Bumblebee zu installieren, da dies die Kontrolle über Bbswitch übernehmen und die diskrete GPU bei Bedarf deaktivieren/aktivieren sollte. Das Installieren von Bumblebee führt zu einem System, das ich nicht laden kann. Ich musste das System wiederherstellen, indem ich zur Root-Konsole ging und die Hummel löschte *
  • Ich habe versucht, /etc/modules/ so zu ändern, dass es bbswitch load_state=0 unload_state=1 enthält, wie auf der Seite bbswitch GitHub vorgeschlagen. Dies funktioniert nicht, nur wenn ich bbswitch dort lasse, lädt es bbswitch, aber dann muss ich die GPU manuell deaktivieren.

Irgendwelche Ideen sind willkommen. Fragen Sie mich auch gerne nach weiteren Details. Es ist wirklich frustrierend, dass solch ein ansonsten perfekter Laptop unter Ubuntu unter diesen Problemen leidet.

5
niosus

Auf meinem 9750 mit Ubuntu 18.04 friert mein System ein, wenn ich die dgpu mit bbswitch ausschalte, bevor ich mich anmelde oder boote.

Nachdem ich viele verschiedene Methoden und viele Neustarts ausprobiert hatte, entschied ich mich für eine Problemumgehung: Ich plante einen Cron-Job, um bbswitch nach einer Verzögerung (60s) beim Neustart zu aktivieren, damit ich mich anmelden kann, bevor bbswitch eintritt.

öffne crontab als root im Terminal:

Sudo crontab -e

zu cron hinzufügen:

@reboot sleep 60 && /sbin/modprobe bbswitch

ersetzen Sie/sbin/modprobe dahin, wo sich Ihre Modprobe-Programmdatei befindet. Dies setzt voraus, dass bbswitch installiert ist.

Fügen Sie auch /etc/modprobe.d/bbswitch.conf hinzu:

options bbswitch load_state=0 unload_state=1

Dies schaltet den dgpu beim Laden von bbswitch aus und beim Entladen von bbswitch ein. Weitere Informationen finden Sie unter hier .

Für das Deckelproblem musste ich die logind.conf editieren:

Sudo nano /etc/systemd/logind.conf

ändere die folgende Zeile:

HandleLidSwitchDocked=ignore

zu

HandleLidSwitchDocked=suspend 

Seltsamerweise, wenn Sie die Standardeinstellungen beibehalten (= ignorieren), schließen Sie einen externen Bildschirm an und schließen Sie den Deckel. Der Computer friert beim erneuten Öffnen nicht ein. Mit = ignorieren und mit einem externen Bildschirm wird der Computer angehalten, wenn Sie den Deckel schließen, aber Sie können den externen Bildschirm mit Ihrer Maus/Tastatur aufwecken.

3
Shunji Lin

Dies sind meine Notizen zum Deaktivieren der NVIDIA-GPU und zum Aktivieren der integrierten Intel-GPU auf meinem Prozessor unter Linux. Dies hat meinen Dell XPS 15 Stromverbrauch von 25-30 W auf 11-12 gesenkt. Verbesserung der Akkulaufzeit von 3 Stunden auf 9-10 Stunden. Ich hatte Erfolg beim Deaktivieren der GPU selbst, aber es würde nicht richtig in Linux booten und selbst wenn ich es zum Laufen bringen würde, würde es mir nicht erlauben, die Hintergrundbeleuchtung anzupassen. Ich habe jetzt alle diese Probleme gelöst und alles funktioniert gut.

System Dell XPS 15 9560 9 cell battery
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
Linux version 4.15.0-39-generic ([email protected]) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #42-Ubuntu SMP Tue Oct 23 15:48:01 UTC 2018

Ich habe mich hauptsächlich an diese Anleitung gehalten, musste aber einige Änderungen vornehmen https://Gist.github.com/tomwwright/f88e2ddb344cf99f299935e1312da88

Anleitung ist wie folgt

# perform a fresh install of Ubuntu 17.10

# upgrade the kernel to v4.13.10
mkdir ~/kernel-v4.13.10
cd ~/kernel-v4.13.10
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13.10/linux-headers-4.13.10-041310_4.13.10-041310.201710270531_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13.10/linux-headers-4.13.10-041310-generic_4.13.10-041310.201710270531_AMD64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13.10/linux-image-4.13.10-041310-generic_4.13.10-041310.201710270531_AMD64.deb
Sudo dpkg -i *.deb

# configure required kernel parameter (https://github.com/Bumblebee-Project/bbswitch/issues/148)
Sudo nano /etc/default/grub
# change this parameter to: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_rev_override=1"
# rebuild the bootloader
Sudo update-grub2

# install and configure TLP and PowerTOP
Sudo apt-get install tlp tlp-rdw powertop
Sudo tlp start
# PowerTOP should be reporting a battery discharge rate of ~8-12W
Sudo powertop --auto-tune     # auto-tune parameter will configure some recommended power-saving tweaks

# install Nvidia 384.90 drivers
Sudo add-apt-repository ppa:graphics-drivers/ppa
Sudo apt update
Sudo apt-get install nvidia-384=384.90-0ubuntu3.17.10.1
Sudo apt-mark hold nvidia-384   # stop this package being auto-updated during package resolution

# test that the nvidia drivers are working: nvidia-smi should output some GPU stats
nvidia-smi

# PowerTOP should now be reporting a battery discharge rate of ~15-20W
Sudo powertop

# install Nvidia Prime: so we can disable the dedicated GPU when we don't want it
Sudo apt-get install nvidia-prime
Sudo prime-select intel

# REBOOT: when we boot back in, GPU should now be disabled

Sudo powertop   # PowerTOP should be reporting ~8-12W dischargehe 
nvidia-smi      # nvidia-smi should complain about missing drivers

Sudo prime-select nvidia  # switch back to dedicated graphics
Sudo powertop   # PowerTOP should start reporting ~15-20W discharge
nvidia-smi      # nvidia-smi should report GPU info

Sudo prime-select intel   # the GOTCHA: prime-select intel doesn't re-disable the graphics card
Sudo powertop   # PowerTOP still reporting ~15-20W discharge
nvidia-smi      # nvidia-smi correctly complaining about missing drivers

Nach dem Befolgen der Anleitung 1) Powertop starten und nvidia ein-/ausschalten, oder

Sudo nano /lib/systemd/system/gpuoff.service

um den gpu auszuschalten

/sys/bus/pci/devices/0000\:01\:00.0/power/control

hat den gleichen Effekt wie die Deaktivierung der GPU in Powertop

Sudo nano /lib/systemd/system/gpuoff.service
Sudo systemctl start gpuoff
Sudo systemctl enable gpuoff 
#prime-select nvidia
prime-select intel
prime-select query

2) Sudo vim/etc/default/grub

#grub now that it works:
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=vendor" # < boots
GRUB_CMDLINE_LINUX=""

3) <Dies war eine wichtige Korrektur, um einen ordnungsgemäßen Start ohne Nomodeset zu erreichen. edit /etc/X11/xorg.conf oder so und das Setzen von Intel & Inactive NVIDIA im ersten Abschnitt löste das Problem. Stellen Sie den ersten Abschnitt auf:

Section "ServerLayout"
Identifier "layout"
Screen 0 "intel"
Inactive "nvidia"
EndSection

um jetzt die Hintergrundbeleuchtung zu ändern, benutze ich den Befehl "light". Ich denke, das ist etwas, was ich irgendwo von Github heruntergeladen habe

1
Maurits