LinuxForum.Fans
Тема

[решено]PlayOnLinux не может обнаружить 32bits OpenGL библиотеки.

Автор: goy2010 25 сообщений 16517 просмотров
#303633

Playonlinux выдает предупреждение при запуске, что не может найти 32bit библиотеки opengl ( PlayOnLinux не может обнаружить 32bits OpenGL библиотеки. ), терминальный выхлоп:

text

[main] Message: PlayOnLinux (4.1.9) is starting
[clean_tmp] Message: Cleaning temp directory
libGL error: failed to load driver: swrast
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
[Check_OpenGL] Warning: 32bits direct rendering is not enabled
[Check_OpenGL] Message: 64bits direct rendering is enabled
[POL_System_CheckFS] Message: Checking filesystem for /home/realex/.PlayOnLinux/
[main] Message: Filesystem is compatible

glxgears - анимация есть, 60фпс.
Ядро 3.7.9 ( на 3.5.* - все так же )
Драйвер - [url]ftp://download.nvidia.com/XFree86/Linux-x86_64/313.18,[/url] при установке драйвера выбирал 32bit библиотеки.
Система: linux mint 14 x64 cinnamon ( ранее стояла linux mint 14 x64 mate и все работало )
Wine - вайн не запускает игры, тоже ругается на отсутствие 32bit библиотек.
Переустановка системы не помогает.
----
В чем может быть проблема ?

#303643
"goy2010" написал:
В чем может быть проблема ?

в этом

"goy2010" написал:
Warning: 32bits direct rendering is not enabled

покажи вывод

text
glxinfo | grep 'direct rendering'
#303654

direct rendering: Yes
---
Библиотеки при установке я отмечаю, уже раза 3 переустанавливал драйвер.

#303659
"goy2010" написал:
уже раза 3 переустанавливал драйвер.

Драйвер, как я понял, с оф сайта nvidia. А не лучше будет из репозитория поставить?

"goy2010" написал:
Библиотеки при установке я отмечаю

Нужна еще mesa demos. В Mageia пакет так и называется mesa-demos, в убунте/минте он называется как-то по-другому, да и состав комплектация пакетов может быть другая, где и что именно лежит в убунтовских пакетах - я не знаю, так что просто установи весь комплект пакетов через терминал

text
sudo apt-get install mesa-utils mesa-utils-extra libglu1-mesa libegl1-mesa libgl1-mesa-glx libgles1-mesa libgles2-mesa libglw1-mesa

или установи эти же пакеты через gui (через Synaptic, или через что там в минте пакеты устанавливают), как удобней самому

#303660
"xxblx" написал:
еще mesa demos. В Mageia пакет так и называется mesa-demos, в убунте/минте он называется как-то по-другому, да и состав комплектация пакетов может быть другая, где и что именно лежит в убунтовских пакетах - я не знаю, так что просто установи весь комплект пакетов через терминал

Да с офф сайта, с репозитория пробовал, проблема таже.
mesa-utils mesa-utils-extra libglu1-mesa libegl1-mesa libgl1-mesa-glx libgles1-mesa libgles2-mesa libglw1-me - все эти пакеты есть и установлены.

#303676
"goy2010" написал:
Да с офф сайта, с репозитория пробовал, проблема таже.
mesa-utils mesa-utils-extra libglu1-mesa libegl1-mesa libgl1-mesa-glx libgles1-mesa libgles2-mesa libglw1-me - все эти пакеты есть и установлены.

Окей. Попробуем сделать "в лоб".
Попробуй запускать так:

text
export LD_LIBRARY_PATH=/usr/lib32
playonlinux

Ну или можно супер скрипт для запуска сделать такой:

text
#!/bin/sh
export LD_LIBRARY_PATH=/usr/lib32
playonlinux

или такой:

text
#!/bin/sh
export OURLIBS=/usr/lib32
export LD_LIBRARY_PATH=${OURLIBS}
playonlinux

после

text
chmod +x script
./script

и еще, покажи вывод

text
find /usr/lib/nvidia*
#303721

Вывод странный, о_О:

  • /usr/lib/nvidia
  • /usr/lib/nvidia/pre-install

---
в лоб тоже не работает, не видит библиотеки. ( пробовал со скрипта )

#303729
"goy2010" написал:
Вывод странный, о_О:
/usr/lib/nvidia
/usr/lib/nvidia/pre-install
---
в лоб тоже не работает, не видит библиотеки. ( пробовал со скрипта )

Интересно, попробуй запустить

text
nvidia-setting

Это должно будет создать конфиг-файл.

И еще внимания сразу не обратил на это

"goy2010" написал:
glxgears - анимация есть, 60фпс.

Вертикальная синхронизация что ли включена? Смотреть в nvidia-settings.
У меня GeForce 9600 GSO (а это "обрубок" с 384 мб), glxgears выдает ~15000-16000 :)

#303800

1)Конфиг файл есть, но скорее всего в другом месте =)
2)Да включена vsync ( спасибо что напомнили отключить :) )

#303801

Интересный факт, папки /usr/lib32 - вообще нет о_О

#303809
"goy2010" написал:
Интересный факт, папки /usr/lib32 - вообще нет о_О

А 32-битные либы должны бы как раз там лежать. Стало быть установлены-то 64-битные.
Пакеты ia32-libs и ia32-libs-multiarch:i386 установлены?
И еще, libgl1-mesa-glx:i386 нужно установить.

#303843

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

  • /usr/lib
  • /lib
  • /lib64 - тут всего один объект "ld-linux-x86-64.so.2"

нет пути:

  • /usr/lib32 - нет
#303854

на форуме минта есть одна темка с такой же проблемой http://forums.linuxmint.com/viewtopic.php?f=59&t=23556
там пишут, что просто устанавливать драйвер надо командой вида

text
./NVIDIA-Linux-x86_64-185.18.36-pkg2.run --compat32-prefix=/usr --compat32-libdir=lib32 --compat32-chroot=/

Вот еще интересный вариант http://forums.debian.net/viewtopic.php?f=5&t=67231#p395922
После него, как я понимаю, с прелоадом либ (см. пост #6) надо запускать PoL / wine

#303870

Спасибо за ссылки, опробую отпишусь.

#303872

--compat32-chroot= - Что нужно писать после = ? пишет Invalid commandline ( все остальные префиксы проходят )

#303927

попробовал --compat32-prefix=/usr --compat32-libdir=lib32, все глухо. ошибка осталась и папки lib32 не появилось...

#303929
"goy2010" написал:
Что нужно писать после = ?

man chroot?

Показать
ну а вообще /usr/lib32
#303939

AnKar:
Сейчас поставлю через:
--compat32-prefix=/usr --compat32-libdir=lib32 --compat32-chroot=/
Отпишусь

#303946

Заработало!
Поставил драйвер вот так:
"Драйвер лежит в корне домашней директории (/home/профиль/NVIDIA-Linux-x86_64-313.18.run )"

text
sudo sh NVIDIA-Linux-x86_64-313.18.run --compat32-prefix=/usr --compat32-libdir=lib32 --compat32-chroot=/

---
После Chroot надо было указывать корневую директорию системы ( т.е / ).
32 битные либы появились по пути /usr/lib32, но playonlinux продолжает отказываться их видеть, немного подумав решил засунуть либы "в лоб" playonlinux, как уже выше советовали:

text

#!/bin/sh
export LD_LIBRARY_PATH=/usr/lib32
playonlinux

Это скрипт запуска.
---
И "очудо!!!111" --- 32bits direct rendering is enabled
---
Cпасибо всем за помощь, это сообщение будет для потомков =)

PS:

  • еще 1 маленький вопрос, как можно обойтись без метода "в лоб" ? что бы программа сама видела либы, ибо с wine та же проблема и "в лоб" не всегда можно применить.
#303958
"goy2010" написал:
еще 1 маленький вопрос, как можно обойтись без метода "в лоб" ? что бы программа сама видела либы, ибо с wine та же проблема и "в лоб" не всегда можно применить.

покажи еще раз

text
find /usr/lib/nvidia*

и

text
find /usr/lib32/*

и

text
find /etc/ld.so.conf.d/nvidia*

там где-то должен быть конфиг файл, в который можно прописать, чтобы по дефолту цеплялись 32-битные либы

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