LinuxForum.Fans
Тема

Как переключится между видеокартами?

Автор: gamer-psy 23 сообщений 4145 просмотров
04.10.2014 21:21 · отредактировано #395013

Привет всем! Имеется ноутбук Acer Aspire V3-772G-54206G1Tmakk
В нем 2 видеокарты дискретная Nvidia GT 750M и интегрированная Intel HD Graphics 4600
Вопрос как переключиться на дискретную и работать на ней?
Также добавлю, в моей версии BIOS, отключить ненужную ведео карту функции нет. Жду вашей помощи! *HELP* Особенно надеюсь на помощь от Dr.Batty :)
Также забыл написать, как узнать какой дисплейный менеджер использовуется в системе в Fedora 20?

04.10.2014 22:20 · отредактировано #395024

Пробывал делать так
sudo service gdm stop
echo DIS > /sys/kernel/debug/vgaswitcheroo/switch

Итог - черный экран.
Также команда lspci | grep VGA показывает только одну видеокарту вместо двух.
А cat /sys/kernel/debug/vgaswitcheroo/switch показывает две.

Жду вашей помощи! *HELP*

04.10.2014 22:41 #395025
"gamer-psy" написал:
Имеется ноутбук Acer Aspire V3-772G-54206G1Tmakk
В нем 2 видеокарты дискретная Nvidia GT 750M и интегрированная Intel HD Graphics 4600

Так бы и написали, что есть ноутбук с Nvidia Optimus.

Отсюда следует, что есть две технологии реализации поддержки Nvidia Optimus в Linux:
- bumblebee ;
- xrandr 1.4 и dri prime ;

В случае использования bumblebee основной xorg-server запускается на карте Intel, для запуска приложений на карте Nvidia их нужно вызывать посредством утилит optirun или primusrun, как только происходит вызов этой утилиты, то активируется карта Nvidia, в остальное время она выключена и не потребляет ресурсы, запускается второй xorg-server, приложение запускается на нём, а картинка отрисовывается на первом xorg-server`е, запущенном на карте Intel. У этой технологии свои плюсы, а именно, карта Nvidia выключена когда не нужна (в зависимости от настроек, нужен модуль bbswitch), все остальные приложения запускаются на менее ресурсоёмкой карте Intel, проще настраивать, но есть некотрые неудобства ввиду вызова приложений посредством primusrun или optirun.

Для настройки устанавливаете пакет bumblebee и драйвер Nvidia, в Fedora, если ничего не путаю, есть пакет bumblebee-nvidia с драйвером Nvidia для использования совместно с bumblebee. Запускаете сервис (Unit) bumblebee, готово. Для запуска приложений используете:

text

optirun программы

например:

text

optirun wine game.exe

Если говорить о второй технологии, вот ссылка на официальную документацию Nvidia: http://us.download.nvidia.com/XFree86/Linux-x86/343.22/README/randr14.html, то здесь несколько сложнее происходит настройка, нет возможности переключиться на карту Intel без остановки xorg-server`а, необходимо реализовать выполнение скрипта для активации карты Nvidia.

Для настройки устанавливаете пакет с драйвером Nvidia и пакет с видео драйвером xf86-video-modesetting, создаёте конфигурационный файл для xorg-server`а /etc/X11/xorg.conf.d/nvidia.conf:

Показать
text

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device" Identifier "nvidia" Driver "nvidia" BusID "PCI:1:0:0" # Option "ModeValidation" "NoVirtualSizeCheck,NoMaxPClkCheck,NoHorizSyncCheck ,NoVertRefreshCheck,NoWidthAlignmentCheck" # Option "UseEdidFreqs" "False"

Option "UseEdidDpi" "False" Option "DPI" "96 x 96" EndSection

Section "Screen" Identifier "nvidia" Device "nvidia" Option "AllowEmptyInitialConfiguration" EndSection

Section "Device" Identifier "intel" Driver "modesetting" # BusID "PCI:0:2:0" EndSection

Section "Screen" Identifier "intel" Device "intel" EndSection

В приведённом конфигурационном файле так же выставляется DPI 96, это из-за того, что почему-то при использовании драйвер Nvidia в этой технологии он определяет DPI 72, в следствие чего становится слишком мелким шрифт.

Далее вам нужно реализовать выполнение команд для переключения вывода посредством карты Nvidia:

text

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

xrandr --output VGA-0 --off xrandr --output DisplayPort-1-0 --off

Две последние команды нужны для того, что бы разрешение не ограничивал VGA разъём, а то без них оно будет равным 1024x768, а не 1900x600. Выполнение этих команды вы можете поместить в сценарий Xsetup вашего DM (Display Manager`а), например в случае использования KDM это /usr/share/config/kdm/Xsetup, либо если запускаете DE посредством ~/.xinitrc, то помещайте туда. Если у вас другой DM, то разбирайтесь куда поместить вызов этих команд либо ставьте KDM.

Список доступных провайдеров можете получить так:

text

xrandr --listproviders

Ну а список видео выводов вот так:

text

xrandr

У меня Acer Asprire V3-771G, примеры конфигов мои, за основу взяты официальные. В общем использовал bumblebee, всё устраивает, решил попробовать nvidia и xrandr, в принципе настроил, работает, но есть некоторые проблемы, периодически может перестать обновляться изображение, приходится переключаться в консоль и обратно, почему так непонятно. В DM (KDM) на экране ввода имени и пароля всё равно происходит проблема в виду ограничения изображения в 1024x768 точек, после логина и запуска DE её нет, так что пришлось настроить автологин, проблемы с добавлением видео режимов и их смены посредством xrandr. В общем оно, конечно, работает, но я вернулся обратно на использование bumblebee.

Только ответьте на вопрос, зачем вам переключаться на карту Nvidia постоянно? Она потребляет больше электроэнергии, вы уверены, что вам постоянно нужна активной более ресурсоёмкая карта?

04.10.2014 22:54 · отредактировано #395026

kostik87
Выполнил optirun glxgears -info | grep "GL_VENDOR"

Выдало [ERROR]Could not connect to bumblebee daemon - is it running?
В чем может быть проблема?

Пробывал делать systemctl start bumblebeed.service та же ошибка.

04.10.2014 23:06 · отредактировано #395027

Недоустановил Install Dependencies в самом начале установке.
Щас протестирую и установлю их и отпишу.

04.10.2014 23:10 #395029
"gamer-psy" написал:
Пробывал делать systemctl start bumblebeed.service та же ошибка.

Вы уверены, что в Fedora он так называется?

По данным Fedora Wiki Bumblebee Unit называется bumbleed. Сверьтесь с указанной wiki.

04.10.2014 23:12 #395030

Установил все пакеты ошибка не исчезла.

[root@localhost fedora]# optirun glxgears -info | grep "GL_VENDOR"
[ 87.113519] [ERROR]The Bumblebee daemon has not been started yet or the socket path /var/run/bumblebee.socket was incorrect.
[ 87.113542] [ERROR]Could not connect to bumblebee daemon - is it running?

04.10.2014 23:19 · отредактировано #395031
"gamer-psy" написал:
Bumblebee daemon has not been started yet or the socket path /var/run/bumblebee.socket was incorrect.

Посмотрите статус bumblebeed:

text

systemctl start bumblebeed
systemctl status bumblebeed

Удостоверьтесь, что модуль Nvidia доступен в модулях ядра, если используете bbswitch как способ управления питанием

text

# 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

PMMethod=bbswitch

/etc/bumblebee/bumblebee.conf
то проверьте так же доступность этого модуля.

04.10.2014 23:21 #395032

Удостоверьтесь, что модуль Nvidia доступен в модулях ядра, если используете bbswitch как способ управления питанием
Какой командой посматреть?

04.10.2014 23:27 #395035
"gamer-psy" написал:
Какой командой посматреть?

Посмотреть можно просто поискав файл модуля:

text

find /lib/modules/`uname -r` -type f  | grep "nvidia\|bbswitch"

Затем проверить, что модуль Nvidia загружается:

text

modprobe nvidia

Что показали команды

text

systemctl start bumblebeed
systemctl status bumblebeed

?

04.10.2014 23:30 #395036
"AntiduPb" написал:

AntiduPb, в приведённой вами ссылке решением проблемы автора того вопроса является установка пакета с прориетарным драйвером Nvidia, я ТС уже сказал, да и спросил про проприетарный драйвер, если он его до сих пор не установил - то он просто очень невнимателен.

04.10.2014 23:30 · отредактировано #395037
kostik87 написал:
[quote="gamer-psy"]Какой командой посматреть?

Посмотреть можно просто поискав файл модуля:

text

[b]find /lib/modules/`uname -r` -type f  | grep "nvidia\|bbswitch"[/b]

Затем проверить, что модуль Nvidia загружается:

text

[b]modprobe nvidia[/b]

Что показали команды

text

systemctl start bumblebeed
systemctl status bumblebeed

?[/quote]


[fedora@localhost ~]$ su
Пароль:
[root@localhost fedora]# find /lib/modules/`uname -r` -type f | grep "nvidia\|bbswitch"
/lib/modules/3.11.10-301.fc20.x86_64/kernel/drivers/net/ethernet/nvidia/forcedeth.ko
[root@localhost fedora]# modprobe nvidia
modprobe: FATAL: Module nvidia not found.
[root@localhost fedora]# systemctl start bumblebeed
[root@localhost fedora]# systemctl status bumblebeed
bumblebeed.service - Bumblebee C Daemon
Loaded: loaded (/usr/lib/systemd/system/bumblebeed.service; enabled)
Active: activating (auto-restart) (Result: exit-code) since Сб 2014-10-04 23:30:07 MSK; 1s ago
Process: 3085 ExecStart=/usr/sbin/bumblebeed (code=exited, status=1/FAILURE)
Main PID: 3085 (code=exited, status=1/FAILURE)

окт 04 23:30:07 localhost.localdomain systemd[1]: bumblebeed.service: main...
окт 04 23:30:07 localhost.localdomain systemd[1]: Unit bumblebeed.service ...
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost fedora]#

04.10.2014 23:35 · отредактировано #395038
"gamer-psy" написал:
/lib/modules/3.11.10-301.fc20.x86_64/kernel/drivers/net/ethernet/nvidia/forcedeth.ko

У вас не установлен пакет с драйвером Nvidia, просто следуйте инструкциям вот в этой wiki: http://fedoraproject.org/wiki/Bumblebee, ссылку на неё я вам уже неоднократно давал.

Установите уже пакет bumblebee-nvidia и пакет bbswitch.

04.10.2014 23:39 · отредактировано #395040
kostik87 написал:
[quote="gamer-psy"]/lib/modules/3.11.10-301.fc20.x86_64/kernel/drivers/net/ethernet/nvidia/forcedeth.ko

У вас не установлен пакет с драйвером Nvidia, просто следуйте инструкциям вот в этой wiki: http://fedoraproject.org/wiki/Bumblebee, ссылку на неё я вам уже неоднократно давал.

Установите уже пакет bumblebee-nvidia и пакет bbswitch.[/quote]


[root@localhost fedora]# yum install bubmblebee-nvidia
Загружены модули: langpacks, refresh-packagekit
Пакета с названием bubmblebee-nvidia не найдено.
Ошибка: Выполнять нечего
[root@localhost fedora]# yum install bbswitch
Загружены модули: langpacks, refresh-packagekit
Пакет bbswitch-0.8.0-1.fc20.x86_64 уже установлен, и это последняя версия.
Выполнять нечего
[root@localhost fedora]#

При

[root@localhost fedora]# yum -y install bumblebee-nvidia
Загружены модули: langpacks, refresh-packagekit
Пакет bumblebee-nvidia-340.32-1.fc20.x86_64 уже установлен, и это последняя версия.
Выполнять нечего


Если ничего не получится, завтро на чистую систему буду пробывать установить.

04.10.2014 23:44 · отредактировано #395041
"gamer-psy" написал:
Пакета с названием bubmblebee-nvidia не найдено.

Опечатался я.

04.10.2014 23:46 #395042

kostik87, все равно спасибо за помощь, завтро протестирую на чистой системе и отпишу.

04.10.2014 23:47 #395043
"gamer-psy" написал:
Пакет bumblebee-nvidia-340.32-1.fc20.x86_64 уже установлен, и это последняя версия.

Не вижу модуля Nvidia. У вас загружена ядро последней версии, которая установлена в вашей системе?

Попробуйте поискать так:

text

find /lib/modules/ -type f  | grep "nvidia\|bbswitch"
04.10.2014 23:50 #395044

gamer-psy, сходите на wiki и поставьте все пакеты, которые там указаны, возможно не установилась какая-либо зависимость. Ну а переустановка системы - это не наш метод.

04.10.2014 23:50 · отредактировано #395045
kostik87 написал:
[quote="gamer-psy"]Пакет bumblebee-nvidia-340.32-1.fc20.x86_64 уже установлен, и это последняя версия.

Не вижу модуля Nvidia. У вас загружена ядро последней версии, которая установлена в вашей системе?

Попробуйте поискать так:

text

find /lib/modules/ -type f  | grep "nvidia\|bbswitch"

[/quote]


[root@localhost fedora]# find /lib/modules/ -type f | grep "nvidia\|bbswitch"
/lib/modules/3.11.10-301.fc20.x86_64/kernel/drivers/net/ethernet/nvidia/forcedeth.ko
[root@localhost fedora]# optirun glxgears -info | grep "GL_VENDOR"
[ 1335.507637] [ERROR]The Bumblebee daemon has not been started yet or the socket path /var/run/bumblebee.socket was incorrect.
[ 1335.507737] [ERROR]Could not connect to bumblebee daemon - is it running?
[root@localhost fedora]#

Завтро на чистой системе протестирую и отпишу.
Всем споки!

Войдите или зарегистрируйтесь, чтобы ответить.