6

Из-за некоторых проблем мне пришлось переустанавливать fedora. В настоящее время у меня есть fedora-19 с версией ядра 3.11.4-201 .

Я не установил драйверы NVIDIA и использую драйверы nouveau по умолчанию для графики. Шмель и bbswitch установлены правильно, но bbswitch не может отключить дискретную графику. Я сделал tee /proc/acpi/bbswitch<<<OFF но когда я проверяю статус, он сообщает об этом. dmesg|grep bbswitch дает следующее:

[   25.192983] bbswitch: module verification failed: signature and/or required key missing - tainting kernel
[   25.193158] bbswitch: version 0.7
[   25.193165] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[   25.193172] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP
[   25.193316] bbswitch: detected an Optimus _DSM function
[   25.193325] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
[ 1383.773601] bbswitch: device 0000:01:00.0 is in use by driver 'nouveau', refusing OFF

Шмель-демон работает, но optirun glxgears -info дает следующее:

[ 2441.794492] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) Failed to load module "mouse" (module does not exist, 0)

[ 2441.794545] [ERROR]Aborting because fallback start is disabled.

В настоящее время нет файла с именем bbswitch.conf в /etc/modprobe.d/ или в /etc/modules-load.d/ . Разумно ли создавать файл вручную и добавлять в него bbswitch load_state=0 ?

Как отключить дискретную видеокарту? Это произошло довольно гладко в моей предыдущей fedora-17, которую я кормил fedora-19. Разве шмель не должен выключать его без ручного вмешательства? Как узнать, совместим ли bbswitch с ядром?

РЕДАКТИРОВАТЬ

Во время одной загрузки графика была выключена, но она снова включилась, когда я попробовал optirun glxgears -info (который, кстати, выдал ту же ошибку). Я переустановил bbswitch и bumblebee, но это не решает проблему.

2 ответа2

7

Bbswitch README совершенно ясно говорит об этом:

Пользователям kmod следует создать /etc/modprobe.d/bbswitch.conf содержащий options bbswitch load_state=0 чтобы установить параметры по умолчанию. Чтобы загрузить модуль, пользователи systemd должны создать /etc/modules-load.d/bbswitch.conf содержащий bbswitch .

Для того чтобы bbswitch мог выключить видеокарту, вы также должны запретить загрузку модулей nvidia (nouveau в вашем случае). В моей системе я создал /etc/modprobe.d/nvidia.conf содержащий:

blacklist nvidia
blacklist nouveau
options bbswitch load_state=0

Далее, initrd должен быть обновлен с помощью dracut --force

При использовании Bumblebee вышеуказанное строго не обязательно (демон запускает модули и использует bbswitch при запуске). Однако из-за условий гонки возможно, что демон шмеля запускается одновременно во время загрузки драйвера nouveau. Поэтому все же целесообразно заносить модули в черный список.

Обратите внимание, что при optirun foo при некоторых условиях карта nvidia не отключается. Вот почему вы заметили, что графика nvidia по-прежнему включена.

2

У меня были похожие проблемы, тот же вывод в отчетах, что и в вашем первом посте. В ответ на ваш вопрос, чтобы добиться переключения, я полностью удалил Шмеля. Вычистил это. Вместо этого я использовал ppa для установки драйвера nvidia-340, самого последнего из проприетарных на данный момент. Это без проблем удалось внести в черный список nouveau и обработать X-сервер, выполнить необходимые изменения ядра и конфигурации. Он имеет Prime и bbswitch в качестве зависимостей, и с этого все работало нормально. Затем запустите «sudo prime-select intel», чтобы заставить его работать с Prime, и обновите для него последние версии драйверов. Когда я открыл NVIDIA X Server Settings, я смог плавно переключаться. Для использования CUDA под Blender мне также пришлось добавить nvidia-modprobe. Более подробное описание смотрите в этой теме.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .