Страница 1 из 1
Как отключить дискретную карту, после использования optirun
Добавлено: 27 июн 2015, 12:12
admsasha
Как отключить дискретную карту, после использования optirun ?
Карта nvidia + intel
В теории написано, что должна сама отключатся, но судя по /proc/acpi/bbswitch это не так.
не помогает
До использования optirun
Код: Выделить всё
# lspci -vnn | grep '\[030[02]\]'
00:02.0 VGA compatible controller [0300]: Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108M [GeForce GT 630M] [10de:0de9] (rev ff) (prog-if ff)
после
Код: Выделить всё
# lspci -vnn | grep '\[030[02]\]'
00:02.0 VGA compatible controller [0300]: Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108M [GeForce GT 630M] [10de:0de9] (rev a1) (prog-if 00 [VGA controller])
Re: Как отключить дискретную карту, после использования optirun
Добавлено: 27 июн 2015, 13:08
keleg
А primusrun работает?
Re: Как отключить дискретную карту, после использования optirun
Добавлено: 27 июн 2015, 13:15
admsasha
Код: Выделить всё
$ glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
305 frames in 5.0 seconds = 60.882 FPS
301 frames in 5.0 seconds = 60.081 FPS
301 frames in 5.0 seconds = 60.078 FPS
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
after 3008 requests (3008 known processed) with 0 events remaining.
Во время выполнения этой команды, включилась дискретная карта, но по завершению не выключилась
Код: Выделить всё
$ primusrun glxgears
293 frames in 5.0 seconds = 58.406 FPS
301 frames in 5.0 seconds = 60.081 FPS
301 frames in 5.0 seconds = 60.080 FPS
primus: warning: dropping a frame to avoid deadlock
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
after 37 requests (37 known processed) with 0 events remaining.
primus: warning: dropping a frame to avoid deadlock
primus: warning: timeout waiting for display worker
Код: Выделить всё
$ optirun glxgears
3572 frames in 5.0 seconds = 714.393 FPS
3633 frames in 5.0 seconds = 726.558 FPS
3676 frames in 5.0 seconds = 735.126 FPS
[VGL] ERROR: in readback--
[VGL] 241: Window has been deleted by window manager
Re: Как отключить дискретную карту, после использования optirun
Добавлено: 27 июн 2015, 21:52
PastorDi
Да, я тоже заметил, что после использования optirun/primusrun Nvidia не отрубается. Всё хотел написать про это, да забыл.

Re: Как отключить дискретную карту, после использования optirun
Добавлено: 29 июн 2015, 10:02
aponomarenko
admsasha писал(а):Как отключить дискретную карту, после использования optirun ?
Карта nvidia + intel
В теории написано, что должна сама отключатся, но судя по /proc/acpi/bbswitch это не так.
не помогает
До использования optirun
Код: Выделить всё
# lspci -vnn | grep '\[030[02]\]'
00:02.0 VGA compatible controller [0300]: Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108M [GeForce GT 630M] [10de:0de9] (rev ff) (prog-if ff)
после
Код: Выделить всё
# lspci -vnn | grep '\[030[02]\]'
00:02.0 VGA compatible controller [0300]: Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108M [GeForce GT 630M] [10de:0de9] (rev a1) (prog-if 00 [VGA controller])
Сделайте пробу компьютера сразу после попытки отключения:
http://wiki.rosalab.ru/ru/index.php/%D0 ... 0%B8%D1%8F
Из lspci карта после отключения не должна исчезать. Строка которую вы грепали останется. Просто будет меньше информации по карте, да и то только после перезагрузки до первого ее использования.
Re: Как отключить дискретную карту, после использования optirun
Добавлено: 29 июн 2015, 11:12
PastorDi
Я если честно, не смотрел в lspci. У меня, ДО использования optirun/primusrun модуль nvidia не загружен. Как только попользуешься opritun/primusrun, ПОСЛЕ использования модуль nvidia не выгружается, так и остается загруженным. А по идее должен выгружаться.
Re: Как отключить дискретную карту, после использования optirun
Добавлено: 29 июн 2015, 14:18
aponomarenko
После первого запуска optirun загружается модуль nvidia и используется процессом Xorg:
Код: Выделить всё
sudo lsof -n -w /dev/nvidia0
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Xorg 19231 root mem CHR 195,0 44303 /dev/nvidia0
...
Из-за него не получается выгрузить модуль:
Код: Выделить всё
sudo rmmod nvidia
rmmod: ERROR: Module nvidia is in use
Чтобы его все-таки выгрузить нужно сделать:
После этого выключение работает:
Код: Выделить всё
sudo tee /proc/acpi/bbswitch <<<OFF
cat /proc/acpi/bbswitch
0000:01:00.0 OFF
Вот что выдает lspci после этого:
Код: Выделить всё
lspci -vnn
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108GLM [NVS 5200M] [10de:odfc] (rev ff) (prog-if ff)
!!! Unknown header type 7f
Kernel modules: nvidiafb, nouveau, nvidia346
т.е. карта отключена.
Re: Как отключить дискретную карту, после использования optirun
Добавлено: 29 июн 2015, 15:02
PastorDi
Т.е. получается, что все правильно работает?
Re: Как отключить дискретную карту, после использования optirun
Добавлено: 29 июн 2015, 16:45
aponomarenko
PastorDi писал(а):Т.е. получается, что все правильно работает?
Похоже, что это работает как задумывалось.
Вместо killall Xorg можно сделать:
После этого модуль nvidia также нормально извлекается и карта может быть отключена.
Re: Как отключить дискретную карту, после использования optirun
Добавлено: 29 июн 2015, 17:22
admsasha
Ну я просто bumblebeed рестартую, и дискретная карта сама отключается. Только это какой то кривой метод.