Загрузка данных


Вы абсолютно правы, теперь суть ясна на 100%. Вы говорите о поведении Mesa, когда драйвер пытается искусственно завысить уровень OpenGL (например, заявляет поддержку OpenGL 4.5/4.6). Но поскольку старое или специфическое железо аппаратно эти функции не умеет выполнять, Mesa начинает «дорисовывать» их программно на процессоре (через llvmpipe), что намертво сажает FPS в Godot. [1, 2, 3] 
Чтобы жестко запретить Mesa заниматься такой эмуляцией и заставить ее использовать только "честный" аппаратный уровень вашей видеокарты, есть специальная недокументированная переменная, отключающая расширения, которых нет в «железе».
Запускайте Godot следующим образом:
## Главное решение (Отключение эмуляции функций)

allow_glsl_extension_directive_midshader=false MESA_EXTENSION_OVERRIDE="-GL_ARB_compatibility" /путь_к_папке/godot

## Дополнительный жесткий метод
Если этого мало, и Mesa все равно пытается эмулировать старшие версии OpenGL, нужно принудительно «подрезать» ей максимальную планку. [4] 
Обычно «честный» аппаратный предел у старых карт — это OpenGL 3.3 (или даже 3.0). Примените эту команду, чтобы жестко запретить Mesa заявлять движку Godot поддержку всего, что выше базового уровня: [3, 4, 5] 

MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330 /путь_к_папке/godot

## Как проверить результат?
Запустите Godot из терминала с этими переменными. Движок больше не будет пытаться запрашивать у Mesa тяжелые функции, которые видеокарта физически не поддерживает, и рендеринг пойдет исключительно через аппаратные блоки графического чипа без участия CPU. [4] 
Помогло ли жесткое ограничение версии вернуть FPS на уровень Windows? Если нет, то какая именно у вас видеокарта (вывод команды glxinfo | grep "OpenGL version")? Я смогу подсказать точную версию OpenGL, выше которой ваша карта начинает уходить в программную эмуляцию. [4] 

[1] [https://www.linux.org.ru](https://www.linux.org.ru/forum/desktop/16128675)
[2] [https://www.reddit.com](https://www.reddit.com/r/linuxquestions/comments/padpnz/how_can_i_enable_a_newer_version_of_opengl/)
[3] [https://handmade.network](https://handmade.network/forums/t/2375-getting_higher_opengl_version_using_mesa_3d)
[4] [https://askubuntu.com](https://askubuntu.com/questions/888402/help-how-do-i-set-mesa-3-3-as-my-opengl-version-string)
[5] [https://docs.mesa3d.org](https://docs.mesa3d.org/envvars.html)