LINUX.ORG.RU

bumblebee не отключает дискретку после запуска приложений

 ,


0

1

Если выполнять запуск через optirun <app>, то дискретка включается, но НЕ отключается.

Через

sudo cat /proc/acpi/bbswitch <<<ON\OFF 
отключение происходит, НО только если до этого не было запущено чего-то через optirun.Если было запущено, то все равно будет ON.

В чем беда?:(

Linux Mint 17.2 x64 Cinnamon nvidia-340, bumblebee 3.2.1



Последнее исправление: Leonius (всего исправлений: 1)

если до этого не было запущено чего-то через optirun.Если было запущено, то все равно будет ON.

Если остановить то, что было запущено до этого, проблема не решается?

Ну и версию nVidia модулей драйверов и Bumblebee надо знать.

backbone ★★★★★
()
Последнее исправление: backbone (всего исправлений: 1)
Ответ на: комментарий от backbone

Нет, не решается. Пробовал запускать разные приложения: от чего-то простого о игрушек.

nvidia-340, bumblebee 3.2.1 Linux Mint 17.2 x64. Ставил по инструкции из убунту-вики:

sudo add-apt-repository ppa:neon1ks/bumblebee
sudo apt-get update
sudo apt-get install --install-recommends nvidia-340 nvidia-settings bumblebee bumblebee-nvidia primus

bumblebee.conf

# Configuration file for Bumblebee. Values should **not** be put between quotes

## Server options. Any change made in this section will need a server restart
# to take effect.
[bumblebeed]
# The secondary Xorg server DISPLAY number
VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all.
KeepUnusedXServer=false
# The name of the Bumbleblee server group name (GID name)
ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
# server exits.
TurnCardOffAtExit=true
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored.
NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=nvidia
# Directory with a dummy config file to pass as a -configdir to secondary X
XorgConfDir=/etc/bumblebee/xorg.conf.d

## Client options. Will take effect on the next optirun executed.
[optirun]
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
# primus.
Bridge=auto
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv.
VGLTransport=proxy
# List of paths which are searched for the primus libGL.so.1 when using
# the primus bridge
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available?
AllowFallbackToIGC=false


# Driver-specific settings are grouped under [driver-NAME]. The sections are
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
# detection resolves to NAME).
# PMMethod: method to use for saving power by disabling the nvidia card, valid
# values are: auto - automatically detect which PM method to use
#         bbswitch - new in BB 3, recommended if available
#       switcheroo - vga_switcheroo method, use at your own risk
#             none - disable PM completely
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods

## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia-current
PMMethod=bbswitch
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia-current:/usr/lib32/nvidia-current
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-current/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

## Section with nouveau driver specific options, only parsed if Driver=nouveau
[driver-nouveau]
KernelDriver=nouveau
PMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau

Leonius
() автор топика
Ответ на: комментарий от backbone

Выход из сеанса проблему не решает. Только после ребута дискретка снова вырубается.

Если проблемка не решится, то придется в сторону прайма идти, может с ним лучше дело пойдет=)

Leonius
() автор топика

Запусти что нибудь с помощью optirun, заверши работу этого приложения и покажи вывод ps aux|grep X|grep -v grep.

eternal_sorrow ★★★★★
()
Ответ на: комментарий от Leonius

sudo add-apt-repository ppa:neon1ks/bumblebee

Основной репозиторий для слабаков?

IceWindDale
()
Ответ на: комментарий от Leonius

Хм, всё нормально. Попробуй после этого выключить дискретку через bbswitch и если не получится, попробуй rmmod nvidia и покажи dmesg|tail.

eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

Через свитч вот так?

sudo tee /proc/acpi/bbswitch <<<OFF

Если так, то все мимо. С самого начала пробовал..:(

Сделал rmmod:

 $ sudo rmmod nvidiaN
 $ sudo cat /proc/acpi/bbswitch
0000:04:00.0 ON
 $ sudo rmmod nvidia
rmmod: ERROR: Module nvidia is not currently loaded

 $ dmesg|tail
[13662.441756] ACPI Warning: \_SB_.PCI0.RP05.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[13662.441771] ACPI Warning: \_SB_.PCI0.RP05.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[13662.441813] ACPI Warning: \_SB_.PCI0.RP05.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[13662.441827] ACPI Warning: \_SB_.PCI0.RP05.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[13662.443283] ACPI Warning: \_SB_.PCI0.RP05.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[13662.567699] vgaarb: this pci device is not a vga device
[13682.564374] ACPI Warning: \_SB_.PCI0.RP05.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[13702.419863] bbswitch: device 0000:04:00.0 is in use by driver 'nvidia', refusing OFF
[13757.670442] bbswitch: device 0000:04:00.0 is in use by driver 'nvidia', refusing OFF
[13829.502505] [drm] Module unloaded

Leonius
() автор топика
Ответ на: комментарий от Leonius

Там в первой строчке $ sudo rmmod nvidia без N. ОПечатка.

Так и не нашел, как тут править комментарии:\ Может кто уже подскажет? Или тут какой-то временной интервал на исправления?

Leonius
() автор топика

nvidia-340

У меня тоже были проблемы с этим драйвером, ставь 352.
Кстати после установки драйвера Nvidia выбирается картой по умолчанию, посмотри в NVIDIA X Setting может у тебя там Nvidia выбрана в качестве карты по умолчанию?
И ещё optirun не эффективен, запускай программы через primusrun.

shayger
()
Ответ на: комментарий от Leonius

в сторону прайма идти, может с ним лучше дело пойдет=)

Нет. Каждый раз геморойно входить-выходить.

shayger
()
Ответ на: комментарий от shayger

Попробовал 352 и 355 тоже. Все бестолку (в конфигах шмеля менять пути к lib и тп не забывал). Та же самая ошибка :(

А про карту по умолчанию, сея опция же есть только как раз в Прайме? Ибо тут даже при optirun nvidia-settings -c :8 ничего подобного не видно.

Leonius
() автор топика
Ответ на: комментарий от eternal_sorrow

Погулил на этот счёт. Самое толковое, что нагуглилось: http://superuser.com/questions/660624/bbswitch-fails-to-turn-off-discrete-gra...

Сделал все, как описано в реадми шмеля: https://github.com/Bumblebee-Project/bbswitch#disable-card-on-boot

Пункт Disable card on boot вроде удался. Исхожу из того, что модуля nvidia в lsmod при старте нет (ранее был). Появляеться только после первого запуска чего-либо и не убирается уже средствами шмеля.

Пункт Enable card on shutdown тоже проделал, но результата нуль. Как не отключалась, так и не отключается.

Ошибка всё та же:

bbswitch: device 0000:04:00.0 is in use by driver 'nvidia', refusing OFF

Leonius
() автор топика
Ответ на: комментарий от eternal_sorrow

Но если выгрузить rmmod'ом, а потом послать bbswitch OFF, то все работает.

Осталось понять, как заставить драйвер выгружаться автоматически после закрытия приложения...

Leonius
() автор топика
Ответ на: комментарий от Leonius

в конфигах шмеля менять пути к lib и тп не забывал

Я в его конфиги никогда не лазил и всё хорошо работает, зачем ты туда лез? Может чего лишнего изменил? Попробуй сбросить настройки шмеля.

А про карту по умолчанию, сея опция же есть только как раз в >Прайме?

Прайм идёт из коробки с новыми версиями драйверов. с 340 он точно идёт, с более старыми не знаю.
http://itmag.es/3ykVF вот так оно выглядит.
А что у тебя за видеокарта?

shayger
()
Ответ на: комментарий от shayger

Там везде стояло nvidia-current и при таком раскладе он не работал с новыми дровами, ибо каррент ссылается лишь на 304 версию. Потому для 340 и 352 приходилось прописывать nvidia-340 и т.д. Без этого он вообще не запускался, говоря, что не может получить доступ к дискретке.

Хм. А я прайм снес после обновления драйверов. В большинстве инструкций настоятельно прямо таки рекомендуется убивать его при установке шмеля. Но когда он был (пока не снес, сразу после установки 352-го) там была интел. Теперь, само собой, такой строчки в настройках нету.

Nvidia Geforce 840M.

Завтра еще поэкспериментирую с другими версиями драйверов. И настройки сбросить попробую, только вот вряд ли оно поможет. Но чем черт не шутит)

Leonius
() автор топика
Ответ на: комментарий от Leonius

В большинстве инструкций настоятельно прямо таки >рекомендуется убивать его при установке шмеля.

Когда после установки драйвера я его удалил перестали запускаться иксы, в консолечке установил назад и чсх иксы запустились, инфа значить устарела, его не нужно удалять.

shayger
()
Ответ на: комментарий от Leonius

Завтра еще поэкспериментирую с другими версиями драйверов.

Сноси к болтам полностью драйвер и шмель (конфиги не забудь удалить). Затем всё установи заново, но не удаляй prime. Ставь 352 драйвер и конфиги никакие не трогай.

shayger
()
Ответ на: комментарий от shayger

Проекты Bumblebee и Nvidia Prime не совместимы между собой. Поэтому, чтобы правильно установить проприетарный драйвер nVidia и Bumblebee, удалите nvidia-prime или удостоверьтесь в его отсутствии:

http://help.ubuntu.ru/wiki/bumblebee#установка

Вроде статья новая, новые бубунты включает. Да и не только тут сее писалось.

+ прайм в трее показывает ошибку, мол не может определить текущую карту и все дела (при условии, что со шмелем стоит, когда один - все ок). Но ради эксперимента - попробую позже несложно. Отпишусь.

Leonius
() автор топика

Короче. Делай так:

sudo apt-get purge bumblebee*
rm -r /etc/bumblebee
sudo apt-get purge nvidia-*

Перезагружаешься.

sudo add-apt-repository ppa:xorg-edgers/ppa -y
sudo apt-get update
sudo apt-get install nvidia-352 nvidia-settings
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee bumblebee-nvidia
sudo apt-get install primus
sudo add-apt-repository --remove ppa:xorg-edgers/ppa

Перезагружаешься. Заходишь в настройки nvidia и переключись на видеокарту Intel, потом ещё раз перезагрузись. Программы запускай не через optirun, а через primusrun.

shayger
()
Ответ на: комментарий от shayger

Я так делал на своей ubuntu 14.04, не знаю будет ли работать в других версиях, но должно. Если не будет запускаться GUI, то в консольке (знаешь же как?) напишешь sudo apt-get purge nvidia-* bumblebee* (запиши на бумажке эту команду).

Вроде статья новая, новые бубунты включает. Да и не только > тут сее писалось.

Ну я говорю как было у меня, если я удалял primus, то гуй не запускался. Через консоль установил назад - всё запустилось.

shayger
()
Ответ на: комментарий от shayger

Все проделал. Пробовал 352, 346 (ставил с нуля оба), с праймом\без прайма (он кстати ставится только если указать ключ --install-recommends). Все одно.

Настройки не трогал, и правда само заработало теперь. Все плюшки из FAQ(см.выше), которые делал раньше, тоже пробовал не делать \пробовал и делать. Все едино! :(

Карта не отключается автоматически после закрытия запущенного с optirun приложения. Одно что пишет:

Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is on.

Вручную отключается, но только в две команды:

sudo rmmod nvidia
sudo tee /proc/acpi/bbswitch <<<OFF

А primusrun вообще будто бы на карту не влияет. Т.е. везде OFF и во время работы приложения и после. Непонятно..=)

В данный момент оставил 346(т.к. он последний в оф.репе, вот пусть он и будет) без прайма.

Leonius
() автор топика
Ответ на: комментарий от Leonius

После обновления до 3.2.1-93 (из ppa со стабильными релизами), о чудо! Дискретка таки начала отключаться.

Надеюсь, и впредь все останется также.

Всем спасибо за обсуждение, тему пока что закрываю.

Leonius
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.