LINUX.ORG.RU

Не поднимается opengl на nvidia

 , ,


0

1

Уже которые сутки не могу заставить работать opengl на ноутбуке Acer Aspire-V5 573g. На ноутбуке была Ubuntu 14.04, стоял проприетарный драйвер от nvidia, последняя версия с сайта nvidia. Всё было хорошо, лол. История началась с того, что после прилетевших обновлений упала юнити. Поднялся под xfce, какое-то время не занимался этим вопросом, так как была рабочая неделя, и не хотелось тыканьем «добить» ноутбук. Как я понимаю, среди обновлений было обновление для Nouveau, и, видимо, случился конфликт (потому что юнити при запуске из терминала пишет, что не может подгрузить opengl) Сейчас, на выходных, попробовал восстановить исходный драйвер, уже вторые сутки борюсь, но ничего не выходит. За это время уже даже успел обновиться до 15.10, но хоть бы что это дало.

Данные: видеокарта nvidia Geforce 720m.

$ uname -a
Linux moy-laptop 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ glxinfo
name of display: :0.0
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Error: couldn't find RGB GLX visual or fbconfig
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".

Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".

Правил xorg, ставил различные версии драйверов — opengl не запускается (как и сама юнити, кстати), удалял всё нафиг и с нуля поднимал всё графическое окружение — бестолку. mesa-utils стоит, последнее, что было поставлен на ноутбук — драйвер последней версии с сайта производителя, драйвер в xorge прописан. Если нужно показать логи, конфиги — что угодно — пишите, покажу. Сам я уже не понимаю, что пробовать)

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

А, ну да, что-то я тупанул.

$ grep GLX /var/log/Xorg.0.log
[   444.354] (==) AIGLX enabled
[   444.373] (EE) AIGLX error: dlopen of /usr/lib/x86_64-linux-gnu/dri/i965_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/i965_dri.so: undefined symbol: _glapi_tls_Dispatch)
[   444.373] (EE) AIGLX: reverting to software rendering
[   444.378] (EE) AIGLX error: dlopen of /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: undefined symbol: _glapi_tls_Dispatch)
[   444.378] (EE) GLX: could not load software renderer
[   444.378] (II) GLX: no usable GL providers found for screen 0
trikadin ()
Ответ на: комментарий от trikadin

судя по логам:

LoadModule: "nouveau"
в блэклист его пропишите: /etc/modprobe.d/blacklist.conf и может пройдет, после перезагрузки. И интеловский драйвер грузится (что странно), но это потом.

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

а вообще лучше перейти на nouveau, видеокарта поддерживается, проблем быть не должно: http://nouveau.freedesktop.org/wiki/CodeNames/

установка: http://help.ubuntu.ru/wiki/%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%B0%D1%80%D1%82_nvidia

главное вычистить от проприетарного драйвера всё

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

Так Nouveau уже сто лет в блэклисте лежит.

Насколько хороша поддержка Nouveau разных фич видеокарты? Хотелось бы, чтобы видюха использовалась максимально)

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

На самом деле то, что по ссылке описано, у меня уже сделано. Т.е. все apt-get purge nvidia* выполнено, и в блэклист они занесены. И после этого установлен проприетарный драйвер с сайта nvidia.

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

А ничего, что судя по логу xorg-server у вас две видео карты и как следствие Nvidia Optimus, так что просто так ставить дравер Nvidia и приписывать его в xorg.conf не имеет смысла. В общем, удаляйте xorg.conf, тем более если вы создали его посредством nvidia-xconfig, зарускайте xorg-server на карте intel, а затем в nvidia-settings настраивайте запуск xorg-server'а на карте nvidia. Возможно, вам сейчас придётся переустановить пакет с mesa.

Почитайте Ubuntu wiki страницы по настройке nvidia optimus на Ubuntu.

Удачи.

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

а по логам получается ТС сейчас уже работает на intel, и откуда nouveau там взялось если оно в блэклисте ? хотя в xorg.conf прописано может быть

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

Да я знаю, что оптимус. И я уже находил ту статью и делал всё по ней. Проблема в том, что это ничего не даёт. Вот буквально только что я заново поставил себе nvidia-349, nvidia-settings и nvidia-prime. Перезагрузился, открываю консоль, пишу nvidia-settings:

$ nvidia-settings

** (nvidia-settings:2912): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-WesqFrlurC: В соединении отказано
** Message: PRIME: No offloading required. Abort
** Message: PRIME: is it supported? no

ERROR: nvidia-settings could not find the registry key file. This file should have been installed along with this driver
       at /usr/share/nvidia/nvidia-application-profiles-key-documentation. The application profiles will continue to
       work, but values cannot be preopulated or validated, and will not be listed in the help text. Please see the
       README for possible values and descriptions.

Вот так выглядит окошко nvidia-settings: https://pp.vk.me/c625618/v625618005/2ca02/rFO7BzwjCKM.jpg

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

Ну в таком случае сходите на bug трекер Ubuntu и поищите там репорты с подобной проблемой.

Ну или запускайте просто всё на карте Intel, а для запуска на карте Nvidia используйте bumblebee.

Ну либо сделайте настройку запуска xorg-server`а на карте Nvidia вручную, вот почитайте: http://us.download.nvidia.com/XFree86/Linux-x86/319.12/README/randr14.html

В общем, то, что в Ubuntu в nvidia-settings есть пункт по переключению видео карт - это лишь наработки разработчиков Ubuntu, в оригинальном nvidia-settings этой возможности нет, но есть документация, смотрите выше, в которой описано что должно быть сделано для запуска xorg-server на карте Nvidia.

Удачи.

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

GLX: could not load software renderer

Судя по этому сообщению у вас грузится месовский GLX екстеншен, а с офф драйверами идет свой GLX екстеншен (стандартный с ними не работает). Я не знаю как организовано переключения между nvidia и xorg в убунте в gentoo это делается по средствам eselect но по факту /usr/lib/xorg/modules/extensions/libglx.so является симлинком который указывает либо на /usr/lib/opengl/nvidia/extensions/libglx.so либо на /usr/lib/opengl/xorg-x11/extensions/libglx.so

[ 444.373] (EE) AIGLX error: dlopen of /usr/lib/x86_64-linux-gnu/dri/i965_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/i965_dri.so: undefined symbol: _glapi_tls_Dispatch)

По этим логам я бы не сказал что грузится интеловский драйвер, он скорее всего не грузится и похоже немного битый (не соотвецтвие версий драйвера и XOrg сервера). Проверте чтобы вся цепочка была активна для драйвера - kernel module -> XOrg drive (nvidia_drv.so) -> libglx от nvidia драйвера -> модуль GLX был включен -> модули dri и dri2 выключены.

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

Выглядит интересно, но в то же время и как костыль) Но, возможно, попробую. Спасибо)

В общем, то, что в Ubuntu в nvidia-settings есть пункт по переключению видео карт - это лишь наработки разработчиков Ubuntu, в оригинальном nvidia-settings этой возможности нет, но есть документация, смотрите выше, в которой описано что должно быть сделано для запуска xorg-server на карте Nvidia.

А есть вероятность, что оно просто не из тех реп ставится?

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

Ну строго говоря, то что сделано в Ubuntu - это костыль, а я вам привёл эталонное решение, которое по сути реализуется патчами наложенными разработчиками Ubuntu на исходники nvidia-settings, плюс ещё кучей скриптов на bash и python, которые обслуживают всё это. Вот эти скрипты уж точно костыль на костыле, скачайте исходники пакета nvidia-settings с репозитория ubuntu и посмотрите что они там накладывают.

Ну а по поводу, что не оттуда ставится, маловероятно, скорее всего, если вы не сможете реализовать оригинальный способ, то вам придётся как я уже сказал идти на bug tracker и искать там соответствующий bug, а если его там нет, то создавать самостоятельно, с подробным описанием и логами, что бы всё это поправили.

Но думается мне, что bug report вы создавать не будете, специфика пользователей ubuntu os.

kostik87 ★★★★★ ()
Ответ на: комментарий от trikadin
[    38.287] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/libglx.so
[    38.325] (EE) Failed to load /usr/lib/x86_64-linux-gnu/xorg/extra-modules/libglx.so: libnvidia-tls.so.
331.113: cannot open shared object file: No such file or directory

У вас не грузится nvidia GLX экстеншен (не находится libnvidia-tls.so)

И судя по логам у вас вообще не указан драйвер карточки и XOrg просто перебирает все драйвера в поисках рабочего (и останавливает свой вибор на опенсорсном nv) ...

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

Сноси этот nvidia-prime, удали все файлы настроек в /etc/X11/xorg.conf.d, и xorg.conf (всё что ручками правил). Удали вообще все дрова на nvidia и установи bumblebee и bumblebee-nvidia, они всё подтянут.

Проблема в nvidia-prime и (если остался с прошлой установки) nvidia-persistenced. На нескольких компах сломали обновлениями в 14.04, тоже залез в дебри, лень расписывать, просто поставь бамблби.

Бамблби рулит, как ни крути.

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

Но думается мне, что bug report вы создавать не будете, специфика пользователей ubuntu os.

Ну что ж какашками-то бросаться. Багрепорты я писать люблю и умею, правда, в убунту их ещё ни разу не посылал, но никогда не поздно начать)) У меня просто специализация немного другая, не администратор линукс. И смысла смотреть в исходники nvidia-settings, боюсь, мне не будет, так как не питонист.

Но багу зарепорчу. Вдруг они помогут)

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

У вас не грузится nvidia GLX экстеншен (не находится libnvidia-tls.so)

И судя по логам у вас вообще не указан драйвер карточки и XOrg просто перебирает все драйвера в поисках рабочего (и останавливает свой вибор на опенсорсном nv) ...

Да, вот у меня такое же ощущение. Что где-то он не прописывается, но я не знаю, где.

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

Сноси этот nvidia-prime, удали все файлы настроек в /etc/X11/xorg.conf.d, и xorg.conf (всё что ручками правил). Удали вообще все дрова на nvidia и установи bumblebee и bumblebee-nvidia, они всё подтянут.

Проблема в nvidia-prime и (если остался с прошлой установки) nvidia-persistenced. На нескольких компах сломали обновлениями в 14.04, тоже залез в дебри, лень расписывать, просто поставь бамблби.

Бамблби рулит, как ни крути.

Но я так понимаю, он тоже не умеет в кастомные фишки nvidia-карточек. Собственно, я очень хочу поставить проприетарный видеодрайвер, вот в чём прикол)

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

Да, вот у меня такое же ощущение. Что где-то он не прописывается, но я не знаю, где.

Судя по логу он у вас прописан, но сам модуль не грузится так как не находит зависимостей libnvidia-tls.so Попробуйте выполнить команды

ls -l /usr/lib/x86_64-linux-gnu/xorg/extra-modules/libglx.so
ldd /usr/lib/x86_64-linux-gnu/xorg/extra-modules/libglx.so

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

он тоже не умеет в кастомные фишки nvidia-карточек.

Что вы под этим подразумеваете?

Собственно, я очень хочу поставить проприетарный видеодрайвер

А кто вам запрещает? Ставьте, затем запускайте основной xorg-server на карте Intel, затем запускайте демон bumblebee и для запуска приложения на карте Nvidia набирайте:

optirun имя_программы
или
primusrun имя_прогарммы
после ввода одной из указанных выше команд будет запущен ещё один xorg-server с использованием драйвера nvidia, приложение будет запущено на этом xorg-server`е, т.е. на карте Nvidia, а картинка будет в зависимости от выбранной программы для запуска посредством одной или другой технологии отображена на xorg-server`е карты Intel.

Собственно у вас будет стоять драйвер Nvidia и указанные приложения будут запускаться на карте Nvidia посредством драйвера Nvidia.

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

Судя по логу он у вас прописан, но сам модуль не грузится так как не находит зависимостей libnvidia-tls.so Попробуйте выполнить команды

$ ls /usr/lib/x86_64-linux-gnu/xorg/extra-modules/
libglx.so  libglx.so.331.113  nvidia_drv.so

Вот незадолго до вашего комментария я поменял ссылку, которой является libglx.so с libglx.so.331.113 на nvidia_drv.so

Теперь в логах ксорга появляется вот такая хрень.


[    38.099] (II) LoadModule: "glx"
[    38.099] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/libglx.so
[    38.099] (EE) LoadModule: Module glx does not have a glxModuleData data object.
[    38.099] (II) UnloadModule: "glx"
[    38.099] (II) Unloading glx
[    38.099] (EE) Failed to load module "glx" (invalid module, 0)
trikadin ()
Ответ на: комментарий от trikadin

Какие такие фишки? Типа Оптимус? Он официальный сделан чуть ли не также как и Бамблби, только хуже, а с Убунтовскими нашлёпками, болты срывает только так и не понятно, чья вина, Убунты или Нвидии? А Бамблби нормально работает. Единственный способ стабильно заставить работать энвидию/примус/оптимус. Хотя и с Бамблби бывали глюки.

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

Сноси дрова и через пакетный менеджер и те что вручную поставил, по правилам сноси, а не подтирай. Убедись, что заголовки ядра установлены и тогда бамблби накати и всё тоже по правилам. Уверен, что проблема в nvidia-prime или тупо с заголовками ядра тупняк

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

В общем-то, даже спорить не буду, примерно так и было. Ладно, сейчас попробую с бамблби поработать.

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

Вот незадолго до вашего комментария я поменял ссылку, которой является libglx.so с libglx.so.331.113 на nvidia_drv.so

Это вы глупость сделали.

Драйвер nvidia состоит из 3х частей - модуля для ядра, непосредственно драйвера для XOrg сервера и костыля в виде замещения стандартного glx расширения в XOrg - своим. А вы пытаеттесь драйвер использовать как расширение ...

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

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

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