установка SCADA в Astra Linux SE

Детальный разбор дистрибутивов и других UNIX-like ОС

Модераторы: Olej, bellic, adminn, vikos

Aлekceй
Писатель
Сообщения: 23
Зарегистрирован: 22 янв 2020, 09:16
Откуда: Нижний Новгород
Контактная информация:

Re: установка SCADA в Astra Linux SE

Непрочитанное сообщение Aлekceй » 27 фев 2020, 20:10

Olej писал(а):
25 фев 2020, 18:29
В общем, у вас теперь самое первейшее занятие - по ключевым словам: "графика OpenGL", как запустить?
Попробовал выполнить следующие действия:
Установил библиотеки

Код: Выделить всё

administrator@astra:~$ sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev libglm-dev
Установил компиляторы для C, C++

Код: Выделить всё

administrator@astra:~$ sudo apt-get install g++-6 g++
Создал программу на C++

Код: Выделить всё

main.cpp

Код: Выделить всё

#include <GL/glut.h>
 
void displayMe(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_POLYGON);
        glVertex3f(0.5, 0.0, 0.5);
        glVertex3f(0.5, 0.0, 0.0);
        glVertex3f(0.0, 0.5, 0.0);
        glVertex3f(0.0, 0.0, 0.5);
    glEnd();
    glFlush();
}
 
int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE);
    glutInitWindowSize(400, 300);
    glutInitWindowPosition(100, 100);
    glutCreateWindow("Hello world!");
    glutDisplayFunc(displayMe);
    glutMainLoop();
    return 0;
}
Компилируем созданную программу

Код: Выделить всё

administrator@astra:~$ sudo g++ main.cpp -o firstOpenGlApp -lglut -lGLU -lGL
Запускаем программу

Код: Выделить всё

administrator@astra:/opt$ ./firstOpenGlApp
Итог в приложении, вроде бы OpenGL работает.

После манипуляций с библиотеками для AlphaPlatform ситуация не изменилась:

Код: Выделить всё

administrator@astra:/opt/Automiq/Alpha.HMI$ ./alpha.hmi.designer
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Unrecognized OpenGL version
Unrecognized OpenGL version
я правильно понимаю, нужно установить 32-битные драйвера для NVidia и как это сделать, без steam как-то можно?

Код: Выделить всё

administrator@astra:~$ glxinfo | grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 6.0, 256 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.1.3
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.1 Mesa 18.1.3
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.1.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
Вложения
Привет, Мир!.PNG
Привет, Мир!.PNG (4.38 КБ) 3229 просмотров
Последний раз редактировалось Aлekceй 28 фев 2020, 07:37, всего редактировалось 3 раза.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: установка SCADA в Astra Linux SE

Непрочитанное сообщение Olej » 27 фев 2020, 23:43

Aлekceй, я вас очень и ещё раз прошу ;-) : выделяйте тэгом кодэ (</> над окном редактирования) а). фрагменты программного кода и б). вывод в терминал консольных команд.
Потому что иначе читать это очень сложно.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: установка SCADA в Astra Linux SE

Непрочитанное сообщение Olej » 27 фев 2020, 23:49

Aлekceй писал(а):
27 фев 2020, 20:10
administrator@astra:/opt/Automiq/Alpha.HMI$ ./alpha.hmi.designer
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Unrecognized OpenGL version
Unrecognized OpenGL version
я правильно понимаю, нужно установить 32-битные драйвера для NVidia и как это сделать, без steam как-то можно?
1. Почему это вы решили про "32-битные драйвера для NVidia"?
В Linux "драйвера" - это модули ядра Linux (составная часть ядра), в Linux не может быть "драйверов" отличающихся разрядностью от ядра.

2. Почему вы решили что swrast_dri.so DRI имеет какое-то отношение к драйверам и NVIDIA. DRI - это некоторая бинарная прослойка, BLOB, (насколько я помню) имеющая отношение к OpenGL ... может быть даже к GL ES.
Ищите поиском что оно и где есть.
Можете попробовать вставить swrast_dri.so из тех дистрибутивов, где ваша SCADA работает ... но это будет грубо. ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: установка SCADA в Astra Linux SE

Непрочитанное сообщение Olej » 27 фев 2020, 23:59

Aлekceй писал(а):
27 фев 2020, 20:10
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Запуск нативных игр со свободным драйвером amd/ati
Не вижу пакет firmware-linux-nonfree. Он нужен, чтобы заработал DRI. Пакет в разделе non-free репозиториев, подключить эти разделы и поставить обычным способом.

Код: Выделить всё

olej@ACER:~$ apt-file search swrast_dri.so
libgl1-mesa-dri: /usr/lib/x86_64-linux-gnu/dri/kms_swrast_dri.so
libgl1-mesa-dri: /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so

olej@ACER:~$ aptitude search libgl1-mesa-dri
i   libgl1-mesa-dri                                                           - free implementation of the OpenGL API -- DRI modules                                
Это - Debian 10

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: установка SCADA в Astra Linux SE

Непрочитанное сообщение Olej » 28 фев 2020, 00:04

Olej писал(а):
27 фев 2020, 23:59
Это - Debian 10
А это вот ;-) :

Код: Выделить всё

root@astra:~# lsb_release -a
No LSB modules are available.
Distributor ID: AstraLinuxSE
Description:    Astra Linux SE 1.6 (Smolensk)
Release:        1.6
Codename:       smolensk
И здесь:

Код: Выделить всё

root@astra:~# aptitude search libgl1-mesa-dri
i   libgl1-mesa-dri                                       - free implementation of the OpenGL API -- DRI modules            
v   libgl1-mesa-dri:i386                                  -                                                                 
v   libgl1-mesa-dri:i386                                  -                                                                 

Aлekceй
Писатель
Сообщения: 23
Зарегистрирован: 22 янв 2020, 09:16
Откуда: Нижний Новгород
Контактная информация:

Re: установка SCADA в Astra Linux SE

Непрочитанное сообщение Aлekceй » 28 фев 2020, 18:11

Olej писал(а):
27 фев 2020, 23:49
1. Почему это вы решили про "32-битные драйвера для NVidia"?
На форуме одном нашёл.

Aлekceй
Писатель
Сообщения: 23
Зарегистрирован: 22 янв 2020, 09:16
Откуда: Нижний Новгород
Контактная информация:

Re: установка SCADA в Astra Linux SE

Непрочитанное сообщение Aлekceй » 28 фев 2020, 18:12

Olej писал(а):
27 фев 2020, 23:59
Не вижу пакет firmware-linux-nonfree. Он нужен, чтобы заработал DRI. Пакет в разделе non-free репозиториев, подключить эти разделы и поставить обычным способом.
Если это этот пакет, то он установлен. Если всё-таки firmware-linux-nonfree, то я его не нашёл.

Код: Выделить всё

administrator@astra:~$ aptitude search linux-firmware
i   linux-firmware                              - Firmware for Linux kernel drivers
Последний раз редактировалось Aлekceй 28 фев 2020, 18:22, всего редактировалось 1 раз.

Aлekceй
Писатель
Сообщения: 23
Зарегистрирован: 22 янв 2020, 09:16
Откуда: Нижний Новгород
Контактная информация:

Re: установка SCADA в Astra Linux SE

Непрочитанное сообщение Aлekceй » 28 фев 2020, 18:14

Olej писал(а):
28 фев 2020, 00:04
И здесь:
Также установлен

Код: Выделить всё

administrator@astra:~$ aptitude search libgl1-mesa-dri
i   libgl1-mesa-dri                             - free implementation of the OpenGL API -- DRI modules 
v   libgl1-mesa-dri:i386                        -                                                      
v   libgl1-mesa-dri:i386                        -

Aлekceй
Писатель
Сообщения: 23
Зарегистрирован: 22 янв 2020, 09:16
Откуда: Нижний Новгород
Контактная информация:

Re: установка SCADA в Astra Linux SE

Непрочитанное сообщение Aлekceй » 28 фев 2020, 18:51

Olej писал(а):
27 фев 2020, 23:49
Можете попробовать вставить swrast_dri.so из тех дистрибутивов, где ваша SCADA работает ... но это будет грубо.
Библиотеки swrast_dri.so и kms_swrast_dri.so находятся в каталоге /usr/lib/x86_64-linux-gnu/dri. Можно как-то узнать из какой-нибудь библиотеки вообще, есть ли ссылка (обращение) к библиотекам каталога /usr/lib/x86_64-linux-gnu/dri? Например,

Код: Выделить всё

administrator@astra:~$ ls -l /lib64/ld-linux-x86-64.so.2
lrwxrwxrwx 1 root root 32 июн 20  2018 /lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.24.so
В конфигурационных файлах /etc/ld.so.conf.d нет ни одной ссылки на библиотеки каталога /usr/lib/x86_64-linux-gnu/dri, соответственно их нет и в содержимом файла ld.so.cache.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: установка SCADA в Astra Linux SE

Непрочитанное сообщение Olej » 28 фев 2020, 21:09

Aлekceй писал(а):
28 фев 2020, 18:51
Библиотеки swrast_dri.so и kms_swrast_dri.so находятся в каталоге /usr/lib/x86_64-linux-gnu/dri. Можно как-то узнать из какой-нибудь библиотеки вообще, есть ли ссылка (обращение) к библиотекам каталога /usr/lib/x86_64-linux-gnu/dri?
Алгоритм поиска каталогов для дефаултного поиска библиотек в Linux а). достаточно путанный сложный и б). многошаговый. Его описание в полном виде не так легко найти. Когда-то я этим поиском занимался и полнф1й алгоритм поиска библиотек описал вот здесь: Разработка программных проектов в Linux, стр.57:
Библиотеки
Вычитайте всё, что там написано про библиотеки.
... после чего убедитесь, что в кэше загрузчика вашей библиотеки нет (это показано в Debian, но у вас будет то же самое):

Код: Выделить всё

olej@ACER:~$ strings '/etc/ld.so.cache' | grep swrast_dri.so
olej@ACER:~$ /sbin/ldconfig -p | grep swrast_dri.so
olej@ACER:~$ 
Можете попробовать указать каталог вашей библиотеки /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so в переменных окружения LD_LIBRARY_PATH= и LD_RUN_PATH= (скорее второе чем первое) перед запуском вашего приложения (или export их в том терминальном сеансе где запускаете приложение).

Ответить

Вернуться в «Дистрибутивы Linux и родственные ОС»

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и 12 гостей