До моего последнего apt-get upgrade
, я использовал bumblebee для управления моей видеокартой nvidia, и он работал отлично - используя primusrun
, я мог получить более 700 кадров в секунду с glxgears
. Теперь, однако, когда я пытаюсь primusrun glxgears
, я получаю эту ошибку:
primus: fatal: Bumblebee daemon reported: error: Could not load GPU driver
Итак, я заглядываю dmesg
и вижу это:
[33359.665924] nvidia: Unknown symbol acpi_os_wait_events_complete (err 0)
Используя dpkg
, я вижу, что у меня установлены следующие пакеты nvidia:
- шмель-nvidia
- nvidia-304
- nvidia-304-обновления
- nvidia-ток
- nvidia-настройки
Поиск в Google привел меня кэтотстраница, которая предлагает добавить патч к драйверу и перекомпилировать его, если у вас есть ошибки в ядре версии 3.13 (на котором я работаю). Где я могу найти исходный код драйвера, чтобы перекомпилировать его? Я думал, что драйверы nvidia имеют закрытый исходный код, но люди на этом форуме, похоже, не являются разработчиками nvidia. Я хорошо разбираюсь в компиляции пакетов и с make
, но если кто-то может дать совет по компиляции драйвера, я был бы очень признателен.
Редактировать: Я думаю, у меня та же проблема, что и уэтотчеловек.
решение1
Файл, который вам нужно пропатчить, хранится в /usr/src/nvidia-??/nv-acpi.c
(в моей системе nvidia-331
путь /usr/src/nvidia-331-331.38/nv-acpi.c
). Драйверкак таковойимеет закрытый исходный код, но этот файл относится к взаимодействию драйвера и ядра.
Поскольку у вас установлены как обновления 304, так и 304, убедитесь, что вы исправили то, которое использует Bumblebee (если сомневаетесь, исправьте оба).
Затем для пересборки модулей ядра запустите
$ sudo dpkg-reconfigure nvidia-304
$ sudo dpkg-reconfigure nvidia-304-updates
Как вы можете догадаться, это всего лишь временное решение. Если вы обновите любой из этих пакетов, ваши изменения пропадут. Чтобы избежать этогозаблокировать обновление этих пакетов.