LINUX.ORG.RU

Hybrid graphics laptop intel+nvidia

 , , , ,


1

1

  Ноутбук DNS 0156798 с гибридной графикой. Вывод идёт на Intel HD3000, дисплей LDVS подключен к ней же.
  Проблема, собственно, такая: после установки проприетарного драйвера на nvidia отпадает поддержка GLX на X.org, так как nvidia заменят библиотеки на свои.
  /usr/lib64/xorg/modules/extensions/libglx.so указывает на libglx.so.331.20 от nvidia.
  В логах /var/log/Xorg.0.log пишет:
Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
  Что, конечно логично, так как в конфиге иксов прописаны 2 девайса и скрина и вывод идёт на интел, а драйвер nvidia загружается по требованию через optirun(bumblebee).   Кто знает, как сделать так, что бы по умолчанию использовалось GLX расширение от intel, а с optirun от nvidia?   Вот конфиг иксов:
xorg.conf

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 331.20  (buildmeister@swio-display-x86-rhel47-05)  Wed Oct 30 18:20:53 PDT 2013

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    #Inactive       "Device1"
EndSection

Section "Files"
    FontPath       "/usr/share/fonts/default/Type1"
    ModulePath     "/usr/lib64/xorg/modules"
EndSection

Section "Module"
    Load           "glx"
EndSection

Section "Extensions"
    #Load           "glx"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "intel"
    VendorName     "onboard"
    BusID          "PCI:0:2:0"
    Screen         0
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    DefaultDepth    24
    SubSection     "Display"
        Modes      "1366x768"
        Depth       24
        Virtual     1900 1080
    EndSubSection
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:1:0:0"
    Screen         1
    #Option         "IgnoreEDID"
    Option         "UseDisplayDevice" "none"
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    DefaultDepth    24
    SubSection     "Display"
        Virtual     1366  768
        Depth       24
    EndSubSection
EndSection



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

Ответ на: комментарий от rudolfovich

А есть не кривое и работающее?

А ты пытался перед установкой проприетарного драйвера пользоваться Nouveau? А то оно иногда работает.

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

ноут ДНС, там биос залочен, видимо, что бы отрубить, надо его разлочить сначала, если вообще возможно её на нём отключить.

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

Ага, пытался, в Counter-Strike: Source играл, но чёт криво тоже работало как то. Спарйты поверх стен рисовались, ФПС тоже слабенький был, да и чувствуется, что как то не так играется. Вот и решил от производителя попробовать дрова, сегодня снова игры скачаю, потестирую, потом напишу результат.

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

А ты пытался перед установкой проприетарного драйвера пользоваться Nouveau? А то оно иногда работает.

  Хотя если честно, не уверен что именно на Nouveau запускал, возможно это на интегрированном видео так работало. Bumblebee вроде устанавливал, а вот запускал возможно без него.
  Я так понимаю, что даже с Nouveau, запускать игры на ней в моём случае можно только с помощью Bumblebee? Или есть другой способ?
  Установил Bumblebee, потом primus. Запускаю optirun glxgears, всё работает. primusrun glxgears, выдаёт ошибку, что GLX не найдено. Игры в стиме запускаются и выходят с ошибкой, что окно не найдено. Пока разбираюсь с этим.

напрямую юзать nvidia, интеграшку вырубить

  Вспомнил, что взялся за Bumblebee из-за Optimus, так как батареи хватало максимум на 2 часа, с Bumblebee хватает на 4-5 часов, это в принципе была основная задача.

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

В 3.12 можно уже запускать, как я понял, и без шмеля. Но проблема в том, что для игр нува просто непригодна никак.

LightDiver ★★★★★
()

Ставь винду или жди Wayland/mir/etc. Шмель актуален был только для второго поколения optimus (ручное переключение). Сейчас третье поколение, когда включение/отключение рулится в автоматическом режиме (причем скорость переключения достигает тысячных долей секунды). Ломание биоса это ссзб и врядли поможет. Но попробуй, потом расскажешь.

gh0stwizard ★★★★★
()

А дистрибутив какой?

Зачем драйвер устанавливал с официального сайта, а не из своего дистрибутива?

В Debian wheezy + backports (версия nvidia 304) без бубна работает bumblebee.

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

Первое: карты переключались только через биос. Второе: карты переключались в ос. Третье: карты переключаются автоматом в зависимости от требований ПО.

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

Умник, иди терминологию подучи. Есть два режима, muxless, и muxed. Откуда ты третье поколение взял? Наверное из своей дурной головы.

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

Ставь винду или жди Wayland/mir/etc.

Винда не катит, ждать тоже не вариант. Хочу разобраться с проблемой, а не уйти от неё.

Ломание биоса это ссзб и врядли поможет. Но попробуй, потом расскажешь.

От разблокировки всех функций bios Я ожидал только отключения интегрированной карты и переход на дискретную, но это не лучший вариант.

А дистрибутив какой?

Fedora 19 x86_64 3.11.9-200.fc19.x86_64

Зачем драйвер устанавливал с официального сайта, а не из своего дистрибутива?
В Debian wheezy + backports (версия nvidia 304) без бубна работает bumblebee.


пробовал ставить kmod304, игры не запускал, но были аналогичные проблемы с иксами, как и с версией 331.20. Если есть опыт использования, хотелось бы услышать, что за видеокарта, гибрид или нет, результат запуска игр или тестов. Ну и если гибрид, то как работала технология Optimus, дискретная карта подключалась только в момент использования или работала постоянно?
Ну и честно говоря у меня с детства замечена тяга к бубну. После него становится яснее как всё должно работать.


Может есть те, у кого всё заработало без конфликтов GLX?

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

Попробуй откатиться на 325-ую версию, у меня такое впечатление что они там что-то сломали. Нуво тут не нужен в принципе, 3000hd и то будет быстрее.

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

А, ну и к тому же твой конфиг это какой-то бред, должно быть что-то типа такого:

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

Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:01:00:0"
EndSection

Section "Screen"
Identifier "nvidia"
Device "nvidia"
# Uncomment this line if your computer has no display devices connected to
# the NVIDIA GPU.  Leave it commented if you have display devices
# connected to the NVIDIA GPU that you would like to use.
Option "UseDisplayDevice" "none"
EndSection

Section "Device"        
Identifier "intel"      
Driver "intel"          
BusID "PCI:00:02:0"     
EndSection              

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

Потом

xrandr --setprovideroutputsource Intel NVIDIA-0
xrandr --auto

Если Intel работать не будет ставь modesetting. Если опять не будет попробуй почитать что написано в доках к nvidia что-то в районе xrandr1.4

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

Screen 0 «nvidia»
Inactive «intel»

Пробовал по этой инструкции всё делать, иксы загружались, но на монитор ни чего не выводилось, вводил пароль, видно было, что авторизовался и загрузка шла дальше (судя по индикатору HDD).

А у тебя заработало? Тут основной GPU будет nvidia, он будет работать постоянно, или только когда будет нужен сильный GPU?

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

Мне кажется ты поступаешь фундаментально неправильно. https://fedoraproject.org/wiki/Bumblebee#Fedora_19

Ты не должен устанавливать драйвера к nvidia, только bumblebee. Так как в бамблиби уже встроен драйвер, а обычный (что с сайта, что из репозитория без приставки bumblebee) устанавливает себя из расчета существования одной карты.

От разблокировки всех функций bios Я ожидал только отключения интегрированной карты и переход на дискретную, но это не лучший вариант.

Забудь про биос и почитай в википедии/гугле что такое оптимус. Если кратко, то выводом изображения на экран всегда занимается intel, а рендерингом либо intel, либо nvidia. Отлючить встроенную невозможно.

Таким образом получается, что поумолчанию должен быть установлен драйвер intel, а сверху прикручен bumblebee с nvidia.

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

Поумолчанию всегда работает intel. Если запустишь приложение как

optirun supermegasoft
, то соответственно будет работать nvidia, как закроешь приложение - снова intel.

Запускал A Slower Speed of Light: на интел тормозила в меню и зависла(но тихо, без включения вентилятора), на nvidia быстро и без ошибок (но сразу включился вентилятор, и пошел горячий воздух).

Резюмирую. Тебе нужно востановить работоспособность intel драйвера и нормальный запуск X: удалить nvidia-драйвера, удалить xorg.conf, переустановить драйвер intel и mesa-библиотеки (drm, glx и т.д.), загрузиться без ошибок и получить нормальный рабочий стол.

По ссылке выше установить bublebee. Если ты еще не прочитал, то там немного (у меня не fedora, поэтому может быть что-то лишнее):

su -c "yum install -y libbsd-devel libbsd glibc-devel libX11-devel help2man autoconf git tar glib2 glib2-devel kernel-devel kernel-headers automake gcc gtk2-devel"
yum install VirtualGL 
yum -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora19/noarch/bumblebee-nonfree-release-1.1-1.noarch.rpm
yum -y install bumblebee-nvidia
yum install primus

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

И перезагрузиться не забудь.

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

А у тебя заработало? Тут основной GPU будет nvidia, он будет работать постоянно, или только когда будет нужен сильный GPU?

Переключения нет, включен будет постоянно, через bbswitch в этом способе ты не отключишь.

Пробовал по этой инструкции всё делать, иксы загружались, но на монитор ни чего не выводилось, вводил пароль, видно было, что авторизовался и загрузка шла дальше (судя по индикатору HDD).

А ты в xinitrc эти волшебные строчки добавлял? Уверен что они работали? Если у тебя modesetting тогда меняешь на него соответсвенно. Если запускалось, но не выводилось, то скорее всего как раз вот эта часть переключения не работала, просто xrandr не может автоматически определить куда выводить, его надо заставить, как раз для этого и нужны те две команды.

Про шмеля не слушай, шмель больше не нужен, работает он медленно. Хотя вообще надо отметить что похоже у оптимуса всё равно какая-то тормозная реализация по сравнению с семеркой, когда это положение выровнеется не очень понятно.

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

Переключения нет, включен будет постоянно, через bbswitch в этом способе ты не отключишь.

А как с энергопотреблением? у меня без оптимуса 25-30 ватт powertop показывает, с оптимусом, когда дискретная карта отключена 10-15 ватт показывает. Для меня это на самом деле более важно, чем быстрая графика. Выполнял всё по этой инструкции.Строки прописывал, но выполнив

xrandr --listproviders

получал только intel провайдера, точно не помню, какую версию ставил, вроде с 325ой тоже пробовал.

Ты не должен устанавливать драйвера к nvidia, только bumblebee. Так как в бамблиби уже встроен драйвер, а обычный (что с сайта, что из репозитория без приставки bumblebee) устанавливает себя из расчета существования одной карты.

Спасибо за совет, не думал, что там встроенный драйвер есть, вчера восстановил работоспособность intel драйвера, сегодня снова попробую установить bumblebee. Именно по той инструкции и устанавливал.

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

Спасибо за совет, не думал, что там встроенный драйвер есть, вчера восстановил работоспособность intel драйвера, сегодня снова попробую установить bumblebee. Именно по той инструкции и устанавливал.

Да, но нужно ставить nvidia-libgl и их 32-битные версии тп. С энергопотерями всё очень плохо, так что если для тебя это важно, то не используй. Динамического переключения пока нет и не понятно когда будет. С bumblebee включается и выключается автоматически, если этого не происходит можно использовать что-то вроде zsh -c 'sudo tee /proc/acpi/bbswitch <<<ON' или OFF соотв.

А где в powertop показывает ватты? Я просто так сходу не вижу.

Я не знаю какая у тебя система, вот в чем дело, возможно там нужны патчи на ядро чтобы драйвер nvidia заработал. В arch linux это всё делается, например, через yaourt -Sb nvidia или yaourt -S nvidia-all. Короче я бы тебе так сказал, сначала попробуй завести на шмеле, потом если будет хватать, то так и оставь. Если будут лезть ошибки на вики eng wiki арча они все подробно расписаны.

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

Ах да, optirun/virtualgl тормозной, используй primusrun если bumblebee

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

Да, но нужно ставить nvidia-libgl и их 32-битные версии тп. С энергопотерями всё очень плохо, так что если для тебя это важно, то не используй. Динамического переключения пока нет и не понятно когда будет. С bumblebee включается и выключается автоматически, если этого не происходит можно использовать что-то вроде zsh -c 'sudo tee /proc/acpi/bbswitch <<<ON' или OFF соотв.

Пакета похожего на nvidia-libgl Я не нашёл. sudo yum list | grep nvidia

А где в powertop показывает ватты? Я просто так сходу не вижу.

Ватты в PowerTOP versionv2.4, compiled on Oct 29 2013 показываются только, когда ноутбук работает от батареи.

Система Fedora 19 3.11.9-200.fc19.x86_64.

Ссылка на характеристики ноутбука в первом посте.

Действительно, удалил официальный драйвер, оставил только intel, и установил Bumblebee по инструкции в wiki Fedora.
Всё заработало, может чуть медленнее, чем на Windows, но меня устраивает. Энергопотребление тоже в норме. Драйвер nvidia от Bumblebee установился версии 331.20.

В Left 4 Dead 2 с разрешением 1366x768 почти на максимальных настройках 60 fps через primusrun, Counter-Strike: Source чуть по хуже, но тоже приемлемо.

Вообщем Я остался доволен, проблема решена. Всем огромное спасибо за помощь.

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