Einer meiner Laptops ist in die Jahre gekommen (letzte BIOS-Generation; Optimus-System). Auf diesem System stand eine Neu-Installation von Opensuse Leap 15.0 an (kein Upgrade). Interessant ist dann immer wieder das Verhalten der Grafikarten – hier einer Nvidia und einer im Prozessor integrierten Intel-Karte. Schon früher gab es im Zuge von Upgrades immer wieder Probleme, die Bumblebee-Unterstützung zum Laufen zu bringen. Wegen der Neuinstallation musste ich die ersten Hürden diesmal schon zu Beginn der Installation überwinden. Ohne zusätzliche Maßnahmen lief danach auch der i915-Treiber für die in den Prozessor integrierte Intel-Grafik-Karte nicht so, wie ich das erwartet hätte. Bei der Bumblebee-Installation gab es ferner eine kleine, aber wichtige Neuerung im Zusammenhang mit bbswitch. Ohne deren Beachtung konnte ich optirun/primusrun für 3D-Anwendungen nicht zum Laufen bringen.
Ich stelle nachfolgend die wichtigsten Schritte für einen erfolgreichen Grafik-Setup auf einem solchen System zusammen.
“No KMS” bei den Vorgaben für die Textkonsole(n) am Startschirm für den SuSE-Installer
SuSE bietet auf dem Startschirm der Installation etliche Optionen für die Grafik-Einstellungen an (F3-Taste). Während ich beim ersten und letzten Punkt des aufklappenden Menüs maximale Auflösungen wählen konnte, musste ich bei der Textkonsole zwingend “Keine KMS” wählen.
Installer Size => 1920×1200
Text Console Size => Keine KMS (ggf. zwingend auf Optimus-System)
Video BIOS Size => 1920 x 1080
Tat ich das nicht, starb das System bei der HW-Erkennung mit udev (Stage 6/6 nach dem Laden des Kernels); der Installer landete im Nirwana (schwarzer Schirm mit Cursor) und weigerte sich, seine Arbeit fortzusetzen. Über die genaue Ursache des Problems mag ich hier nicht spekulieren (Optimus => Zugriff auf Nvidia-Karte ohne hinreichenden Treiber?). Siehe bei Interesse zu KMS und dem Suse-Installer die Links am Ende des Beitrags.
Durch Abschalten von KMS im Installer wird dem Kernel der Parameter “nomodeset” übergeben. Danach lief bei mir der grafische Installer in der gewünschten hohen Auflösung. Der Parameter “nomodeset” wird im Zuge der Installation in der Grub2-Konfiguration verankert (s. die Datei “/etc/default/grub” und die resultierenden Einträge in der “/boot/grub2/grub.cfg”).
Desktop-SW KDE Plasma 5 über Pattern installieren und Nouveau-Treiber blacklisten
Um die Kontrolle über die Installation zu behalten, empfiehlt es sich, schrittweise vorzugehen und nicht sofort einen grafischen Desktop zu installieren. Erledigen kann man das im Installer bzw. nach der Installation in YaST durch Abwahl bzw. Auswahl bestimmter Paketgruppen und “Schemata“, von denen SuSE etliche anbietet. Im Installer wählt man geeignete Pakte für eine kleinere Installation aus – z.B. für eine einfache Server-Basis-Installation. Bootet unser System danach erfolgreich in den Multiuser-Modus (mit 6 aktiven Textkonsolen; Wechsel mit Ctrl-Alt-F1 bis Ctrl-Alt-F6), so können wir z.B. einen KDE-Desktop unter YaSTs “Software Management” mittels des Schemas “KDE Plasma5 Desktop Environment” installieren.
Ich gehe dabei gemäß folgender Schritte vor:
1) Installieren des KDE 5 Plasma Schemas
Installieren des KDE Plasma Schemas über YaST >> “Software installieren und löschen” >> Anzeigen >> Schemata >> “KDE Plasma 5 Desktop Environment”.
Wir prüfen, dass das Paket “Mesa-dri-nouveau” nicht installiert wurde. Wenn doch, deinstallieren wir es.
2) Nouveau-Treiber “blacklisten“
Öffnen der Datei “/etc/modprobe.d/50-blacklist.conf“. Hinzufügen folgender Zeilen am Ende (ggf. mit erläuternden Kommentaren):
blacklist nouveau
options
nouveau modeset=0
3) mkinitrd
Ausführen von “sudo mkinitrd” an einem Terminal. Dies ist notwendig, um evtl. nouveau-Treiber-Komponenten auch aus dem “initramfs” zu entfernen.
4) Reboot und Wechsel in das “graphical.target” von systemd
Nach einem Reboot sollte es möglich sein, in den Grafikmodus zu wechseln; dort wird einem der grafische Login-Schirm (bei KDE: SDDM) angeboten. Landet man am Ende des Hochfahrens nicht direkt auf dem grafischen Terminal (Ctrl-Alt-F7), weil das systemd “default.target” noch das “multiuser.target” ist, muss man auf einem Konsolen-Terminal als User root “init 5” absetzen. Später, wenn KDE Plasma korrekt läuft, kann man dann z.B. über Yasts “Services Manager” das “default.target” von systemd ändern. (Wer das lieber auf der Kommandozeile macht, sollte sich mit den Kommandos “systemctl get-default” und “systemctl set-default” befassen.)
Das Arbeiten mit dem grafischen Desktop ging dann in meinem Fall leider überhaupt nicht flüssig; man merkt das bereits am trägen Aufbau des Login-Schirms – vor allem aber nach einem Login und der Darstellung des KDE-Desktops. Es fehlt die 2D-Grafik-Beschleunigung, da der i915-Treiber für die in den Prozessor integrierte Graka noch nicht richtig funktioniert. Der erfordert offenbar KMS, das wir ja aber bei der Installation abschalten mussten (s.o.). Das können wir nun korrigieren.
Kernelparameter “nomodeset” entfernen, mkinitrd, Reboot und Laden des i915-Moduls prüfen
Wir unterbinden jetzt die Übergabe des Parameters “nomodeset” an den Kernel über die Grub2-Konfiguration. Dazu editieren wir die Datei “/etc/default/grub” und entfernen dort den Wert “nomodeset” im Eintrag für “GRUB_CMDLINE_LINUX_DEFAULT”. Der Eintrag sieht danach etwa wie folgt aus:
GRUB_CMDLINE_LINUX_DEFAULT=’splash=silent quiet showopts resume=/dev/mapper/cr-swap’
Um das wirksam zu machen, setzen wir erneut “mkinitrd” ab und initiieren dann einen Reboot-Vorgang (init 6). Bevor wir uns im Anschluss am SDDM-Login-Schirm einloggen, überprüfen wir an einem Konsolen-Terminal, ob das i915-Modul ordnungsgemäß geladen ist; das sollte dann etwa so aussehen:
mytux:~ # lsmod | grep "i915\|video" i915 1953792 7 i2c_algo_bit 16384 1 i915 drm_kms_helper 200704 1 i915 drm 438272 5 i915,drm_kms_helper video 45056 2 msi_wmi,i915
Am grafischen Terminal (Ctrl-Alt-F7) ist dann ein erster Zwischenerfolg zu vermelden: Das Arbeiten mit dem Desktop geht nun flüssig. Für 2D-beschleunigtes KDE reicht die integrierte Intel Graka völlig aus 🙂 .
Bumblebee installieren
Wir wollen nun die Optimus-Konfiguration für 3D-Anwendungen nutzen. Wie schon früher für Leap 42.3 beschrieben (s.
Upgrade Laptop to Opensuse 42.3, Probleme mit Bumblebee und VMware WS 12.5, Workarounds )
gilt, dass man nur das Repository unter “http://download.opensuse.org/repositories/X11:/” für seine Distribution nutzen sollte:
https://download.opensuse.org/repositories/X11:/Bumblebee/openSUSE_Leap_15.0/
Sonst gar nichts! Das Nvidia-Community-Repository ist normalerweise nicht erforderlich.
Im Gegensatz zu Leap 42.3 gehen wir mit folgenden Schritten vor, nachdem wir das Bumblebee-Repository unter YaSTs “Software Management” eingebunden haben:
Schritt 1 – Paketinstallation: Wir installieren die folgenden Pakete:
VirtualGL, bumblebee, dkms, bbswitch, bbswitch-kmp-default
Achtet bitte darauf, dass ihr die zueinander passenden Versionen aus dem Bumblebee-
Repository (und nicht aus dem Leap-15-Update Repository) installiert. Nützlich ist auch das Paket “Mesa-demo-x”, das die Testprogramme “glxgears” und “glxspheres” als Testprogramme beinhaltet. Wir prüfen zudem, dass die Pakete “x11-tools” und “xf86-video-nv” installiert sind. Wenn nicht: Installieren!
Schritt 2 – Aktivierung dkms: Wir aktivieren nun den “dkms”-Service mittels der Kommandos “systemctl enable dkms; systemctl start dkms”. Im Gegensatz zur Leap 42.3-Installation schadet dieser Service diesmal nicht 🙂 ; er garantiert später vielmehr die Neukompilation der Module bei Kerneländerungen oder Modul-Reinstallationen.
Schritt 3 – Gruppe “bumblebee” anlegen: Dann legen wir (z.B. mit YaSTs “User and Group Management”) eine User-Gruppe “bumblebee” an. Bei mir geschah dies bei der Bumblebee-Installation leider nicht automatisch. Dieser Gruppe ordnen wir dann diejenigen User zu, die später “optirun” und “primusrun” für den Start von 3D-Applikationen verwenden dürfen (ggf. auch root).
Schritt 4 – Wichtige Modifikation der Datei “etc/modprobe.d/50-bbswitch.conf”
Ein entscheidender Schritt ist nun, dass wir die Datei “etc/modprobe.d/50-bbswitch.conf” editieren; sie sollte einen Eintrag von genau der Form
options bbswitch load_state=-1 unload_state=1
beinhalten. Wichtig ist das “-1” bei load_state !!
Schritt 5 – Aktivieren des bumblebee-Services
systemctl enable bumblebeed.service
systemctl start bumblebeed.service
Das “d” am Ende von “bumblebeed” ist wichtig; es handelt sich um einen Dämon.
Wir prüfen dann, ob das bbswitch-Module ordnungsgemäß erzeugt wurde. Ein “find / -name “*bbswitch*” sollte etwa Folgendes zeigen:
mytux:~ # find / -name "*bbswitch*" /usr/share/doc/packages/bbswitch /usr/lib/modules-load.d/bbswitch.conf /sys/module/bbswitch /etc/modprobe.d/50-bbswitch.conf /etc/modprobe.d/50-bbswitch.conf.rpmsave /proc/acpi/bbswitch /lib/modules/4.12.14-lp150.11-default/updates/bbswitch.ko /lib/modules/4.12.14-lp150.12.28-default/weak-updates/updates/bbswitch.ko
“bbswitch.ko” sollte für alle installierten Kernelvarianten vorhanden sein; zwingend aber für den aktuell verwendeten Kernel. Treten hier Fehler auf, so hat dies ggf. damit zu tun, dass schon früher einmal nvidia-Module (über andere Repositories) erzeugt wurden. Die entsprechenden RPM-Pakete sind zu löschen; danach muss man manuell nach nvidia-Kernel-Modulen suchen und diese ebenfalls manuell löschen. Anschließend sollte man die bbswitch-Pakte reinstallieren.
Wir probieren dann aus, ob sich das erzeugte bbswitch-Modul mittels
modeprobe bbswitch
laden lässt. Dies sollte fehlerfrei möglich sein.
Nvidia-Treiber installieren
Nun installieren wir die Pakete “nvidia-bumblebee, nvidia-bumblebee-32bit”. Dies sollte eine Weile dauern, da die Treiber runtergeladen und kompiliert werden müssen. Am Ende dieser Installation sollte ein “find / -name “*nvidia*” etwa Folgendes zeigen; der Output ist länglich, aber für einen Vergleich mit eurem eigenen System geeignet:
mytux:~ # /usr/lib64/libnvidia-cfg.so.1 /usr/lib64/libnvidia-opencl.so.1 /usr/lib64/libnvidia-opencl.so.410.93 /usr/lib64/libnvidia-ml.so.1 /usr/lib64/libnvidia-glvkspirv.so /usr/lib64/nvidia /usr/lib64/nvidia/libnvidia-gtk3.so.410.93 /usr/lib64/nvidia/xorg/modules/extensions/libglxserver_nvidia.so /usr/lib64/nvidia/xorg/modules/extensions/libglxserver_nvidia.so.410.93 /usr/lib64/libnvidia-compiler.so.410.93 /usr/lib64/vdpau/libvdpau_nvidia.so.1 /usr/lib64/vdpau/libvdpau_nvidia.so.410.93 /usr/lib64/libnvidia- ptxjitcompiler.so.410.93 /usr/lib64/libnvidia-opencl.so /usr/lib64/libnvidia-ml.so.410.93 /usr/lib64/libnvidia-tls.so.410.93 /usr/lib64/libnvidia-glvkspirv.so.410.93 /usr/lib64/xorg/modules/drivers/nvidia_drv.so /usr/lib64/libnvidia-ptxjitcompiler.so.1 /usr/lib64/libnvidia-ml.so /usr/lib64/libnvidia-fatbinaryloader.so.410.93 /usr/lib64/libnvidia-cfg.so.410.93 /usr/lib64/libnvidia-glcore.so.410.93 /usr/bin/nvidia-settings /usr/bin/nvidia-smi /usr/bin/nvidia-bug-report.sh /usr/bin/nvidia-xconfig /usr/share/pixmaps/nvidia-settings.png /usr/share/nvidia /usr/share/nvidia/nvidia-application-profiles-410.93-key-documentation /usr/share/doc/nvidia-utils /usr/share/doc/nvidia /usr/share/doc/nvidia/nvidia /usr/share/doc/packages/nvidia-bumblebee /usr/share/doc/packages/nvidia-bumblebee/README.nvidia-bumblebee /usr/share/doc/packages/nvidia-bumblebee-32bit /usr/share/doc/packages/nvidia-bumblebee-32bit/README.nvidia-bumblebee-32bit /usr/share/applications/nvidia-settings.desktop /usr/share/vulkan/icd.d/nvidia_icd.x86_64.json /usr/share/vulkan/icd.d/nvidia_icd.i586.json /usr/share/man/man1/nvidia-xconfig.1.gz /usr/share/man/man1/nvidia-settings.1.gz /usr/share/man/man1/nvidia-smi.1.gz /usr/share/licenses/nvidia-utils /usr/share/licenses/kernel-firmware/LICENCE.nvidia /usr/share/licenses/nvidia /usr/share/licenses/nvidia/nvidia /usr/src/linux-4.12.14-lp150.12.28/arch/arm64/boot/dts/nvidia /usr/src/linux-4.12.14-lp150.12.28/drivers/video/fbdev/nvidia /usr/src/linux-4.12.14-lp150.12.28/drivers/video/fbdev/nvidia/nvidia.c /usr/src/linux-4.12.14-lp150.12.28/drivers/char/agp/nvidia-agp.c /usr/src/linux-4.12.14-lp150.12.28/drivers/net/ethernet/nvidia /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/i2c/nvidia,tegra186-bpmp-i2c.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/iommu/nvidia,tegra20-gart.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/iommu/nvidia,tegra30-smmu.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/fuse/nvidia,tegra20-fuse.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm9712.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-sgtl5000.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5677.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra20-das.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra20-ac97.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra30-ahub.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra20-i2s.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-trimslice.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/ bindings/sound/nvidia,tegra-audio-wm8753.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5640.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max98090.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/misc/nvidia,tegra20-apbmisc.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/cpufreq/nvidia,tegra124-cpufreq.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/rtc/nvidia,tegra20-rtc.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-pinmux.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-dpaux-padctl.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/pinctrl/nvidia,tegra114-pinmux.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/timer/nvidia,tegra20-timer.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/gpio/nvidia,tegra186-gpio.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/gpio/nvidia,tegra20-gpio.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/serial/nvidia,tegra20-hsuart.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/dma/nvidia,tegra210-adma.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/dma/nvidia,tegra20-apbdma.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/phy/nvidia,tegra20-usb-phy.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/bus/nvidia,tegra210-aconnect.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/spi/nvidia,tegra20-slink.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/spi/nvidia,tegra20-sflash.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/display/tegra/nvidia,tegra114-mipi.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/interrupt-controller/nvidia,tegra20-ictlr.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/mailbox/ nvidia,tegra186-hsp.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-emc.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/clock/nvidia,tegra124-car.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/clock/nvidia,tegra114-car.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/clock/nvidia,tegra210-car.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/clock/nvidia,tegra124-dfll.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/clock/nvidia,tegra20-car.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/clock/nvidia,tegra30-car.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-actmon.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-mc.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-mc.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-emc.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-flowctrl.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/arm/tegra/nvidia,nvec.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-pmc.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt /usr/src/linux-4.12.14-lp150.12.28/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-ahb.txt /usr/src/nvidia-410.93 /usr/src/nvidia-410.93/nvidia /usr/src/nvidia-410.93/nvidia/nvidia.Kbuild /usr/src/nvidia-410.93/nvidia/nvidia-sources.Kbuild /usr/src/nvidia-410.93/nvidia-modeset /usr/src/nvidia-410.93/nvidia-modeset/nvidia-modeset-linux.c /usr/src/nvidia-410.93/nvidia-modeset/nvidia-modeset-os-interface.h /usr/src/nvidia-410.93/nvidia-modeset/nvidia-modeset.Kbuild /usr/src/nvidia-410.93/nvidia-drm /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-encoder.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-priv.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm.Kbuild /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-fb.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-drv.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-gem-nvkms-memory.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-gem-user-memory.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-connector.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-helper.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-prime-fence.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-gem-nvkms-memory.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-gem.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-gem.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-os-interface.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-utils.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-modeset.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-encoder.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-modeset.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-helper.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-ioctl.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-connector.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-utils.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-fb.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-crtc.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-conftest.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-dma-fence-helper.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-linux.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-crtc.h /usr/src/nvidia- 410.93/nvidia-drm/nvidia-drm-gem-user-memory.h /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-drv.c /usr/src/nvidia-410.93/nvidia-drm/nvidia-drm-prime-fence.h /usr/src/nvidia-410.93/nvidia-uvm /usr/src/nvidia-410.93/nvidia-uvm/nvidia-uvm-sources.Kbuild /usr/src/nvidia-410.93/nvidia-uvm/nvidia-uvm.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia_icd.x86_64.json /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-settings /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-smi /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-xconfig.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia_drv.so /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia.icd /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-modprobe /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-installer.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-settings.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia_icd.json.template /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-fbc.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/nvidia.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/nvidia-sources.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-modeset /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-modeset/nvidia-modeset-linux.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-modeset/nvidia-modeset-os-interface.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-modeset/nvidia-modeset.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-encoder.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-priv.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-fb.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-drv.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-connector.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-helper.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-prime-fence.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-gem.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-gem.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-os-interface.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-utils.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-modeset.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-encoder.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-modeset.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-helper.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-ioctl.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-connector.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-utils.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-fb.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-crtc.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-conftest.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-dma-fence-helper.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-linux.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-crtc.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-gem-user-memory.h /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-drv.c /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-prime-fence.h /usr/ src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-uvm /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-uvm/nvidia-uvm-sources.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-uvm/nvidia-uvm.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/libglxserver_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/10_nvidia_wayland.json /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-opencl.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-glsi.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-settings /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-smi /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-xconfig.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia_drv.so /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia.icd /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-modprobe /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-installer.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-settings.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia_icd.json.template /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-fbc.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/nvidia.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/nvidia-sources.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-modeset /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-modeset/nvidia-modeset-linux.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-modeset/nvidia-modeset-os-interface.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-modeset/nvidia-modeset.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-encoder.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-priv.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-fb.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-drv.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-connector.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-helper.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-prime-fence.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-gem.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-gem.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-os-interface.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-utils.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-modeset.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-encoder.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-modeset.c n/usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-helper.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-ioctl.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-connector.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-utils.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-fb.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-crtc.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-conftest.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-dma-fence-helper.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-linux.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-crtc.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-gem-user-memory.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-drv.c /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-drm/nvidia-drm-prime-fence.h /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-uvm /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-uvm/nvidia-uvm-sources.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/kernel/nvidia-uvm/nvidia-uvm.Kbuild /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libglxserver_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/10_nvidia_wayland.json /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-opencl.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-glsi.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-modprobe.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-bug-report.sh /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-cuda-mps-server /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-debugdump /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-application-profiles-410.93-rc /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-persistenced /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-fbc.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-opencl.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-glsi.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-compiler.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libvdpau_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-ptxjitcompiler.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-eglcore.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libGLESv2_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libGLESv1_CM_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-ml.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-tls.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-glvkspirv.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libGLX_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libEGL_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-ifr.so.410.93 n/usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-fatbinaryloader.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-encode.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/tls/libnvidia-tls.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/32/libnvidia-glcore.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-installer /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-rtcore.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-compiler.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-gtk3.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-gtk2.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libvdpau_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-wfb.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-ptxjitcompiler.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-eglcore.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-cbl.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libGLESv2_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-persistenced.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-persistenced-init.tar.bz2 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-settings.desktop /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libGLESv1_CM_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-cuda-mps-control.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-application-profiles-410.93-key-documentation /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-ml.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-tls.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-glvkspirv.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libGLX_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/html/nvidia-ml.html /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/html/nvidia-debugdump.html /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/html/nvidiasettings.html /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/html/nvidia-smi.html /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/html/nvidia-persistenced.html /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-smi.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libEGL_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-settings.png /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-cuda-mps-control /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-xconfig /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-ifr.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-fatbinaryloader.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/10_nvidia.json /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-cfg.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-encode.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/tls/libnvidia-tls.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-glcore.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/libnvidia-egl-wayland.so.1.1.0 /usr/src/NVIDIA-Linux-x86_64-410.93/NVIDIA-Linux-x86_64-410.93/nvidia-drm-outputclass.conf /usr/src/NVIDIA- Linux-x86_64-410.93/nvidia-modprobe.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-bug-report.sh /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-cuda-mps-server /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-debugdump /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-application-profiles-410.93-rc /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-persistenced /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-fbc.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-opencl.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-glsi.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-compiler.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libvdpau_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-ptxjitcompiler.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-eglcore.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libGLESv2_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libGLESv1_CM_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-ml.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-tls.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-glvkspirv.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libGLX_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libEGL_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-ifr.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-fatbinaryloader.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-encode.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/tls/libnvidia-tls.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/32/libnvidia-glcore.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-installer /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-rtcore.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-compiler.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-gtk3.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-gtk2.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libvdpau_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-wfb.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-ptxjitcompiler.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-eglcore.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-cbl.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libGLESv2_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-persistenced.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-persistenced-init.tar.bz2 /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-settings.desktop /usr/src/NVIDIA-Linux-x86_64-410.93/libGLESv1_CM_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-cuda-mps-control.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-application-profiles-410.93-key-documentation /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-ml.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-tls.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-glvkspirv.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libGLX_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/html/nvidia-ml.html /usr/src/NVIDIA-Linux-x86_64-410.93/html/nvidia-debugdump.html /usr/src/NVIDIA-Linux-x86_64-410.93/html/nvidiasettings.html /usr/src/NVIDIA-Linux-x86_64-410.93/html/nvidia-smi.html /usr/src/NVIDIA-Linux-x86_64-410.93/html/nvidia-persistenced.html /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-smi.1.gz /usr/src/NVIDIA-Linux-x86_64-410.93/libEGL_nvidia.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-settings.png /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-cuda-mps-control /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-xconfig /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-ifr.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-fatbinaryloader.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/10_nvidia.json /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-cfg.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia_icd.i586.json /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-encode.so.410.93 /usr/src/NVIDIA-Linux-x86_ 64-410.93/tls/libnvidia-tls.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-glcore.so.410.93 /usr/src/NVIDIA-Linux-x86_64-410.93/libnvidia-egl-wayland.so.1.1.0 /usr/src/NVIDIA-Linux-x86_64-410.93/nvidia-drm-outputclass.conf /usr/src/kernel-modules/nvidia-340.107-default /usr/src/kernel-modules/nvidia-uvm-340.107-default /usr/src/kernel-modules/nvidia-uvm-340.107-default/rm/nvidia.mod.c /usr/src/kernel-modules/nvidia-uvm-340.107-default/rm/.nvidia.ko.cmd /usr/src/kernel-modules/nvidia-uvm-340.107-default/rm/.nvidia.mod.o.cmd /usr/src/kernel-modules/nvidia-uvm-340.107-default/rm/.tmp_versions/nvidia.mod /usr/src/kernel-modules/nvidia-uvm-340.107-default/rm/.nvidia.o.cmd /usr/src/kernel-modules/nvidia-uvm-340.107-default/rm/nvidia.mod.o /usr/src/kernel-modules/nvidia-uvm-340.107-default/rm/nvidia.ko /usr/src/kernel-modules/nvidia-uvm-340.107-default/rm/nvidia.o /usr/src/kernel-modules/nvidia-390.87-default /usr/src/linux-4.12.14-lp150.12.28-obj/x86_64/default/include/config/net/vendor/nvidia.h /usr/lib/libnvidia-opencl.so.1 /usr/lib/libnvidia-opencl.so.410.93 /usr/lib/libnvidia-ml.so.1 /usr/lib/libnvidia-glvkspirv.so /usr/lib/nvidia /usr/lib/libnvidia-compiler.so.410.93 /usr/lib/vdpau/libvdpau_nvidia.so.410.93 /usr/lib/libnvidia-ptxjitcompiler.so.410.93 /usr/lib/udev/rules.d/99-bumblebee-nvidia-dev.rules /usr/lib/libnvidia-ml.so.410.93 /usr/lib/libnvidia-tls.so.410.93 /usr/lib/libnvidia-glvkspirv.so.410.93 /usr/lib/libnvidia-ptxjitcompiler.so.1 /usr/lib/libnvidia-fatbinaryloader.so.410.93 /usr/lib/libnvidia-glcore.so.410.93 /etc/zypp/repos.d/download.nvidia.com-leap.repo /etc/modprobe.d/50-nvidia-default.conf.rpmsave /etc/bumblebee/xorg.conf.nvidia /etc/apparmor.d/abstractions/nvidia /etc/OpenCL/vendors/nvidia.icd /lib/firmware/nvidia /lib/firmware/LICENCE.nvidia /lib/modules/4.12.14-lp150.11-default/kernel/drivers/net/ethernet/nvidia /lib/modules/4.12.14-lp150.12.28-default/kernel/drivers/net/ethernet/nvidia /lib/modules/4.12.14-lp150.12.28-default/updates/nvidia-modeset.ko /lib/modules/4.12.14-lp150.12.28-default/updates/nvidia-drm.ko /lib/modules/4.12.14-lp150.12.28-default/updates/nvidia-uvm.ko /lib/modules/4.12.14-lp150.12.28-default/updates/nvidia.ko /var/cache/zypp/solv/download.nvidia.com-leap /var/cache/zypp/packages/download.nvidia.com-leap /var/cache/zypp/raw/download.nvidia.com-leap /var/lib/dkms/nvidia /var/lib/dkms/nvidia/410.93/4.12.14-lp150.12.28-default/x86_64/module/nvidia-modeset.ko /var/lib/dkms/nvidia/410.93/4.12.14-lp150.12.28-default/x86_64/module/nvidia-drm.ko /var/lib/dkms/nvidia/410.93/4.12.14-lp150.12.28-default/x86_64/module/nvidia-uvm.ko /var/lib/dkms/nvidia/410.93/4.12.14-lp150.12.28-default/x86_64/module/nvidia.ko
Am wichtigsten sind die Einträge für die Module (Endung “.ko”) unter “lib/modules/EURE_AKTUELLE_KERNEL_VERSION”. Einige dieser Module sind für CUDA und die Nutzung der Grafikkarte als schnelles Rechenwerkzeug relevant.
Ihr seht an meinem Output u.a. auch, dass der Treiber die Version 410.93 hat. Der funktioniert für Geforce-Karten (ab Geforce 400). Diese Version wird sich mit künftigen Updates aus dem Bumblebee-Repository ändern. Ihr müsst deshalb vorab prüfen, ob eure Nvidia-Karte dafür geeignet ist (z.B. über die Nvidia-Web-Seite und die dortigen Treiber-Beschreibungen). Eine Beschreibung für den Fall, dass ihr einen älteren Treiber benötigt, erspare ich mir. Ich habe im Moment leider keine Zeit für entsprechende Tests.
In jedem Fall probieren wir nun aus, ob sich das nvidia-Modul laden lässt: Das Kommando “modprobe nvidia” sollte sich anstandslos durchführen lassen.
Erneutes mkinitrd
Nach einem Reboot wird die nvidia-Karte womöglich angeschaltet und das nvidia-Modul bereits geladen (Check Kommando “lsmod | grep “*nvidia*\|video”). Es gibt nun unterschiedliche Möglichkeiten, ein Booten ohne nvidia-Modul zu ermöglichen. Die
einfachste Möglichkeit besteht in folgenden Schritten:
Wir entladen folgende Module gem. ihrer Abhängigkeiten mittels “rmmod”:
nvidia_drm, nvidia_uvm, nvidia_modeset, nvidia
Wir führen dann testweise folgendes Kommandos durch, um die nvidia-Karte abzuschalten:
tee /proc/acpi/bbswitch >>>OFF
Auf meinem Laptop ändert sich dabei die Farbe des Power-Buttons von Rot auf Blau; vielleicht gibt es bei euch eine ähnliche Reaktion/anzeige.
Im Anschluss führen wir erneut “mkinitrd” durch.
Tests 3D-Beschleunigung
Nach einem Reboot sollte das nvidia-Kernel-Modul nicht geladen sein. Wir loggen uns in unseren KDE-Desktop ein. An einem Terminal-Fenster probieren wir “modprobe nvidia; lsmod | grep “nvidia\|video”. Wer will, kann das Modul dann auch wieder entladen.
An einem Terminalfenster setzen wir nun das Kommando “optirun glxspheres” ab. Wir sollten in einem sich öffnenden Fenster eine schnelle Abfolge der konzentrische Kreise aus 3D-Elementen bekommen. Die Rate sollte > 200 Mpixel/sec und > 200 Frames/sec ausweisen. Bei mir sind es annähernd 250 frames/sec (GT 645M).
Links
wiki.archlinux.org/index.php/kernel _mode _setting
https://fedoraproject.org/wiki/Features/KernelModesetting
https://de.wikipedia.org/wiki/Mode-Setting
https://doc.opensuse.org/documentation/ leap/startup/html/book.opensuse.startup/cha.boot_parameters.html
https://forums.opensuse.org/showthread.php/508996-Install-with-UEFI-Bios-and-no-KMS-support