You just reminded me of jwz’s portability efforts to keep XScreenSaver from being rewritten from scratch™ in the newest fad every time it comes around. He literally implemented X11 on top of Cocoa on top of UIKit on top of OpenGL on top of OpenGL ES just so that his hacks can still run. Though I wonder what will happen when Vulkan becomes the substrate API.
Good for him. Each to their own. That said, those hacks must be legendary for him to go to those lengths. Frankly I'm surprised xscreensaver is still around given all the various changes to window managers.
I've probably still got a few machines with a locally compiled version of xscreensaver lying around.
It's also remarkable that XScreensaver has one of the most stable DPMS implementations around.
Most screensavers and lockers lock-up the system while trying to switch the screen to low power mode on my PC but, XScreensaver works reliably. DisplayPort connection on nVidia cards is a pain point.
I think I just have one machine that still runs it, but I like xscreensaver and glad it's still around. It has a huge selection of screen savers, more than most other desktop environments, and they were all so cool!
OpenGL is probably going to be around forever, there's just too much stuff written around it that has 0 benefit from being completely rewritten in Vulkan. What is going to probably happen is that native OpenGL drivers will stop being developed as soon as implementations on top of Vulkan such as Zink become stable and competitive. After all, the fact that modern APIs such as DX12 and Vulkan are so low level has made reimplementing older, clunky APIs such as OpenGL and DX11 on top of them not only possible, but pretty much doable (see DXVK for instance).
OpenGL proper (not ES) wont go anywhere for at least the next 3-4 decades - there is way too much software written against it and keep getting written against it for it disappear. At worst, it will be reimplemented on top of something else (be it Vulkan or whatever), but this will be transparent to the applications using it.
Now if he wants to port XScreenSaver to a platform that doesn't have support for either OpenGL or OpenGL ES, my guess is that he'll write a wrapper.
OpenGL ES will need to be supported in some form for a long time to come because of WebGL, and perhaps existing Android and iOS games (depends how willing Google and Apple are to break backwards compatibility…). If not through native driver support, through ANGLE.
WebGL is a different beast from OpenGL ES, it doesn't require OpenGL ES's presence and can be implemented on top of any other 3D API that provides the necessary functionality (same with OpenGL and OpenGL ES of course).
FWIW i'd expect OpenGL on the desktop to exist for far longer than OpenGL ES on Android and iOS since the latter two do not put as much emphasis on backwards compatibility. Of course this wont stop others from implementing it, but that only helps when you have the source code and want to recompile an application - it wont help existing applications to keep working.