Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0  (Прочитано 661745 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн manazius

  • Участник
  • *
  • Сообщений: 155
  • Arch Linux
    • Просмотр профиля
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2565 : 04 Сентября 2014, 01:01:33 »
TheNormalnij,
Покажи конфиг шмеля.
cat /etc/bumblebee/bumblebee.conf
Пользователь решил продолжить мысль 04 Сентября 2014, 01:05:40:
Спасибо за идею, manazius, но primusrun это как optirun с опциями, поэтому дает отрицательный результат.
У optirun-а производительность ниже(ибо по-умолчанию используется virtualgl), чем у primusrun-а.
« Последнее редактирование: 04 Сентября 2014, 01:05:40 от manazius »

Оффлайн TheNormalnij

  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2566 : 04 Сентября 2014, 16:49:34 »
manazius, спасибо, я знал, optirun можно настроить аналогично primusrun.
-- Убрано

UPD после установки.

Да, скорее всего что-то в ядре, теперь работает. Большая благодарность neon1ks за предоставление ссылок на последнее ядро linux
« Последнее редактирование: 04 Сентября 2014, 16:56:51 от TheNormalnij »

Оффлайн neon1ks

  • Старожил
  • *
  • Сообщений: 1183
    • Просмотр профиля
    • Блог молодого разработчика
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2567 : 04 Сентября 2014, 18:20:48 »
TheNormalnij,
Ядро последнее из ветки 3.14. Есть новее, но я их не пробовал и не хочу сейчас.

Оффлайн ustal47

  • Новичок
  • *
  • Сообщений: 47
    • Просмотр профиля
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2568 : 05 Сентября 2014, 21:15:08 »
После успешной работы шмеля на ubuntu 12.04, установив ubuntu 14.04 долго пытал BUMBLEBEE, много гуглил, ставил и сносил новые ядра... пока не наткнулся на это.  Возможно, кому-то пригодится мой вольный перевод. У меня всё получилось.
Для начала, если что-либо из шмеля ставили, удаляем sudo apt-get purge bumblebee* && rm -r /etc/bumblebee
sudo apt-get purge nvidia-*
sudo apt-get autoremove
Перезагрузка, перезагружать придётся ещё не раз.
Добавляем репозиторий sudo add-apt-repository ppa:xorg-edgers/ppa
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
Устанавливаем необходимые пакетыsudo apt-get install nvidia-331 nvidia-settings bumblebee bumblebee-nvidia primus primus-libs primus-libs-ia32 virtualgl virtualgl-libs virtualgl-libs-ia32 linux-headers-generic mesa-utilsПерезагрузка.
Теперь необходимо подправить "конфиги"sudo gedit /etc/bumblebee/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=false
# 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:/usr/lib/primus:/usr/lib32/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
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/i386-linux-gnu/nvidia:/usr/lib/nvidia:/usr/lib/nvidia-331
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-331,/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
Теперь надо посмотреть BusID дискретки NVIDIAlspci | egrep 'VGA|3D'Увидим что-то похожее00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)
Запомним или запишем то, что касается NVIDIA -- 02:00.0
Внимание! У Вас могут быть другие цифры.
Правим ещё два "конфига"sudo gedit /etc/bumblebee/xorg.conf.nouveauSection "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "false"
    Option      "AutoAddGPU" "false"
EndSection
 
Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nouveau"
 
#   If the X server does not automatically detect your VGA device,
#   you can manually set it here.
#   To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
#   as you see in the commented example.
#   This Setting is needed on Ubuntu 13.04.
    BusID "PCI:2:0:0"
 
EndSection
В строке BusID "PCI должно быть не 02:00.0 , а именно "PCI:2:0:0" (это пример)
то-есть по одной цифре через двоеточие из того что запомнили, записали.sudo gedit /etc/bumblebee/xorg.conf.nvidiaSection "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "false"
    Option      "AutoAddGPU" "false"
EndSection
 
Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"
 
#   If the X server does not automatically detect your VGA device,
#   you can manually set it here.
#   To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
#   as you see in the commented example.
#   This Setting may be needed in some platforms with more than one
#   nvidia card, which may confuse the proprietary driver (e.g.,
#   trying to take ownership of the wrong device). Also needed on Ubuntu 13.04.
    BusID "PCI:2:0:0"
 
#   Setting ProbeAllGpus to false prevents the new proprietary driver
#   instance spawned to try to control the integrated graphics card,
#   which is already being managed outside bumblebee.
#   This option doesn't hurt and it is required on platforms running
#   more than one nvidia graphics card with the proprietary driver.
#   (E.g. Macbook Pro pre-2010 with nVidia 9400M + 9600M GT).
#   If this option is not set, the new Xorg may blacken the screen and
#   render it unusable (unless you have some way to run killall Xorg).
    Option "ProbeAllGpus" "false"
 
    Option "NoLogo" "true"
    Option "UseEDID" "false"
    Option "UseDisplayDevice" "none"
EndSection
Здесь аналогично меняем BusID на свой.

Перезагрузка.

Проверкаlspci -vnnnNvidia видна, но не отображает параметры, то-есть дискретка отключена от питания.glxgearsКрутятся шестерни и ~60fps --работа интегрированной картыoptirun glxgearsКрутятся шестерни и много больше ~fps --работа дискретной карты.
Если всё так - удача!
Извиняюсь, что много букв.
« Последнее редактирование: 09 Сентября 2014, 22:41:24 от ustal47 »

Оффлайн neon1ks

  • Старожил
  • *
  • Сообщений: 1183
    • Просмотр профиля
    • Блог молодого разработчика
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2569 : 05 Сентября 2014, 22:14:14 »
ustal47,
Почти все что ты написал - есть в https://help.ubuntu.ru/wiki/bumblebee
кроме правки /etc/bumblebee/bumblebee.conf - которая в большинстве случаев не нужна.

Вместо команды lspci -vnnn, лучше использовать:
optirun --status или cat /proc/acpi/bbswitch

Оффлайн ustal47

  • Новичок
  • *
  • Сообщений: 47
    • Просмотр профиля
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2570 : 05 Сентября 2014, 22:43:24 »
neon1ks
В том-то и дело, что все эти вики изучены вдоль и поперек. И систему переставлял, и ядра менял, но до тех пор пока не откорректировал /etc/bumblebee/xorg.conf.nouveau && /etc/bumblebee/xorg.conf.nvidia дискретка подключалась, но прироста fps не было. Может это особенности моего железа.  3 месяца эпизодически пытался шмеля одолеть, только вчера получилось. Вот и решил поделиться.

Оффлайн dj--alex

  • Старожил
  • *
  • Сообщений: 3237
  • Понимаешь, я какбы беру в руки лопату и говорю...
    • Просмотр профиля
    • все мои творения и занятия
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2571 : 25 Сентября 2014, 20:45:43 »
а как посмотреть Nvidia-settings?
optirun nvidia-settings  не пока зывает менюшку Nvidia
хотя всё работает.
Ubuntu 18.04 MATE x64, 19.3 x64 Mate, MX-Linux 19 Mate Mate Mate Mate. PC:B450\Ryzen3200G\16Gb\6TB\1060gtx\512Gb-Netac
https://forum.ubuntu.ru/index.php?topic=199897.0

Оффлайн vasyl

  • Старожил
  • *
  • Сообщений: 1724
    • Просмотр профиля
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2572 : 25 Сентября 2014, 20:57:05 »
optirun nvidia-settings -c :8 ?
Ubuntu Mate 16.04 + Windows 10

Оффлайн Fade In Flames

  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2573 : 25 Сентября 2014, 21:06:13 »
Ок. помогло
НО! там нет 2го монитора
а в стоковой настройке мониторов есть
« Последнее редактирование: 25 Сентября 2014, 21:09:17 от Fade In Flames »

Оффлайн Grayscale

  • Активист
  • *
  • Сообщений: 573
    • Просмотр профиля
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2574 : 28 Сентября 2014, 23:39:42 »
Кто-нибудь юзает 14.10? У вас получается прогонять стим-игрушки через шмеля? Да хотя бы вообще что-нибудь через него гонять?
Суть: шестеренки запускаю - крутятся, фпс 2200-2300 рисует(иногда при запуске стабильно 1300-1500, фиг знает, от чего вообще зависит). В консоли весело оповещается, что настройки вертикальной синхронизации выкл. Все ок, радуемся.
Запускаем любимую СS 1.6: ФПС 60! а то и ниже бывает при игре, да и играть невозможно, рывки чувствуются. Аутпут в консоли про настройки вертикальной синхронизации не проорал(Кстати, а должен был ли?) Вывод напрашивается один - игра пускается через Intel GPU. Или 60 фпс так влияет на гейплей игры начала 2000ых годов?
Кстати, под вайном в Торчлайт 2 играл, нормально, не лагало. Интел бы не потянул, значит запускалась нвидиа.

Пользователь решил продолжить мысль 28 Сентября 2014, 23:43:05:
На все 100% уверен, что под вайном игра запустилась с Nvidia. Проверил.
« Последнее редактирование: 28 Сентября 2014, 23:43:05 от Grayscale »
В мире столько разнообразной фигни.. И в каждой найдется специалист
ASUS K46CB(S46CB) i7-3537U @ 2.0GHz 8Gb RAM + SSD 64 Gb + Manjaro Linux

Оффлайн Fade In Flames

  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2575 : 28 Сентября 2014, 23:54:45 »
Кто-нибудь юзает 14.10? У вас получается прогонять стим-игрушки через шмеля? Да хотя бы вообще что-нибудь через него гонять?
Суть: шестеренки запускаю - крутятся, фпс 2200-2300 рисует(иногда при запуске стабильно 1300-1500, фиг знает, от чего вообще зависит). В консоли весело оповещается, что настройки вертикальной синхронизации выкл. Все ок, радуемся.
Запускаем любимую СS 1.6: ФПС 60! а то и ниже бывает при игре, да и играть невозможно, рывки чувствуются. Аутпут в консоли про настройки вертикальной синхронизации не проорал(Кстати, а должен был ли?) Вывод напрашивается один - игра пускается через Intel GPU. Или 60 фпс так влияет на гейплей игры начала 2000ых годов?
Кстати, под вайном в Торчлайт 2 играл, нормально, не лагало. Интел бы не потянул, значит запускалась нвидиа.

Пользователь решил продолжить мысль 29 Сентября 2014, 03:43:05:
На все 100% уверен, что под вайном игра запустилась с Nvidia. Проверил.
Я юзаю. Запускаю обычно через примусран
А  делаю так
Создаю ярлык игры. В свойствах дописываю примусран
Выхожу из стима
Запускаю ярлык
Чтобы проверить точно ли работает нвидиа пропиши optirun --status в другое окно терминала

Оффлайн Grayscale

  • Активист
  • *
  • Сообщений: 573
    • Просмотр профиля
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2576 : 29 Сентября 2014, 07:43:13 »
Fade In Flames,
у меня при таких шаманствах ярлык не запускается, ругается вечно, уже пробовал. Проще в свойствах самой игры нужную команду прописать для запуска, типа vblank_mode=0 primusrun %command%
В том-то и дело, что примус как бы работает, активируется Nvidia GPU(ясно по шуму кулера и bbswitch проверил еще). Но перфоманса никакого в игре не наблюдаю, как будто юзается интел.
В мире столько разнообразной фигни.. И в каждой найдется специалист
ASUS K46CB(S46CB) i7-3537U @ 2.0GHz 8Gb RAM + SSD 64 Gb + Manjaro Linux

Оффлайн neon1ks

  • Старожил
  • *
  • Сообщений: 1183
    • Просмотр профиля
    • Блог молодого разработчика
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2577 : 29 Сентября 2014, 13:13:37 »
Grayscale,
Цитировать
vblank_mode=0 primusrun %command%

У меня есть мнение, что:
Цитировать
Также строчка vblank_mode=0 работает только при использовании virtualgl, для primus - она не дает никакого эффекта.
Или я ошибаюсь? Просто я проводил измерения производительности в Unigine Heaven и не увидел влияния строчки vblank_mode=0 на primus. Только это было давно...

Оффлайн manazius

  • Участник
  • *
  • Сообщений: 155
  • Arch Linux
    • Просмотр профиля
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2578 : 29 Сентября 2014, 18:24:02 »
Цитировать
Также строчка vblank_mode=0 работает только при использовании virtualgl, для primus - она не дает никакого эффекта.
vblank_mode=0 отлично работает с primusrun
(Нажмите, чтобы показать/скрыть)

Оффлайн neon1ks

  • Старожил
  • *
  • Сообщений: 1183
    • Просмотр профиля
    • Блог молодого разработчика
Re: nVidia Optimus (Гибридная графика nVidia + Intel) [Wiki] v2.0
« Ответ #2579 : 29 Сентября 2014, 19:15:47 »
manazius,
Значит я ошибся. Мне не нравятся тесты - glxgears и glxspheres - они не о чем. Тесты легкие и больше демонстрируют: какой способ быстрее выводит графику с буфера на экран. Нужен другой тест - потяжелее.

Запусти
vblank_mode=0 primusrun glxgears
и
vblank_mode=0 glxgears
Затем сравни результаты.

glxspheres по лучше - но тоже не совсем то, что нужно.

Есть Unigine Heaven - только он не хочет работать на Intel.
« Последнее редактирование: 29 Сентября 2014, 19:20:51 от neon1ks »

 

Страница сгенерирована за 0.057 секунд. Запросов: 25.