SUMMARY Apple has deprecated OpenGL support for the Mac OS X platform and the API is no longer supported. Although still functional, it may cease to be included in future releases of the operating system. This bug is to report this change and advise implementation of the Metal API for continued support of Krita on the OS X platform. Please refer to Apple's note in the OpenGL programming guide: "Important OpenGL was deprecated in macOS 10.14. To create high-performance code on GPUs, use the Metal framework instead." https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/opengl_intro/opengl_intro.html They refer developers to use the Metal API referenced here: https://developer.apple.com/metal/ Additional information regarding Apple's deprecation warning: "Deprecations Periodically, Apple adds deprecation macros to APIs to indicate that those APIs should no longer be used in active development. When a deprecation occurs, itβs not an immediate end of life for the specified API. Instead, it is the beginning of a grace period for transitioning from that API and to newer and more modern replacements. Deprecated APIs typically remain present and usable in the system for a reasonable time past the release in which they were deprecated. However, active development on them ceases, and the APIs receive only minor changes to accommodate security patches or to fix other critical bugs. Deprecated APIs may be removed entirely from a future version of the operating system. As a developer, avoid using deprecated APIs in your code as soon as possible. At a minimum, new code you write should never use deprecated APIs. And if your existing code uses deprecated APIs, update that code as soon as possible." Reference: https://developer.apple.com/macos/whats-new/ STEPS TO REPRODUCE 1. Open Krita 2. Go to menu Krita->Preferences->Display OBSERVED RESULT Observe Canvas Graphics Acceleration option Renderer lists OpenGL and Metal is not an option. EXPECTED RESULT Metal is an available graphics acceleration renderer option SOFTWARE VERSIONS Krita Version: 4.1.5 Qt Version (compiled): 5.11.1 Version (loaded): 5.11.1 OS Information Build ABI: x86_64-little_endian-lp64 Build CPU: x86_64 CPU: x86_64 Kernel Type: darwin Kernel Version: 18.0.0 Pretty Productname: macOS 10.14 Product Type: osx Product Version: 10.14 OpenGL Info **OpenGL not initialized** ADDITIONAL INFORMATION
I'm pretty firmly convinced we'd drop support for macOS sooner than start supporting a proprietary, walled-garden type of API like Metal. Apple should have gone with Vulkan, but they decided they wanted to lock in developers on their platform instead. If the Angle project starts supporting Metal or if there appears another opengl->angle translation layer that we could use, we would use that. Even if someone would turn up and start coding support for Metal, I would still hesitate because then we would have to maintain that code.