macOS 15.8.2 ломает OpenGL: окна приложений остаются пустыми
macOS 15.8.2 Breaks OpenGL
После обновления до macOS 15.8.2 (24H219) любой OpenGL-контекст, привязанный к окну, теряет drawable: NSOpenGLView и -[NSOpenGLContext setView:] рисуют пустое окно, glCheckFramebufferStatus возвращает 0x8219, а ядро пишет «Invalid surface ID». Offscreen FBO и CAOpenGLLayer работают. Проблема воспроизводится на M1, M4, M4 Pro и M4 Max, в том числе в kitty, Alacritty, Godot, Bambu Studio, FreeCAD и PrusaSlicer; в RC 2 (24H225) баг сохраняется.
Только путь через поверхность окна сломан.
- Aurornis
15.8.2 ещё не выпущена.
Это отчёт с форума разработчиков, где люди должны сообщать о таких багах.
Второй ответ в ветке — инженер Apple, который подтверждает баг, присваивает ему номер и просит человека перепроверить, когда появятся новые сборки.
Если читать только комментарии здесь, сложится совершенно другое впечатление о том, что происходит.
- mosura
Общее падение качества софта Apple, похоже, ускоряется. Мы на стадии тысячи бумажных порезов, когда куча мелких вещей просто не работает как надо.
Один из моих Mac приобрёл самую безумную привычку терять возможность вывода звука, а затем пытается направить его на другое устройство — функция, о существовании которой я даже не знал.
- ryandrake
Печально, но неудивительно. Apple пометила свою подсистему OpenGL как устаревшую ещё в 2018 году с macOS 10.14 Mojave и iOS 12. Каким-то чудом она всё это время продолжала работать. Мне ненавистно, что Apple может просто взять и объявить широко используемый кроссплатформенный API «устаревшим», но это их система, не наша. Так что не стоит ожидать, что они будут заботиться или палец о палец ударят, если случайно его сломают.
- flohofwoe
Гниение в шиме OpenGL от Apple или (особенно) в склейке с оконной системой, к сожалению, действительно не редкость.
Например, самый свежий реальный баг в шиме GL от Apple, на который я наткнулся, — это то, что при копировании данных из точки привязки буфера распаковки пикселей оба способа задать смещение в исходных данных сломаны.
Подозреваю, что любая функция, не лежащая на проторенной дорожке (например, используемая горсткой легаси-приложений на GL, пусть и популярных), просто не тестируется — если тестирование вообще происходит.
PS: также личное мнение, и не связано с бардаком у Apple: просто отпустите GL, это действительно не очень хороший API для работы (по крайней мере, не с версии 2). Vulkan тоже не блещет, но хотя бы за последние пару лет он медленно начал меняться в правильном направлении, тогда как GL навсегда останется бардаком, поскольку Khronos тоже забросил этот API — а на устройствах Apple Metal явно лучший (и гораздо приятнее в работе) выбор по сравнению и с GL, и с Vulkan.
- corysama
Кажется, хороший момент упомянуть, что обёртка Vulkan-on-Metal от LunarG недавно достигла соответствия Vulkan 1.4.
https://www.lunarg.com/the-state-of-vulkan-on-apple-oct-2026...
Теперь нам нужно, чтобы OpenGL-on-Vulkan от Mesa был готов к продакшену при работе на KosmicKrisp
- Haunt1000
Точно, я всё ещё на 15.5. Но случайные окна приложений мерцают! МЕРЦАЮТ! И это совершенно новый MacBook Air M4 2025 года. Я бы ожидал такого от Linux где-нибудь в 1998-м?
- 1over137
Что за чёрт. 15.8.1 — текущая, а 15.8.2 должна содержать только исправления безопасности.
- cadamsdotcom
Связанное позитивное замечание. Замечательно, что Apple всё ещё заботится о пользователях macOS 15!
Я безумно благодарен людям внутри Apple, которые продолжают выпускать патчи для macOS 15.
- potatoproduct
На macOS есть несколько очень раздражающих багов со звуком и Bluetooth. Я даже установил сторонний софт, чтобы костылём исправить один из них.
- zimpenfish
Не воспроизводится на macOS версии 26.6 (25G70) (но я не могу оставить ответ на форумах, потому что developer.apple.com сейчас меня ненавидит).
Я получаю зелёный треугольник и `hasDrawable=1 status=0x8cd5 glError=0x0`, что и является ожидаемым результатом.