Почему обычные оверлеи ломаются в Linux OBS
Два конкретных бага, из-за которых красивый оверлей с чужого сайта у тебя не заводится. Оба ловил руками.
У Browser Source в Linux нет GPU
В Linux-сборке OBS браузерный источник не получает аппаратное ускорение. getContext('webgl') возвращает null, и тумблер ускорения в настройках не помогает ни на AMD, ни на Nvidia, ни на Intel. Любой оверлей, нарисованный шейдерами, показывает чёрный прямоугольник.
Поэтому в Backdrops WebGL запрещён на уровне правила проекта. Вся графика - canvas 2D и CSS, детерминированно. Никаких «если WebGL есть, то шейдер, а если нет, то попроще»: два разных результата на разных машинах - это уже не одинаковая картинка, а лотерея. Один код, один результат везде.
CEF в Linux OBS молча игнорирует <audio>
Вызов HTMLAudioElement.play() проходит без ошибки и без звука - в микшере ровный ноль (баги obs-browser #282 и #479). Из-за этого TTS-оверлеи и звуковые алерты на Linux просто немые, и по логам не видно, что что-то не так.
Лечится сменой пути воспроизведения: AudioContext → decodeAudioData → AudioBufferSourceNode. Web Audio OBS захватывает нормально. Так сделан озвучиватель в TwitchChat.
