Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: EE2007.7+Linux x86_64+OpenGL - возможно ли это?
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Mentor-ExpeditionPCB
eug
На 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-битной танцы с бубном пока бесполезны...
Может быть кто подскажет правильное слово?
SM
А как по ментору понять, работает опенгл или нет? У меня вот после "Enable OpenGL" этот пункт меню становится серым... Рассмотрение strace показывает, что все опенгл-евские либы он нашел в /usr/lib, куда их установщик nvidia ставит, ошибок вроде нет. И что дальше? Как понять, заработал опенгл или нет?
eug
Цитата(SM @ Dec 6 2009, 20:12) *
А как по ментору понять, работает опенгл или нет? У меня вот после "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 ?
SM
Цитата(eug @ Dec 7 2009, 07:50) *
Если ментор обнаружил наличие ускорителя, пункт "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, так как ни ошибок, ни результатов.

Цитата(eug @ Dec 7 2009, 07:50) *
На счет линков - наверное только в моей ОСке( Gentoo x86 ) установщик драйвера создает следующее:


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

/usr/lib

Нажмите для просмотра прикрепленного файла

/usr/lib64

Нажмите для просмотра прикрепленного файла

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


Цитата(eug @ Dec 7 2009, 07:50) *
Тогда вопрос по-другому: как обьяснить ЕЕ, что необходимые библиотеки лежат в /usr/lib/opengl/nvidia/lib и
/usr/lib/opengl/nvidia/extensions ?

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

А Вы может забыли ответить "да" установщику NVIDIA на вопрос об установки 32-битных библиотек? Он это спрашивает отдельно во время установки. Или ставили с не-64-битного установщика (сейчас он называется NVIDIA-Linux-x86_64-190.42-pkg2.run ) ?
fill
Если включен OpenGL то в Display_Control можно изменять степень прозрачности - появляется ползунок Opacity Нажмите для просмотра прикрепленного файла
SM
Значит у меня тоже не включается, хотя по strace все либы находит. Буду копать дальше.
SM
Ну вот, я провел некие изыскания на уровне устройства кода экспедишена... В результате получился (по классификации Линнея) вот такой зверь - oblomus plenus.

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

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

Нажмите для просмотра прикрепленного файла


----------------------------------
Ну и пробуем всех обмануть. Ну и зачем, спрашивается, ментору знать, что у меня архитектура 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 здорово ускоряет процесс отрисовки. Даже на моей хиленькой карточке.

Цитата(eug @ Dec 5 2009, 22:27) *
на 64-битной танцы с бубном пока бесполезны...

Нужен был бубен другой системы smile.gif Спасибо за пинок в нужном направлении... Сам бы вряд-ли бы решился столь глубоко копать.
eug
Спасибо SM и Fill !
Бубен другой системы работает! biggrin.gif

P.S.:
До старта dash (по привычке работаю через Dashboard) добавил:
Код
export LD_LIBRARY_PATH=${LDPATH}:${LD_LIBRARY_PATH}
ибо пути к библиотекам OpenGL "Gentoo" прописывает в LDPATH.
SM
Цитата(eug @ Dec 8 2009, 10:11) *
До старта dash (по привычке работаю через Dashboard) добавил:
Код
export LD_LIBRARY_PATH=${LDPATH}:${LD_LIBRARY_PATH}
ибо пути к библиотекам OpenGL "Gentoo" прописывает в LDPATH.


Я думаю это тоже можно вписать прямо внутрь менторовского sddpcb_env.sh , всей dash это ведь не надо, а только PCB-шным запчастям.
cioma
Спасибо, SM, Ваш рецепт помог включить поддержку OpenGL в EE7.9.1 под Ubuntu 10.10 x86_64
cioma
Кстати, а кто как запускает DxD/Exp под Linux?

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

Я до недавнего времени обходился запуском через Xephyr (иксы в иксах) но в нем нет поддержки OpenGL, что весьма неудобно на сложных платах.
По идее можно запустить вторую копию X-сервера и переключаться по Ctrl+Alt+F7, Ctrl+Alt+F8, но это тоже не очень.

Все вышеописаное происходит в Ubuntu 10.10 x64 + GNOME
SM
Цитата(cioma @ Feb 5 2011, 15:21) *
Кстати, а кто как запускает DxD/Exp под Linux?

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


Да просто молча как-то запускается... Пышу "viewdraw&" в консоле - у меня DxD пустился. Никаких подобных проблем с окнами нет и не было - все он видит, десктопы уважает. CentOS 5.5, и гном и кде, пофигу, и там и тут работает корректно. Он же через ж...майнвин портирован, а майнвин работает корректно с десктопами. Ищите глюки в системе.
SM
Упс... Есть там глючок небольшой. Не работает перетаскивание окна за его верх. А изменение размеров за края и углы - работают (когда оно не maximized).
Vadim
Есть глючок и поболее. Оно не уважает рабстол с двумя мониторами. И xfce не уважает, но это так, мелочи.
SM
Цитата(Vadim @ Feb 10 2011, 13:43) *
Есть глючок и поболее. Оно не уважает рабстол с двумя мониторами. И xfce не уважает, но это так, мелочи.


ну xfce он сам только первый релиз 16 января 2011, так что кто кого не уважает, это еще вопрос... А вот с двумя мониторами - что там за проблемы?
Vadim
Цитата(SM @ Feb 10 2011, 14:56) *
ну xfce он сам только первый релиз 16 января 2011

Вы лет на 10 случайно не ошиблись? sm.gif
Цитата(SM @ Feb 10 2011, 14:56) *
А вот с двумя мониторами - что там за проблемы?

Окна не разворачиваются и не перетаскиваются, обрубаются с краев. Вообще, творится такой ужас, что я затрудняюсь даже сказать, когда, что, как и в какой последовательности sm.gif Работать невозможно, короче.
SM
Цитата(Vadim @ Feb 10 2011, 15:21) *
Вы лет на 10 случайно не ошиблись? sm.gif

Я про 4.8 (не подумав не назвал что за версия), он только недавно вышел - я с ним попробовал, не пошло, ну и решил, что глючная хрень этот xfce, подождем новых для дальнейших экспериментов.
Vadim
Цитата(SM @ Feb 10 2011, 16:22) *
ну и решил, что глючная хрень этот xfce, подождем новых для дальнейших экспериментов.

Не дождетесь, ибо не при чём он. Имхо, конечно sm.gif Чтобы запустить EE в xfce, нужно дождаться, когда менторы уберут из него все костыли, подпёртые для верности самым главным костылем. Не холивара ради, а чисто истины для - тот же Modelsim/Questa уважает и xfce, и оpenbox, и прочие кде с гномами, не смущают его и два монитора. Слушается всех настроек окон, в общем, ведет себя как родной. Новые приложения из EE - Symbol Editor, например - тоже. Если мне не изменяет склероз, он даже двух мониторов не боится (проверить не могу, снёс этот ужас).
cioma
Хм, под Ubuntu c GNOME ни DxD, ни Exp, ни LM не уважают различные workspace, не имеют родных свойств окна (title bar итп) и сворачиваются в виде иконки, а не в трей.
Собственно чтоб все это добавить и запускал через Xephyr.
SM
Цитата(cioma @ Feb 11 2011, 02:27) *
Хм, под Ubuntu


Ну совет то один - использовать те дистрибутивы, под которые ментор осуществляет поддержку (их список у ментора есть), ну или полностью совместимые с ними. И все будет нормально (причем с 99% программ для разработки вообще всех фирм). Ну или второй вариант, если Вы из тех, кто любит вдоволь наадминистрироваться - выяснить, в чем между ними разница в части X и менеджеров окон, и настроить так, чтобы разницы не было. Это чисто по-русски - создать себе проблемы неподдерживаемым дистрибутивом и потом их успешно или неуспешно решать.
cioma
Неее, это чисто по-беларуски wink.gif
И поадминистрировать время и желание есть, будем разбираться.
cioma
Проблема решилась обновлением до Natty (Ubuntu 10.10). По-видимому дело было в X-сервере
cioma
Оживим тему: кто-нибудь работает в EE7.9.2 (или раньше) под Ubuntu 11.04 Natty?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.