bbswitch не может отключить дискретную графику

Из-за некоторых проблем мне пришлось переустанавливать 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к этому?

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

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

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

2 ответа

Решение

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 по-прежнему включена.

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

Другие вопросы по тегам