Schlechte Performance mit Nvidia-GPU trotz Bumblebee

Hinweis: In dem Thema Schlechte Performance mit Nvidia-GPU trotz Bumblebee gibt es 46 Antworten auf 5 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Das mit optirun -vv war natürlich Unsinn von mir…


    Code
    journalctl -rb | grep bumble
    Sep 09 21:22:55 linux-maxim.suse kernel: CPU: 2 PID: 2365 Comm: bumblebeed Tainted: G           O    4.13.0-2.gf518598-default #1
    Sep 09 21:22:55 linux-maxim.suse bumblebeed[2365]: [    7.012933] [INFO]/usr/sbin/bumblebeed 3.2.1 started


    In /etc/bumblebee/bumblebee.conf sind folgende Pfade angegeben:
    LibraryPath=/usr/lib64/nvidia:/usr/lib/nvidia
    XorgModulePath=/usr/lib64/nvidia/xorg/,/usr/lib64/xorg/modules


    Das Komma ist wahrscheinlich ein Fehler, oder? Leider hat eine Korrektur zum Doppelpunkt samt reboot nichts gebracht.…

  • Bei mir ist etwas anders in bumblebee.conf
    LibraryPath=/usr/X11R6/lib64:/usr/X11R6/lib


    und im anderen Pfad sollten Kommas für die Liste benutzt werden:
    XorgModulePath=/usr/lib64/nvidia/xorg/modules,/usr/lib64/xorg/modules


    Und die Ursache für dein Problem könnte im Verzeichnis /usr/lib64/xorg/modules/drivers/ liegen:
    Bei dir fehlen die Dateien intel_drv.so, nv_drv.so und nvidia_drv.so


    bumbleebee versucht über XorgModulePath diese Treiber zu finden, kann sue aber nicht finden.


    Hast du alle Pakete installiert, die mit xf86... anfangen?
    z.B. xf86-video-intel. In diesem Paket ist der Treiber intel_drv.so?

    Für den Inhalt des Beitrages 112507 haftet ausdrücklich der jeweilige Autor: Usuario

  • Der Pfad /usr/X11R6/lib64 existiert bei mir zwar, ist aber leer. Das Komma hab ich wiederhergestelllt.
    Es gibt sehr viele verfügbare xf86-Pakete, von denen bei weitem nicht alle installiert sind (siehe Output von zypper se xf86). Einige davon brauche ich definitiv nicht, wie z.B. video-amdgpu. Ich habe nachträglich xf86-video-intel und xf86-video-nv installiert, sodass in /usr/lib64/xorg/modules/drivers/ zwei neue Dateien liegen: nv_drv.so und intel_drv.so. nvidia_drv.so liegt hingegen im Ordner /usr/lib64/nvidia/xorg/modules/updates/drivers/, sodass es ja auch gefunden werden müsste, oder?
    Die Fehlermeldung zum intel-module verschwunden, ansonsten fällt die GPU immer noch vom Bus…

    Code
    grep EE /var/log/Xorg.0.log.old 
    [   840.923] Current Operating System: Linux linux-maxim.suse 4.13.0-2.gf518598-default #1 SMP PREEMPT Fri Sep 8 11:31:42 UTC 2017 (f518598) x86_64
            (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    [   841.991] (EE) evdev: TPPS/2 IBM TrackPoint: Unable to query fd: Inappropriate ioctl for device
    [   842.020] (EE) PreInit returned 2 for "TPPS/2 IBM TrackPoint"
  • Schaut nicht so gut aus.
    Es deutet auf ein Hardwareproblem oder ein Problem mit den nvidia-treiber hin.


    Du kannst aber noch versuchen:


    in der /etc/modprobe.d/50-bbswitch.conf setzt du load_state=-1
    und dann rebooten.
    Wenn es nicht klappt setz wieder load_state=1 zurück.


    Das war ein alter Bug, vielleicht ist er wiederauferstanden.


    Wenn das nicht geklappt hat kannst noch versuchen folgende Zeile in die /etc/rc.d/boot.local zu schreiben:
    /usr/bin/nvidia-smi --persistence-mode=1
    und dann rebooten.


    Viel Glück!

    Für den Inhalt des Beitrages 112528 haftet ausdrücklich der jeweilige Autor: Usuario

  • Ich hatte auch gesehen, dass die meisten google-Treffer zum "fallen off the bus" auf einen Hardwarefehler hinwiesen. Da jedoch der Fehler nicht unter 42.2, sondern erst 42.3 auftrat, schloss ich das aus: Die GPU wird ja wohl kaum durch eine Installation eines OS beschädigt werden.


    Lustigerweise funktioniert nun optirun. Folgendes ist passiert: Ich hatte vor ein paar Tagen in /var/lib/dkms/nvidia/kernel-4.12.11-1.gbf7fb08-default-x86_64/log/make.log folgenden Eintrag gelesen: /usr/src/linux-4.12.11-1.gbf7fb08/Makefile:946: "Cannot use CONFIG_STACK_VALIDATION, please install libelf-dev, libelf-devel or elfutils-libelf-devel"
    Dies hatte ich installiert, aber nicht daran gedacht, dkms nochmal alle Module bauen zu lassen. Gerade eben wurde das Update auf Kernel 4.13.1 verfügbar, außerdem habe ich nochmal penibel überprüft, dass alle bumblebee-Pakete aus dem korrekten Repository installiert sind. Tatsächlich gab es einige (z.B. primus), bei denen Yast die falsche Version aus den Standard-Repos ausgewählt hatte. Nach diesem Update baute dkms alle Module neu, und siehe da: Inklusive aller unserer bisherigen Änderungsversuche funktioniert optirun glxspheres und zeichnet ein weiches Bild.
    Was mich etwas wundert ist folgendes: Wenn die "VGL Compression: proxy" gesetzt ist, kriege ich nur 87 frames/s: wenn ich das in bumblebee.conf auf jpeg ändere, erhalte ich 109 fps. Eingebaut ist eine GTX 9040MX. Im Vergleich dazu hat KosstAmojan einst seinen Output gepostet (siehe Post #9), wo er mit einer älteren GTX 840M auf knapp 170fps gekommen ist:


    Neues dmesg siehe Anhang.


    Einerseits bin ich erleichtert, dass es funktioniert, andererseits kann ich nicht sagen, warum…

  • Falsche Prios in der Repo-Liste.
    Würde ich wetten.

    Teilweise richtig: Bei dkms hat tatsächlich die höhere Prio von packman reingegrätscht. Die Bumblebee-Repos hatte ich bei 99 belassen, jedoch hat Yast nicht erkannt, dass bei z.B. primus die Version 0+git2015… (Bumblebee/Kernel) neuer ist als 20131226… (Standard) – trotz erlaubtem Herstellerwechsel.


    Was ich noch vergessen hatte: Sucht bumblebee im XorgModulePath auch alle Unterverzeichnisse durch? Der vollständige Pfad zu nvidia_drv.so ist nämlich /usr/lib64/nvidia/xorg/modules/updates/drivers/, was ich erst nachträglich in bumblebee.conf dazugeschrieben hatte.