Как отключить дискретную карту, после использования optirun

Ответить
Аватара пользователя
admsasha
Сообщения: 278
Зарегистрирован: 25 ноя 2011, 17:54
Operating system: ROSA
Контактная информация:

Как отключить дискретную карту, после использования optirun

Сообщение admsasha » 27 июн 2015, 12:12

Как отключить дискретную карту, после использования optirun ?
Карта nvidia + intel

В теории написано, что должна сама отключатся, но судя по /proc/acpi/bbswitch это не так.

Код: Выделить всё

tee /proc/acpi/bbswitch <<< OFF 
не помогает

До использования 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])

keleg
Сообщения: 5505
Зарегистрирован: 15 сен 2011, 01:58

Re: Как отключить дискретную карту, после использования optirun

Сообщение keleg » 27 июн 2015, 13:08

А primusrun работает?

Аватара пользователя
admsasha
Сообщения: 278
Зарегистрирован: 25 ноя 2011, 17:54
Operating system: ROSA
Контактная информация:

Re: Как отключить дискретную карту, после использования optirun

Сообщение admsasha » 27 июн 2015, 13:15

Код: Выделить всё

$ 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

PastorDi
Сообщения: 2743
Зарегистрирован: 25 авг 2011, 12:34
Operating system: IBM DOS, OS/2
Откуда: Санкт-Петербург
Контактная информация:

Re: Как отключить дискретную карту, после использования optirun

Сообщение PastorDi » 27 июн 2015, 21:52

Да, я тоже заметил, что после использования optirun/primusrun Nvidia не отрубается. Всё хотел написать про это, да забыл. :(

Аватара пользователя
aponomarenko
Сообщения: 396
Зарегистрирован: 14 окт 2014, 18:56
Operating system: ROSA Linux

Re: Как отключить дискретную карту, после использования optirun

Сообщение aponomarenko » 29 июн 2015, 10:02

admsasha писал(а):Как отключить дискретную карту, после использования optirun ?
Карта nvidia + intel

В теории написано, что должна сама отключатся, но судя по /proc/acpi/bbswitch это не так.

Код: Выделить всё

tee /proc/acpi/bbswitch <<< OFF 
не помогает

До использования 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 карта после отключения не должна исчезать. Строка которую вы грепали останется. Просто будет меньше информации по карте, да и то только после перезагрузки до первого ее использования.
Проверить работоспособность компьютера и найти драйвера / Check operability of hardware and find drivers:

Код: Выделить всё

hw-probe -all -upload
См. http://wiki.rosalab.ru/ru/index.php/Проба_компьютера

PastorDi
Сообщения: 2743
Зарегистрирован: 25 авг 2011, 12:34
Operating system: IBM DOS, OS/2
Откуда: Санкт-Петербург
Контактная информация:

Re: Как отключить дискретную карту, после использования optirun

Сообщение PastorDi » 29 июн 2015, 11:12

Я если честно, не смотрел в lspci. У меня, ДО использования optirun/primusrun модуль nvidia не загружен. Как только попользуешься opritun/primusrun, ПОСЛЕ использования модуль nvidia не выгружается, так и остается загруженным. А по идее должен выгружаться.

Аватара пользователя
aponomarenko
Сообщения: 396
Зарегистрирован: 14 окт 2014, 18:56
Operating system: ROSA Linux

Re: Как отключить дискретную карту, после использования optirun

Сообщение aponomarenko » 29 июн 2015, 14:18

После первого запуска 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 killall Xorg
sudo rmmod nvidia
После этого выключение работает:

Код: Выделить всё

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
т.е. карта отключена.
Проверить работоспособность компьютера и найти драйвера / Check operability of hardware and find drivers:

Код: Выделить всё

hw-probe -all -upload
См. http://wiki.rosalab.ru/ru/index.php/Проба_компьютера

PastorDi
Сообщения: 2743
Зарегистрирован: 25 авг 2011, 12:34
Operating system: IBM DOS, OS/2
Откуда: Санкт-Петербург
Контактная информация:

Re: Как отключить дискретную карту, после использования optirun

Сообщение PastorDi » 29 июн 2015, 15:02

Т.е. получается, что все правильно работает?

Аватара пользователя
aponomarenko
Сообщения: 396
Зарегистрирован: 14 окт 2014, 18:56
Operating system: ROSA Linux

Re: Как отключить дискретную карту, после использования optirun

Сообщение aponomarenko » 29 июн 2015, 16:45

PastorDi писал(а):Т.е. получается, что все правильно работает?
Похоже, что это работает как задумывалось.

Вместо killall Xorg можно сделать:

Код: Выделить всё

sudo systemctl stop bumblebeed
После этого модуль nvidia также нормально извлекается и карта может быть отключена.
Проверить работоспособность компьютера и найти драйвера / Check operability of hardware and find drivers:

Код: Выделить всё

hw-probe -all -upload
См. http://wiki.rosalab.ru/ru/index.php/Проба_компьютера

Аватара пользователя
admsasha
Сообщения: 278
Зарегистрирован: 25 ноя 2011, 17:54
Operating system: ROSA
Контактная информация:

Re: Как отключить дискретную карту, после использования optirun

Сообщение admsasha » 29 июн 2015, 17:22

Ну я просто bumblebeed рестартую, и дискретная карта сама отключается. Только это какой то кривой метод.

Ответить

Вернуться в «Обсуждение ROSA Fresh R4 - R8 (платформа 2014.1)»