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

10098
WYSIWYG

Из-за некоторых проблем мне пришлось переустанавливать 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.confin /etc/modprobe.d/или in /etc/modules-load.d/. Разумно ли создавать файл вручную и добавлять bbswitch load_state=0к нему?

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

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

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

6

2 ответа на вопрос

7
Lekensteyn

The bbswitch README is quite clear on this:

Users of kmod should create /etc/modprobe.d/bbswitch.conf containing options bbswitch load_state=0 to set the default options. To load the module, systemd users should create /etc/modules-load.d/bbswitch.conf containing bbswitch.

In order to allow bbswitch to turn off the video card, you must also prevent the nvidia modules from loading (nouveau in your case). On my system, I have created /etc/modprobe.d/nvidia.conf containing:

blacklist nvidia blacklist nouveau options bbswitch load_state=0 

Next, initrd should be updated using dracut --force

When using Bumblebee, the above is strictly not necessary (the daemon will unload modules and use bbswitch on start-up). Due to race conditions however, it is possible that the bumblebee daemon starts simultaneously while the nouveau driver is being loaded. Therefore it is still wise to blacklist the modules.

Note that when optirun foo fails under some conditions, the nvidia card is not disabled. That is why you observe that the nvidia graphics is still enabled.

я точно сделал то, что ты сказал. просто вместо `nvidia.conf` я создал файл с именем` nouveau.conf`. `dmesg | grep bbswitch` выдает то же сообщение:` устройство 0000: 01: 00.0 используется драйвером 'nouveau', отказываясь выключать` WYSIWYG 10 лет назад 0
@bharat_iyengar После README вы видите, что вам, возможно, придется обновить свой начальный виртуальный диск. Я не очень знаком с Fedora, но согласно [их вики] (http://fedoraproject.org/wiki/Common_kernel_problems#How_to_set_module_options_for_boot_drivers), вы можете запустить `mkinitrd`. Поскольку Fedora, похоже, использует systemd, они, вероятно, тоже используют kmod. Обычно вам не нужно включать карту при выключении. Lekensteyn 10 лет назад 0
`dracut --force` сделал работу .. Спасибо WYSIWYG 10 лет назад 0
2
Christos

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

Похожие вопросы