Opengl ��� linux ubuntu

Содержание
  1. OpenGL программирование/Установка/Linux
  2. Содержание
  3. Установка OpenGL на Linux [ править ]
  4. Библиотеки [ править ]
  5. Драйверы [ править ]
  6. Фирменные варианты [ править ]
  7. Свободные/Open-Source варианты. [ править ]
  8. Проверьте ваши сведения о OpenGL [ править ]
  9. IDEs [ править ]
  10. Installing your own OpenGL headers [ править ]
  11. How to Install OpenGL on Ubuntu Linux
  12. Включение гибридной графики в Ubuntu на ноутбуках Nvidia + Intel (OpenGL, Vulkan)
  13. Введение
  14. 1. Устанавливаем драйвер
  15. 2. Настраиваем видеокарту
  16. 3. Запуск приложения с использованием дискретной графики
  17. Заключение
  18. shamiul94 / How to install opengl in ubuntu.txt
  19. This comment has been minimized.
  20. bhavik-knight commented Feb 3, 2021
  21. This comment has been minimized.
  22. shamiul94 commented Feb 3, 2021
  23. This comment has been minimized.
  24. bhavik-knight commented Feb 5, 2021
  25. This comment has been minimized.
  26. ominusliticus commented Mar 28, 2021 •
  27. This comment has been minimized.
  28. bhavik-knight commented Mar 31, 2021
  29. This comment has been minimized.
  30. LinuxRocks2000 commented May 4, 2021 •
  31. This comment has been minimized.
  32. GithungoIan commented Jun 6, 2021
  33. This comment has been minimized.
  34. Yvn919 commented Jun 22, 2021
  35. This comment has been minimized.
  36. EvanNibbe commented Jul 9, 2021

OpenGL программирование/Установка/Linux

Содержание

Установка OpenGL на Linux [ править ]

Большинство дистрибутивов Linux опираются на Mesa3D проект что бы обеспечить реализацию OpenGL. Они регулярно поставляют OpenGL библиотеки, а так же OpenGL ES 1.x и 2.0.

Точные имена пакетов необходимых для установки сильно зависят от дистрибутива. Ссылаясь на пакеты вашего дистрибутива, вы можете спасти себя от траты времени и головной боли в установке. Используйте ваш любимый менеджер пакетов и поиск по названию пакета. Вам, возможно, потребуется установить пакеты, с DEV суффиксом, это пакеты разработки (обычно файлы заголовков). Также смотрите в пакетах с lib-префиксом, которые относятся к библиотекам.

Установите GCC C/C++ компиляторы и связанные с ними инструменты, такие как make.

В общем, установите следущее:

Библиотеки [ править ]

В этом Викиучебнике, мы будем использовать GLEW, FreeGLUT и GLM, убедитесь, что вы установите библиотеки разработчика (примечание переводчика dev библиотеки):

Если GLM не доступен в вашем репозитории, у вас есть возможность установить его вручную. Убедитесь, что заголовки размещены в каталоге /usr/include/glm . Так как это только заголовки библиотеки, вам не нужно компилировать .so библиотеки — просто скопируйте код.

Драйверы [ править ]

OpenGL является основным API 3D-графики в GNU/Linux-based системах. Если ваше устройство поддерживает 3D ускорение на GNU/Linux, оно, вероятно, включает в себя OpenGL.

OpenGL включается в драйверах, так что вы должны убедиться, что драйверы были установлены корректно, если вы хотите запускать программы с использованием OpenGL. Драйверы с открытым исходным кодом, на самом деле, используют реализацию Mesa в OpenGL. Фирменные драйверы поставляют собственную библиотеку OpenGL.

Фирменные варианты [ править ]

Компания Nvidia обеспечивает в целом хороший, но не свободный драйвер nvidia. fglrx драйвер для многих современных устройств AMD; он также имеет закрытый исходный код и доступен на сайте AMD.

Свободные/Open-Source варианты. [ править ]

Если ваш процессор Intel с встроенной графикой, то необходимые драйверы с открытым исходным кодом поставляются в качестве стандартной части ядра Linux.

Если у вас установлен один из новейших чипов, вам возможно придётся использовать посредственный fglrx драйвер. Однако AMD выпустила спецификации для своих чипов, ‘Radeon’ с открытым исходным кодом сделал свой путь, для того чтобы стать полнофункциональным 2D и 3D драйвером.

По состоянию на июнь 2013 года, большинство чипов AMD хорошо работают с исходным драйвером «Radeon». 3D производительность с драйвером AMD Catalyst на современных картах еще лучше, но это может измениться в будущем. Можете проверить таблицу характеристик.

Читайте также:  Вы используете операционную систему linux

Nouveau драйвер с открытым исходным кодом поддерживает чипсеты NVIDIA, но в момент написания не так полон, как драйвера с закрытым исходным кодом от NVIDIA, поддержка 3D может быть не удовлетворительна.

Драйвер OpenGL на Linux-системах состоит из двух файлов:

А так же многие OpenGL приложения требуют libGLU.so; Операции GLU не могут быть аппаратно ускоренны, поэтому реализация Mesa является отличным вариантом.

Проверьте ваши сведения о OpenGL [ править ]

Введите это в терминале, чтобы получить больше информации о вашем OpenGL драйвере, включая поддерживаемые расширения:

IDEs [ править ]

The tutorials will mostly rely on simple Makefile s to build the code, and let you edit the source with your favorite text editor, such as Emacs, vim, gedit, kwrite, etc.

Существует несколько IDE для GNU/Linux, такие как:

Очень просто преспособить Мейкфайлы к этим системам.

Installing your own OpenGL headers [ править ]

In the unlikely event that your distribution does not supply packages for Mesa3D, you can build it from source with the usual

installation procedure; however, be careful of conflicting opengl libraries.

Mesa’s software implementation may override your distribution’s libraries or libraries manually installed, such as the nvidia or fglrx OpenGL binaries. When this happens, search all directories listed with

for libGL.so. The following command should output all the different OpenGL libraries available on your system:

It is usually OK if you have one the mesa library plus the proprietary library. On 64-bits systems, you may also have the lib32 library. Additional copies of libGL.so found in the ld search path (specified in /etc/lf.so.conf by default), if not referring to the same file, usually indicates a conflict. Remove all but the copy you want executed.

The headers will be installed to $PREFIX/include/GL (usually /usr/include/GL when installed from a packaged, or /usr/local/include/GL when installed manually from source).

«Official» OpenGL headers are available from SGI, however, they are hopelessly out of date.

Источник

How to Install OpenGL on Ubuntu Linux

What Is OpenGL?
OpenGL is a Graphics rendering API which is operating system independent, window system independent and has high-quality color images composed of geometric and image primitives.
OpenGL APIs can use following …

  • Gl
    • OpenGL API implementation (http://www.opengl.org)
  • Glu
    • OpenGL Utility
  • Glut – GLUT (OpenGL Utility Toolkit) – Glut is portable windowing API and it is not officially part of OpenGL.
    • OpenGL Utility Toolkit (http://www.opengl.org/resources/libraries/glut/)
  • FLTK
    • FlashLight ToolKit (http://www.fltk.org/)
  • GLEW

Now lets see How to install OpenGL on out Ubuntu OS.

Now because GLUT (OpenGL Utility Toolkit) depends upon OpenGL and a number of other related libraries, if we install GLUT then OpenGL will be automatically be installed.

Run the following commands to install OpenGL.

Now to test if OpenGl libraries are working fine on our Linux, we will create a C++ program and test it.

So create a following C++ Program.

Now give the command below to compile your code.

Now run your OpenGl program with following command

If a window pops up when you run the program, then OpenGL is working on your Ubuntu OS.

Источник

Включение гибридной графики в Ubuntu на ноутбуках Nvidia + Intel (OpenGL, Vulkan)

Введение

Это простая инструкция как включить гибридную графику intel-nvidia на ноутбуке. Чтобы определенные приложения запускались на дискретном чипе, а другие на встроенном. На свое удивление в интернете не нашел простую инструкцию того, как запускать определенные приложения, используя дискретную графику. Так что напишу так просто, на сколько считаю нужным

Читайте также:  Нет обновления windows 10 29 июля

У меня система KDE Neon 5.21 — по большому счету — Ubuntu LTS с окружением рабочего стола KDE Plasma 5.21, видеочип GeForce MX150

1. Устанавливаем драйвер

a) Если у вас система на Qt (Как правило окружение KDE или LXQt), то с помощью данной команды через терминал загрузим программу для установки драйверов:

Если у вас система на GTK то с помощью это команды:

Хотя разницы принципиальной нет

b) Затем запускаем ее с правами root

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

Инструкция для KDE

/.local/share/applications/ создадим файл software properties qt.desktop с таким содержанием

И файл software properties qt.sh в той же папке:

После перезагрузки ярлык появится в меню

Но это далеко не обязательно, вполне достаточно запустить из консоли для наших целей настройки гибридной графики

c) Переходим на последнюю вкладку Additional drivers и устанавливаем нужный драйвер. Я выбрал самой последней версии, который не tested и не server

d) После установки перезагружаем устройство

2. Настраиваем видеокарту

a) Загружаем следующую программу:

b) Переходим в PRIME Profiles Здесь мы видим три пункта:

NVIDIA (Performance Mode) — работать только на дискретной графике. Сильно потребляет батарею в несложных задачах, а так же ноутбук начинает греться. Зато система работает намного быстрее, но это того не стоит. У меня после установки драйвера этот пункт включился автоматически

NVIDIA On-Demand — некоторые приложения будут использовать дискретную графику nvidia, но по-умолчанию встроенная intel. Как запустить конкретное приложение с дискретной графикой напишу дальше

NVIDIA (Power Saving Mode) — отключение дискретной графики

Выбираем второй вариант — NVIDIA On-Demand , и перезагружаем систему

3. Запуск приложения с использованием дискретной графики

Это то, что сложнее всего гуглилось.

Для запуска приложения с использованием графики nvidia нужно задать для OpenGL две переменные среды:

для Vulkan только:

Делать это надо перед командой для запуска приложения. Например, нам нужно запустить из терминала приложение program с использованием дискретной графики. Нужно вызвать его так:

Соответственно, если у приложения есть ярлык (.desktop) в меню приложений, то надо изменить команду запуска в ярлыке. В KDE Plasma нужно нажать на него ПКМ, открыть свойства (или «изменить приложение. «), перейти во вкладку «приложение» и перед командой приписать данную приставку. В других средах похожего стола примерно так же

Пример: ярлык игры Wolfenstein — Blade of Agony

Можно сделать это же действие через текстовый редактор. Открываем ярлык, находим Exec= , и приписываем перед коммандой данную приставку __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia

Заключение

Данный метод, как я понял, точно работают для программ, использующих библиотеки OpenGL и Vulkan. У меня, к сожалению, не получилось запустить так Windows приложение через Wine, которое использует DirectX, но это уже совсем другая история. (OpenGL приложения под Wine работают)

Источник

shamiul94 / How to install opengl in ubuntu.txt

What Is OpenGL?
OpenGL is a Graphics rendering API which is operating system independent, window system independent and has high-quality color images composed of geometric and image primitives.
OpenGL APIs can use following …
Gl
OpenGL API implementation (http://www.opengl.org)
Glu
OpenGL Utility
Glut – GLUT (OpenGL Utility Toolkit) – Glut is portable windowing API and it is not officially part of OpenGL.
OpenGL Utility Toolkit (http://www.opengl.org/resources/libraries/glut/)
FLTK
FlashLight ToolKit (http://www.fltk.org/)
GLEW…
Now lets see How to install OpenGL on out Ubuntu OS.
Now because GLUT (OpenGL Utility Toolkit) depends upon OpenGL and a number of other related libraries, if we install GLUT then OpenGL will be automatically be installed.
Run the following commands to install OpenGL.
$ sudo apt-get update
$ sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
Now to test if OpenGl libraries are working fine on our Linux, we will create a C++ program and test it.
So create a following C++ Program.
#include
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;
>
Now give the command below to compile your code.
$ g++ main.cpp -o firstOpenGlApp -lglut -lGLU -lGL
Now run your OpenGl program with following command
$ ./firstOpenGlApp
Читайте также:  Медленно загружается mac os

This comment has been minimized.

Copy link Quote reply

bhavik-knight commented Feb 3, 2021

Thank man, you’re a life-saver. It helped me running on WSL-Ubuntu running within Mobaxterm with VSC on windows.

This comment has been minimized.

Copy link Quote reply

shamiul94 commented Feb 3, 2021

@bhabik-knight Happy to be of help. Kindly share if you had to make any modifications to these commands to make it work on your OS configuration so that the next user doesn’t have to reinvent the wheel.

This comment has been minimized.

Copy link Quote reply

bhavik-knight commented Feb 5, 2021

I didn’t have to modify any command. I just use Makefile to automate the building task. So that linkers are linked properly. Thank you so much!

This comment has been minimized.

Copy link Quote reply

ominusliticus commented Mar 28, 2021 •

I seem to be having the issue:

I called the file test.cpp instead of main.cpp

This comment has been minimized.

Copy link Quote reply

bhavik-knight commented Mar 31, 2021

#include
is the correct header to include @ominusliticus

This comment has been minimized.

Copy link Quote reply

LinuxRocks2000 commented May 4, 2021 •

Installed everything following this tutorial, when I compile a glew/GLFW project it works but upon running it gives Assertion `tls->posix.allocated == GLFW_TRUE’ failed and aborts. Is this a quirk of my operating system (Kubuntu 20.04), or do I need to install compatibility libraries?

This comment has been minimized.

Copy link Quote reply

GithungoIan commented Jun 6, 2021

Thanks a lot this was very much helpful I was able to create my first window and draw a Polygon. I am running Ubuntu 20.04

This comment has been minimized.

Copy link Quote reply

Yvn919 commented Jun 22, 2021

I have a hello world windows and that is black and a white triangle . is this normal ?

This comment has been minimized.

Copy link Quote reply

EvanNibbe commented Jul 9, 2021

Dude, you are a lifesaver, this is the first time I have ever made C++ code create a pop-up graphical item!

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

Оцените статью