Jump to content

    
Sign in to follow this  
eug

EE2007.7+Linux x86_64+OpenGL - возможно ли это?

Recommended Posts

На 32-битной системе OpenGL работает (после применения

 

cd /usr/lib

ln -s opengl/nvidia/lib/libGL.so libGL.so.1

ln -s opengl/nvidia/lib/libGLcore.so libGLcore.so.1

ln -s opengl/nvidia/lib/libnvidia-tls.so libnvidia-tls.so.1

 

ибо установщик драйвера не создает эти линки),

 

на 64-битной танцы с бубном пока бесполезны...

Может быть кто подскажет правильное слово?

Share this post


Link to post
Share on other sites

А как по ментору понять, работает опенгл или нет? У меня вот после "Enable OpenGL" этот пункт меню становится серым... Рассмотрение strace показывает, что все опенгл-евские либы он нашел в /usr/lib, куда их установщик nvidia ставит, ошибок вроде нет. И что дальше? Как понять, заработал опенгл или нет?

Share this post


Link to post
Share on other sites
А как по ментору понять, работает опенгл или нет? У меня вот после "Enable OpenGL" этот пункт меню становится серым... Рассмотрение strace показывает, что все опенгл-евские либы он нашел в /usr/lib, куда их установщик nvidia ставит, ошибок вроде нет. И что дальше? Как понять, заработал опенгл или нет?

Если ментор обнаружил наличие ускорителя, пункт "Enable OpenGL" позволяет включить/выключить оное.

Если не обнаружил - в окне сообшений пишет:

"Info: Hardware acceleration is not available on this system. OpenGL support can not be enabled."

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

Это заметно на "больших" платах в редактировании и в 3D-viewer.

 

На счет линков - наверное только в моей ОСке( Gentoo x86 ) установщик драйвера создает следующее:

 

/usr/lib:

libcuda.so libnvidia-cfg.so.190.42 libXvMCNVIDIA.a opengl

libcuda.so.1 libvdpau_nvidia.so libXvMCNVIDIA.so xorg

libcuda.so.190.42 libvdpau_nvidia.so.190.42 libXvMCNVIDIA.so.190.42

 

/usr/lib/opengl/nvidia/extensions:

libglx.so libglx.so.190.42

 

/usr/lib/opengl/nvidia/lib:

libGLcore.so libGL.so libnvidia-tls.so

libGLcore.so.1 libGL.so.1 libnvidia-tls.so.1

libGLcore.so.190.42 libGL.so.190.42 libnvidia-tls.so.190.42

 

/usr/lib/xorg/modules/drivers:

nvidia_drv.so

 

т.е. линки *.so.1 в /usr/lib/ в моей ситуации автоматически не создаются.

 

Тогда вопрос по-другому: как обьяснить ЕЕ, что необходимые библиотеки лежат в /usr/lib/opengl/nvidia/lib и

/usr/lib/opengl/nvidia/extensions ?

Share this post


Link to post
Share on other sites
Если ментор обнаружил наличие ускорителя, пункт "Enable OpenGL" позволяет включить/выключить оное.

Если не обнаружил - в окне сообшений пишет:

"Info: Hardware acceleration is not available on this system. OpenGL support can not be enabled."

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

Это заметно на "больших" платах в редактировании и в 3D-viewer.

 

У меня вот что (я уже писал) - после выбора пункта Enable OpenGL - он сереет, то есть ничего больше нельхя сделать, в т.ч. выключить. Сообщений никаких не появляется. А strace показывает, что все либы найдены. По скорости я ничего не понимаю, так как карточка хилая, Geforce 6200, а комп двухпроцессорный (не путать с двухядерным) четырехядерный сервак. Т.е. я не знаю, включился ли реально OpenGL, так как ни ошибок, ни результатов.

 

На счет линков - наверное только в моей ОСке( Gentoo x86 ) установщик драйвера создает следующее:

 

У меня (CentOS 5.2) установщик создает следующее:

 

/usr/lib

 

post-2881-1260185459_thumb.png

 

/usr/lib64

 

post-2881-1260185468_thumb.png

 

никакой директории opengl вообще нет нигде и не было никогда.

 

 

Тогда вопрос по-другому: как обьяснить ЕЕ, что необходимые библиотеки лежат в /usr/lib/opengl/nvidia/lib и

/usr/lib/opengl/nvidia/extensions ?

Видимо, как и остальным - LD_LIBRARY_PATH.

 

А Вы может забыли ответить "да" установщику NVIDIA на вопрос об установки 32-битных библиотек? Он это спрашивает отдельно во время установки. Или ставили с не-64-битного установщика (сейчас он называется NVIDIA-Linux-x86_64-190.42-pkg2.run ) ?

Share this post


Link to post
Share on other sites

Ну вот, я провел некие изыскания на уровне устройства кода экспедишена... В результате получился (по классификации Линнея) вот такой зверь - oblomus plenus.

 

Короче - OpenGL на 64-битной платформе просто не поддерживается, и все тут. Т.е. mgc_egs_prober сразу отсеивает такую систему, в которой "uname -m" выдает нечто оканчивающееся на "_64" или "getconf LONG_BIT" говорит 64.

 

Кстати, вопрос к fill - это где-то отражено? Планируется поддержать OpenGL на 64-битных платформах? Чем это обусловлено?

 

post-2881-1260221880_thumb.png

 

 

----------------------------------

Ну и пробуем всех обмануть. Ну и зачем, спрашивается, ментору знать, что у меня архитектура 64-битная? Если он сам по жизни весь 32-битный. Вот и я думаю, незачем. Тем более, это не венда, это линукс, что хочу, то и ворочу.

 

Создаем директорий ~/tbin

 

Создаем в нем исполняемый "arch" с таким содержимым:

#!/bin/bash
echo "i686"

 

Создаем там же исполняемый "uname"

#!/bin/bash
/bin/uname $* | sed -e 's/x86_64/i686/g'

 

Создаем там же исполняемый "getconf"

#!/bin/bash

case $1 in
  LONG_BIT)
    echo "32"
;;
    
  *)
    /usr/bin/getconf $*
;;
esac

 

Перед запуском ExpeditionPCB, ViewerPCB, PlannerPCB делаем "export PATH=~/tbin:$PATH" и вуаля, OpenGL заработал. У меня по крайней мере.

 

ну и последний "штрих". Добавляем в конец файла /где/стоит/2007.7EE/SDD_HOME/common/linux/bin/sddpcb_env.sh вот такую строчку:

 

setenv PATH /там/где/расположен/весь/обман:${PATH}

 

Вот, собственно, и все. Почему-то работает, хотя менторовцы явно этого не хотели. На самом деле - OpenGL здорово ускоряет процесс отрисовки. Даже на моей хиленькой карточке.

 

на 64-битной танцы с бубном пока бесполезны...

Нужен был бубен другой системы :) Спасибо за пинок в нужном направлении... Сам бы вряд-ли бы решился столь глубоко копать.

Share this post


Link to post
Share on other sites

Спасибо SM и Fill !

Бубен другой системы работает! :biggrin:

 

P.S.:

До старта dash (по привычке работаю через Dashboard) добавил:

export LD_LIBRARY_PATH=${LDPATH}:${LD_LIBRARY_PATH}

ибо пути к библиотекам OpenGL "Gentoo" прописывает в LDPATH.

Share this post


Link to post
Share on other sites
До старта dash (по привычке работаю через Dashboard) добавил:

export LD_LIBRARY_PATH=${LDPATH}:${LD_LIBRARY_PATH}

ибо пути к библиотекам OpenGL "Gentoo" прописывает в LDPATH.

 

Я думаю это тоже можно вписать прямо внутрь менторовского sddpcb_env.sh , всей dash это ведь не надо, а только PCB-шным запчастям.

Share this post


Link to post
Share on other sites

Кстати, а кто как запускает DxD/Exp под Linux?

 

Как я понимаю, почти все приложения в EE (кроме IOD) напрямую ломятся к X-серверу, без уважения к менеджеру окон, десктопу итп. Т.е. на экране поверх всего лежит окно DxD и переключиться на другие окна возможности нет.

 

Я до недавнего времени обходился запуском через Xephyr (иксы в иксах) но в нем нет поддержки OpenGL, что весьма неудобно на сложных платах.

По идее можно запустить вторую копию X-сервера и переключаться по Ctrl+Alt+F7, Ctrl+Alt+F8, но это тоже не очень.

 

Все вышеописаное происходит в Ubuntu 10.10 x64 + GNOME

Share this post


Link to post
Share on other sites
Кстати, а кто как запускает DxD/Exp под Linux?

 

Как я понимаю, почти все приложения в EE (кроме IOD) напрямую ломятся к X-серверу, без уважения к менеджеру окон, десктопу итп. Т.е. на экране поверх всего лежит окно DxD и переключиться на другие окна возможности нет.

 

Да просто молча как-то запускается... Пышу "viewdraw&" в консоле - у меня DxD пустился. Никаких подобных проблем с окнами нет и не было - все он видит, десктопы уважает. CentOS 5.5, и гном и кде, пофигу, и там и тут работает корректно. Он же через ж...майнвин портирован, а майнвин работает корректно с десктопами. Ищите глюки в системе.

Share this post


Link to post
Share on other sites

Упс... Есть там глючок небольшой. Не работает перетаскивание окна за его верх. А изменение размеров за края и углы - работают (когда оно не maximized).

Share this post


Link to post
Share on other sites
Есть глючок и поболее. Оно не уважает рабстол с двумя мониторами. И xfce не уважает, но это так, мелочи.

 

ну xfce он сам только первый релиз 16 января 2011, так что кто кого не уважает, это еще вопрос... А вот с двумя мониторами - что там за проблемы?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this