Обход регресии для MESA R600 NIR->TGSI
Имея у себя в системе версию MESA близкую к 22.2.4, вы можете получить в некоторых приложениях графические артефакты или полную неработоспособность графики, при этом всё иное будет функционировать нормально.
Одной из причин может быть регрессия бекенда TGSI. Если в более ранних версиях MESA шейдеры OpenGL транслировались напрямую — GLSL->TGSI, то сейчас это происходит как GLSL->NIR->TGSI, что может привести к сломанной графике в приложениях. Начиная с версии MESA 23.3 TGSI будет полностью удалён и останется только NIR, проблема ретрансляции GLSL должна будет исчезнуть, а вместе с ней и проблемы с графикой.
Тем не менее, в случае возникновения внезапных артефактов или подобного и в случае появления в сообщениях программы, запущенной через терминал, чего-то вроде
EE ../src/gallium/drivers/r600/r600_state_common.c:961 r600_shader_select - Failed to build shader variant (type=1) -1
прежде чем искать ошибку в оборудовании или конечной программе, попробуйте использовать переменную окружения export R600_DEBUG=nir с заданным бекендом NIR по умолчанию.
И противоположная ситуация: в случае проблем с NIR, а они имеют место быть, попробуйте использовать бекенд TGSI, пока это представляется возможным, через export R600_DEBUG=use_tgsi.
Подробности в багтрекере MESA:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/7780