Bis zu meinem letzten apt-get upgrade
habe ich Bumblebee verwendet, um meine Nvidia-Grafikkarte zu verwalten, und es hat perfekt funktioniert – mit primusrun
konnte ich über 700 fps mit erreichen glxgears
. Wenn ich es jetzt jedoch versuche primusrun glxgears
, erhalte ich diesen Fehler:
primus: fatal: Bumblebee daemon reported: error: Could not load GPU driver
Also schaue ich hinein dmesg
und sehe Folgendes:
[33359.665924] nvidia: Unknown symbol acpi_os_wait_events_complete (err 0)
Durch die Verwendung dpkg
sehe ich, dass ich diese NVIDIA-Pakete installiert habe:
- Bumblebee - NVIDIA
- nvidia-304
- nvidia-304-updates
- nvidia-aktuell
- NVIDIA-Einstellungen
Als ich das googelte, kam ich zuDasSeite, die vorschlägt, einen Patch zum Treiber hinzuzufügen und ihn neu zu kompilieren, wenn bei der Kernelversion 3.13 (die ich verwende) Fehler auftreten. Wo finde ich den Quellcode für den Treiber, um ihn neu zu kompilieren? Ich dachte, die Nvidia-Treiber wären Closed Source, aber die Leute in diesem Forum scheinen keine Nvidia-Entwickler zu sein. Ich komme gut mit dem Kompilieren von Paketen und mit zurecht make
, aber wenn jemand Ratschläge zum Kompilieren des Treibers hat, wäre ich sehr dankbar.
Edit: Ich glaube, ich habe das gleiche Problem wieDasPerson.
Antwort1
Die Datei, die Sie patchen müssen, ist in gespeichert /usr/src/nvidia-??/nv-acpi.c
(in meinem System mit nvidia-331
dem Pfad /usr/src/nvidia-331-331.38/nv-acpi.c
). Der Treiberan sichist Closed Source, aber diese Datei gehört zur Treiber-/Kernel-Interaktion.
Da Sie sowohl 304- als auch 304-Updates haben, stellen Sie sicher, dass Sie das von Bumblebee verwendete Update patchen (im Zweifelsfall beide).
Führen Sie anschließend zum Neuaufbau der Kernelmodule Folgendes aus:
$ sudo dpkg-reconfigure nvidia-304
$ sudo dpkg-reconfigure nvidia-304-updates
Wie Sie sich vorstellen können, handelt es sich hierbei nur um eine vorübergehende Lösung. Wenn Sie eines dieser Pakete aktualisieren, gehen Ihre Änderungen verloren. Um dies zu vermeiden,Blockieren Sie das Update dieser Pakete.