Принудительный программный рендеринг OpenGL

11

Как я могу заставить приложение использовать программный рендеринг opengl в Ubuntu?

Бобби
источник
О каком (виде) приложения мы говорим?
Бобби

Ответы:

20

Если вы используете Mesa libGL, вы можете включить рендеринг программного обеспечения навсегда, запустив:

sudo apt-get установить libgl1-mesa-swx11

Это удалит libgl1-mesa-glxаппаратно ускоренные библиотеки Mesa и установит программный рендер.

Кроме того, вы можете установить LIBGL_ALWAYS_SOFTWARE=1, что будет влиять только на программы, запущенные с этой переменной среды, а не на всю систему.

Оба эти изменения могут не сработать, если вы используете двоичные драйверы NVidia, которые поставляют свои собственные libGL.

ephemient
источник
1
Привет, где я могу установить эту переменную LIBGL_ALWAYS_SOFTWARE = ​​1? У меня обратная проблема, OpenGL всегда отображается программно, а мой ноутбук не поддерживает Unity3D для Ubuntu 15.04. У меня есть гибридная графика Intel-Nvidia.
Санти
1
libgl1-mesa-swx11 больше не заменяет libgl1-mesa-glx. Таким образом, при установке вам необходимо настроить переопределение, чтобы использовать его. Тем не менее, я рекомендую использовать программное обеспечение LLVM-Pipe для рендеринга с использованием "LIBGL_ALWAYS_SOFTWARE = ​​1". Это намного быстрее и использует преимущества более нового оборудования. Кроме того, пользователи драйверов nvidia и amd могут принудительно использовать программный конвейер mesa, если он установлен, с помощью хака ld.so для переопределения загруженной библиотеки libGL.
Роберт Вм Рудисуэли,
2
Это работает на проприетарных драйверах AMD? Есть ли простой вариант на Nvidia?
Даниэль М Гессель
Интересно, почему LIBGL_ALWAYS_SOFTWARE=1нельзя было работать с установленными драйверами NVIDIA + libgl1-mesa-glx, так как моя программа все еще связана /usr/lib/x86_64-linux-gnu/libGL.so(предоставлена libgl1-mesa-dev), а не /usr/lib/nvidia-361/libGL.so, которая, кажется, загружается dlopenMesa. Ubuntu 16.04.
Чиро Сантилли 冠状 病毒 审查 六四 事件 法轮功
1

Если речь идет о вашем собственном приложении, вы можете ссылаться на реализацию программного обеспечения OpenGL Mesa3D .

Малте Класен
источник