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. Для более подробного описания смотрите эту тему