Я пытаюсь выполнить некоторые игры Unity3D, которые требуют, чтобы "ядро OpenGL представило 3.2 или позже для рендерера Ядра OpenGL" (согласно собственному выводу игр).
Насколько я знаю, у меня есть OpenGL 3.3. Однако мой glxinfo
вывод очень, очень сбивающий с толку:
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.2.0-devel
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.2.0-devel
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.2.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
Так, у меня есть "Базовая версия профиля" 3.3 (больше, чем требуется Unity3D), но моя "версия" 3.1? Почему это, и что я могу делать с этим?
У меня есть Intel Core i5-3320M, и использую Мезаструктуру 18.2 с i915 драйвером.
Базовая версия профиля - то, какую версию GL можно использовать на карте с драйверами. Это - то, что действительно имеет значение, обычно.
Строка версии OpenGL можно просто проигнорировать. Это - разделять версия профиля.
Однако конкретный вопрос, который Вы имеете, кажется, что Ваша система на самом деле использует llvmpipe рендерер, а не аппаратное ускорение для Вашего фактического GPU. Значение строки поставщика должно быть, что-то как Intel Open Source Technology Center с рендерером представляет что-то в виде строки как Мезаструктура Мобильный DRI Intel(R) Ivybridge. Вы, возможно, должны удостовериться, что Вы имеете intel-microcode
пакет установлен.
Оказывается, что это происходило из-за цепочки ошибок в процессе обновления Ubuntu 18.04.
Ошибка 1, Ошибка 2 и Ошибка 3 вызвала любую систему с libegl
отступить к llvmpipe
- рендеринг программного обеспечения.
libegl
, в свою очередь, был неправильно установлен в системах, которым не был нужен он, из-за libnvidia-gl-390
в зависимости от него.
libnvidia-gl-390
неправильно требовался во многих системах. Удаление его устраняет эту проблему.