27 ms·
Deprecation of OpenGL and OpenCL
- shurcooL 8y agoI would be a lot more okay with this if Apple supported Vulkan, the more portable comparable API, rather than just the macOS/iOS-only Metal. I also wonder what means for WebGL and its future. Right now, WebGL works in browsers on macOS, Linux, Windows, iOS, Android, which is incredible. There is no equivalent. Sure, Apple has started working on WebGPU, but that’s not yet ready nor is it guaranteed to gain Linux, Windows, Android support.
- designcode 8y agoMetal allows for Vulkan to be implemented on top of it
- mtgx 8y agoWebGPU would gain traction if it was based on Vulkan. But it's not. However, Mozilla's Obsidian API is: https://github.com/KhronosGroup/WebGLNext-Proposals/tree/master/Obsidian-Mozilla https://github.com/KhronosGroup/WebGLNext-Proposals/tree/mas... Apple has so little to gain over Vulkan by developing its own API but so much to lose by not adopting Vulkan (gaming companies may actually prefer developing games on the cross-platform Vulkan to target macOS/iOS devices, too, at the same time, instead of using DirectX).
- aseipp 8y agoObsidian didn't manage to materialize a Khronos working group, so it's not moving forward. Apple instead went with the W3C to form the GPUWeb group, based on their work on WebGPU. The Obsidian folks at Mozilla have decided to follow this path instead, see here: https://github.com/KhronosGroup/WebGLNext-Proposals/pull/11#issuecomment-346517188 https://github.com/KhronosGroup/WebGLNext-Proposals/pull/11#... However, there's no real writeup of what the API will end up remotely looking like right now, so it's too early to speculate. WebGPU's original prototype used Metal's shading language for instance (since the prototype came from WebKit), but any real standard probably will probably change things up. I believe the webgpu-servo folks have, in the mean time, begun working on lower level components/libraries to target Vulkan/DX12/Metal, for use by systems like WebGPU. Sort of like ANGLE by the Chrome team, but for newer GFX APIs. TL;DR absolutely nothing is fleshed out at all yet and it seems plenty will probably change
- zamalek 8y ago> instead of using DirectX Maybe Nadella will push for Vulkan support on Xbox, or maybe Xbox will die off, who knows. Unless one of those happens, DirectX is not going away. As soon as consoles come into the equation, you are stuck writing a PAL (or using an existing engine that already has one) because they use proprietary APIs and that's unlikely to change. It's not ideal, but that's the reality. Apple is following the idiotic status quo, but it's not fair to single them out for it (that being said, at least Microsoft supports Vulkan and OGL on one of their platforms - but the 3rd-party driver developers are mostly responsible for the great support).
- exelius 8y agoMy bet is they spin the whole gaming division off or sell it to someone like Amazon. It’s not really a great fit anymore and IMO they need to be bolted to a company with a greater interest in the creative side of the business (i.e. running a movie/game studio) than Microsoft.
- pjmlp 8y agoThey don't have anything to loose regarding not adopting Vulkan, because all game engines that matter to professional game studios already added Metal support. Same applies to Photoshop and other relevant 2D and video editing professional tooling. Professional game studios always favored hardware specific APIs that allows them to extract all the juice up to the last drop. For example, OpenGL ES 1.0 + Cg on the PS3 was an adoption failure, with everyone adopting the PS3 specific APIs.
- rhardih 8y agoSeconded. This seems like a major step back for x-platform GPGPU. I always just assumed a natural transition from GL, CL support to Vulkan would occur at some point, but this is just a shame.
- endianswap 8y agoMoltenVK is an implementation of Vulkan that runs on top of Metal, and so far yields exciting performance results: https://www.phoronix.com/scan.php?page=news_item&px=Dota-2-Initial-Mac-Vulkan https://www.phoronix.com/scan.php?page=news_item&px=Dota-2-I...
- ksk 8y agoMaybe there is no equivalent, but WebGL is not a mature technology. Webgl stuff still breaks or has performance bugs whenever some part of the OS/Browser/GPU Driver/GPU Hardware sandwich changes. You can run the conformance tests yourself.
- adamredwoods 8y agoI don't see how a technology can get to a mature status if a major hardware company decides to not support it. The real question is WHY don't they support it? Is there a webMetal?
- ksk 8y agoAll we know is that Apple was bankrolling a portion of OpenGL development on OSX and now they feel otherwise. OpenGL ARB is a committee and Apple has only one vote. Maybe they were not satisfied with the direction the spec was going. Its certainly not an unfounded belief. >I don't see how a technology can get to a mature status if a major hardware company decides to not support it. Alternate reading - They gave it their time and money, and it didn't work out.
- SquareWheel 8y agoThere might be, but we rejected it. https://news.ycombinator.com/item?id=13593272 https://news.ycombinator.com/item?id=13593272
- lightedman 8y agoI'd be a lot more okay with this if Apple would drop the Metal moniker, as I still have a functioning Virge with MeTaL acceleration and is still in use.
- brink 8y agoCould they please pick a better name than "Metal"? I cringe at having to sort through the unwanted results when Googling issues in the future.
- vortico 8y agoLol, Metal is Mac-only which relies heavily on CoreWhatever dependencies and thus can never be cross-platform, right? The only reason any game or CAD developer even supports Mac at all is because OpenGL is a cross-platform API that works great on Windows, Mac, and Linux, so they only have to write one type of shader program, etc. No game developer in the world will write both an OpenGL/DirectX/Vulcan and Metal renderer for the purpose of staying up to date with Apple's "deprecations". If you're Pixelmator or Apple's own Final Cut team, sure, use Metal. For anyone else that wants to make a living, supporting multiple platforms is a given, so you won't pay the slightest attention to this deprecation notice.
- yAak 8y agoAt least there's this kind of thing happening: https://www.khronos.org/vulkan/portability-initiative https://www.khronos.org/vulkan/portability-initiative
- TruthSHIFT 8y agoI think they're expecting developers to use existing engines such as Unity and Unreal. Most game developers probably already use those engines are will not be effected. On the other hand, they definitely made it harder for developers to create a new game engine.
- janoc 8y agoGame engine not so much, Apple has always been an "also ran" when it came to games. Moreover, these days nobody is writing new major game engines - it is just way too expensive and difficult to justify vs. downloading Unity and starting building your game. Furthermore, games have always been something that is on the market for a year or two and then it is done for, with the developers moving on. However, where it will have major effect is availability of any professional software. Such as CAD. Mac has always been a pain in the ... platform to support because of their weird "Unix but not quite" ways of doing things and now there will be no justification to support it anymore, especially in the OSS sphere. E.g. I fully expect things like KiCAD (and also the commercial Eagle which has Mac support) PCB CAD to disappear from Mac as soon as OpenGL is removed. Nobody has resources to rewrite such software to use Apple-specific Metal. Another such project is OpenSceneGraph, a large building block for 3D visualization and simulation applications.
- deleted 8y ago[deleted]
- Analemma_ 8y agoAll things considered, I think there are some companies that are worse to the FOSS community than Apple, but I can't think of one that has Apple's degree of baldfaced cynicism to exploiting FOSS and open standards only to the degree that it benefits Apple, and then throwing them under the bus the instant they're no longer useful. Apple loved HTML5 when they had to kill Flash and get web developers to support mobile, but then as soon as it became a threat to the App Store, Safari's compliance came to a screeching halt and now Safari is in last place, even behind Microsoft's browsers, in HTML5 support. OpenGL was useful when it was a way to potentially lure people away from Windows, but as soon as Apple had the clout to not care about it and force develops onto its proprietary API, that's what happened. I almost prefer old-Microsoft's honesty about wanting to kill FOSS, rather than this blatant acknowledgement of FOSS as a tool to be ripped off to improve one's ecosystem dominance and then promptly thrown aside. Makes you wonder what's going to happen if and when Apple no longer needs Clang/LLVM, or, hell, Unix.
- dvfjsdhgfv 8y ago> I almost prefer old-Microsoft's honesty about wanting to kill FOSS, rather than this blatant acknowledgement of FOSS as a tool to be ripped off to improve one's ecosystem dominance and then promptly thrown aside. Well, to be honest, Apple has always been quite consistent here. They created their own ecosystem and made interoperability with other systems as difficult as possible, at software and hardware level. So this announcement is quite in line with that.
- xellisx 8y agoDidnt Apple steal all the code from one FOSS BSDs, closed sourced it and call it a day?
- chipotle_coyote 8y agoMac OS X is based on the closed source NextStep; in many respects, the Darwin kernel is the continuation of NextStep's kernel. A fair amount of the user space code of OS X is from FreeBSD, which to the best of my knowledge continues along merrily open source as ever. Apple actually hired one of FreeBSD's lead developers to manage their BSD technology group. And, I mean, c'mon. The move from NextStep to Darwin moved the kernel to open source. Webkit? Open source. CUPS? Still open source. Clang and LLVM and Swift? Open source, open source, open source. Apple maintains an open source page. They put stuff on GitHub. I get some of the hostility toward Apple here; they're not always good at playing with others, there have been complaints about the way they do (or don't) contribute to projects they benefit from. But the narrative that Apple hates everything open under all circumstance and is all about proprietary everything all the time just isn't supported by reality.
- mjevans 8y agoRelated to the article (but not the subject here); as a user of "dark" themes: The precise wording they use seems to indicate a view of dark themed sets as being less colorful. High contrast themes and visibility aiding limitations in theme color use have their places; so too do themes based around darker, more night time, friendly colors. Thinking of a system as having only one true theme, or of light/dark as being full / visually impaired themes is a dangerously limiting misconception.
- zeusk 8y agoWindows has done much better in this regard, even back in XP iirc.
- adamisntdead 8y agoAs someone who read this with an editor full of OpenCL kernels, I think apple must really have missed the point of these sort of frameworks - heterogeneous computing. If I wanted the best possible speed, latest features ect. I would write multiple back ends in things like CUDA. I choose OpenCL because I can develop code on my Macbook pro, and run that on a computer with a discrete GPU on a different operating system, and have a fair amount of confidence that it would work. :/
- ksk 8y ago>because I can develop code on my Macbook pro, and run that on a computer with a discrete GPU on a different operating system, and have a fair amount of confidence that it would work. I'm not an OpenCL programmer by trade, but I have dabbled in it (Wrote an AES decrypter in OpenCL) and I have never found this proposition to be true.
- Athas 8y agoAgreed, I am in a similar situation. This is very sad. Also, while OpenCL is a bit verbose to interact with directly, Vulkan compute shaders are much much worse. I realise that at some point I will have to start using it, but I'm not looking forward it.
- w-m 8y ago> I choose OpenCL because I can develop code on my Macbook pro, and run that on a computer with a discrete GPU on a different operating system, and have a fair amount of confidence that it would work. That was the promise, but it never became reality. When writing kernels for real-world applications, OpenCL breaks down in numerous ways. The result is usually neither stable, nor portable, nor fast and a pain to work with. There was never OpenCL support for 3rd party developers on iOS. You say you are writing OpenCL kernels on a MBP and they are portable, maybe you got lucky? Lots of comments I see on the deprecation on OpenCL seem to come from people who like the idea of having OpenCL (and its promises, which are awesome), but never had the awful experience of actually working with it. I remember the open letter from the Blender developers on the sad state of OpenCL support on Mac (http://preta3d.com/os-x-users-unite/ http://preta3d.com/os-x-users-unite/) from 2015. Some GPU vendors (AMD, Intel and Qualcomm) continued to put resources to better OpenCL support over the last couple years, but maybe too little, too late? It seems at least Apple had already given up on OpenCL by the time of this letter (and moved their resources completely to Metal), as nothing new has happened for OpenCL since then. I'd prefer if we had a working OpenCL on many platforms. As we don't, especially not on Apple platforms, the step of deprecating it is regrettable, but at least honest.
- deleted 8y ago[deleted]
- moocowtruck 8y agosay wuuuuuuuuuuuuuuuuuuuuuuuuuuuut
- seba_dos1 8y agohttps://news.ycombinator.com/item?id=17231593 https://news.ycombinator.com/item?id=17231593 Also, https://news.ycombinator.com/item?id=17231120 https://news.ycombinator.com/item?id=17231120
- goalieca 8y agoOpenGL sure.. it's time to die. Replaced with vulkan it has been. Oh wait.. vulkan? uhmmm.. metal you mean to say.
- DiThi 8y agoWell, at least MoltenVK is completely open source now (Apache 2 license). https://github.com/KhronosGroup/MoltenVK https://github.com/KhronosGroup/MoltenVK So yes, Vulkan is kind of the universal graphics API now.
- fabian2k 8y agoOpenGL isn't pretty, but it's at least cross-platform. And my impression was that OpenGL support is mostly handled by the GPU manufacturers, so I'm not sure how much Apple gains here by deprecating OpenGL. Requiring developers to use an API locked to a particular platform feels pretty hostile to me. Doesn't matter if that API isn't perfect, or even far from it.
- pavanky 8y agoI mean it wouldnt be that big of a problem if they adopted Vulkan, but they are pushing Metal :-/
- coldtea 8y ago>Requiring developers to use an API locked to a particular platform feels pretty hostile to me. So like DirectX?
- larsiusprime 8y agoI sure hate it when Microsoft does it, but at least they have market share. Who wants to support Metal just to target the Mac? And last I checked I have the choice of OpenGL and Vulkan on Windows because these days MS doesn't control the hardware stack from top to bottom on their software platform.
- coldtea 8y ago>I sure hate it when Microsoft does it, but at least they have market share. Who wants to support Metal just to target the Mac? Plenty of big 3D/CAD/etc players? In lots of creative areas, the Mac dominates still (despite stories about people moving to Windows nobody's going anywhere, where nobody = quite few creatives overall). Besides, with Metal they'll target iOS as well, and that's a huge platform, and where most of the profits are for mobile.
- janoc 8y agoCAD on Mac is pretty much non-existent, as is any professional 3D market - the market share isn't there, the hardware support is terrible, so few major players bother with supporting Macs. All this stuff is either Windows (CAD) or Linux (3D simulation, visualization) these days. And with this deprecation Mac is pretty much dead as a platform for professional 3D.
- seba_dos1 8y agoI suppose it got flagged as a dupe due to duplicated URL. However, I believe it shouldn't be - "what's new in macOS" is completely uninteresting to me, while deprecation of OpenGL and OpenCL is a big news.
- Unknoob 8y agoAren't most of the games on MacOS running on OpenGL? This is going to kill all the older titles that are not maintained anymore. Terrible move just to push Metal down people throats. As if MacOS gaming wasn't dead enough.
- dgellow 8y agoThat’s a really worrying point, yes. Mac users can say goodbye to the majority of our steam library.
- rbanffy 8y agoIt will take a couple more releases for it to stop working.
- adamredwoods 8y agoApple releases about once a year, so two years before I am forced to switch to a PC?
- sparky_ 8y agoI would be surprised if it disappears entirely. More likely some third-party hero (or perhaps Apple themselves) will spin off their GL implementation as a separate package - see XQuartz.
- 8y ago
- _bxg1 8y agoUgggggh. As if graphics support on macOS weren't middling enough already. It's like they're trying to become as irrelevant as possible in that area. I could understand if they were deprecating it in favor of Vulkan. That would be in-line with Apple's history of aggressively pushing forward new standards. But by no means do they have the clout to coerce developers into their own bespoke graphics API that doesn't work anywhere else. All they'll accomplish is further killing off the already-small presence they have in the gaming space.
- coldtea 8y ago>All they'll accomplish is further killing off the already-small presence they have in the gaming space. In the AAA game space you mean. Else, in the casual gaming space, iOS is perhaps the most popular platform -- and the new integration effort means all those games will be able to run on macOS as well soon.
- stuaxo 8y agoSure, but this makes it a right pain in the arse to bring over apps from other platforms.
- mikenew 8y agoAnd those games are horrible. Almost all of them are built around exploiting weaknesses in the human psyche to convince people to spend money and become addicted. The biggest difference between those games and gambling is that you don't carry a slot machine in your pocket. For the most part the only exceptions to that are the games that were ported from desktop.
- coldtea 8y ago>And those games are horrible. They work fine for me -- both as implementation and as gameplay. >Almost all of them are built around exploiting weaknesses in the human psyche to convince people to spend money and become addicted. I think you confused casual gaming with Zynga or something. I was referring to smaller, non-AAA megatitles. Could be anything from a platform game, to Angry Birds, Monument Valley, Threes, Letterpress, racing games, RPGs and so on...
- Philipp__ 8y agoWhat the fuck?! I don’t get it, why?! They want us to focus on Metal? I definitely need to but desktop now, plus I want CUDA! Ryzen 5 2600X with GTX1070 and I’m done.
- mdanger007 8y agoGot a caller on hold, says his name is The Future. He wants to talk to you about Metal Framework.
- deleted 8y ago[deleted]
- vortico 8y agoDoes anyone know if Apple actually intends to remove OpenGL drivers at any point, and if so, when?
- Keyframe 8y agoTurns out it was a good idea to base new stuff on this: https://github.com/bkaradzic/bgfx https://github.com/bkaradzic/bgfx
- rafaelvasco 8y agoYeah, using things like that is the way to go.
- CocoaGeek 8y agoGreat ... just when I was going to use openCL .. :(
- bingoboingo33 8y agoVery much in line with Apple's way of doing things. God forbid they'd adopt some sort of open standard - even though they've hugely benefited from them.
- dionian 8y agodid you also complain when they adopted USB-C
- tobyhinloopen 8y agoYes, when they decided to drop all other ports AND their iphones still don’t have USB-C, so you cant use iOS headphones on your mac, and you cannot charge or sync via the default cable on your mac. Nobody has USB-C stuff everything. Every owner is using a collection of dongles and it is absolutely stupid. The OLED bar is also stupid. I just hope my 2015 macbook never gets obsolete because I dislike the newer ones... and yes, I owned one, and I sold t after 2 weeks and got my 2015 back
- busterarm 8y agoAnd if you use a USB-C device in the back left port on a 4-port 15", there's a good chance your MBP will fry it! Oh standards!
- jonhendry18 8y ago"God forbid they'd adopt some sort of open standard " They did, when they adopted OpenGL and OpenCL. Years ago. Apparently they've decided that those have outlived their usefulness.
- bingoboingo33 8y ago"They did, when they adopted OpenGL" Yes, and this was so much against their DNA that it required the chutzpah of a Carmack to get the Apple's CEO to implement the decision. Apple is and has always been a strict leech on open ecosystems. They try to build closed proprietary stuff first to lock you to the platform, and when what they build is bested by OpenSource, embrace it and move on to the next opportunity. They did the exact same thing with BSD: grab a beautiful piece of OpenSource tech, bolt on a metric ton of proprietary closed source tech on top of it, and call the whole thing open source to get love and applause from the OSS crowd. Techies are essentially a gullible bunch. Source: https://news.ycombinator.com/item?id=17066846 https://news.ycombinator.com/item?id=17066846
- chipotle_coyote 8y agoWhile this is startling, it seems pretty consistent with Apple's modus operandi in a lot of areas -- leap forward to where they think the industry is going and hope they're right. OpenGL is effectively being deprecated by its own developers in favor of Vulkan, which has an open source implementation for macOS and iOS, developed in part by Valve, built on top of Metal: https://store.steampowered.com/news/37575/ https://store.steampowered.com/news/37575/ If game developers -- and game engine developers -- targeting OpenGL now are in the process of moving to target Vulkan, and if MoltenVK ends up offering better performance on macOS than Apple's legendarily anemic OpenGL stack, isn't this likely to be better in the long run despite the short-term pain?
- chabsf 8y agoOpenGL is "learnable" by someone in the process of learning. Vulkan and Metal are much less approachable. This will put a huge damper on low-level graphics programming as a hobby.
- Brakenshire 8y agoThey need a new more developer-friendly API built on top of Vulkan as a replacement for OpenGL.
- tzahola 8y agoThen you could just use one of the existing engines like Unity.
- drb91 8y agoPretty sure Unity is more heavyweight than a few hundred kilobytes of a library. It also doesn't come installed on my machine.
- pjmlp 8y agoDepending on the project type, the final release package can be just a few hundred KB, like they do when targeting WebAssembly. OpenGL also does not come installed on my machine.
- shmerl 8y agoAnd didn't implement Vulkan either. Typical Apple.
- therealmarv 8y agocongrats, that's as cool as DirectX from a developer perspective.
- kraig911 8y agoThe wall just got 10 feet higher. I can't find any info though on webGL.... anyone find anything? Apparently iOS is getting hosed too
- deleted 8y ago[deleted]
- tobyhinloopen 8y agoWell most games using OpenGL run like crap anyway on macOS. The Windows version alwys runs better in Windows via Bootcamp. Maybe the forced Metal usage (however shitty it is to remove support for an open standard) will increase macOS ports of games. But in reality, 50% games will still be a wine bottle
- himom 8y agoThis is bad: a hobbyist will be faced with a huge burden to bring anything 3D cross-platform to their audience. In the past, it was possible to use Qt or a nasty GLU/GLUT wrapper to write portable code. Way back in 2006, in CS175, we implemented almost all of the core 1.5 pipeline in C++. Software OpenGL implementations may not be the fastest, but they’re more or less trivial (quaternions, trapezoid-based triangle engine, painters algorithm, z-buffering, texture mapping, bump-mapping, lighting and various shading models), and therefore accelerate-able with CPU and GPGPU SIMD ops.
- pjmlp 8y agoThat hobbyist can still use Qt, because nowadays they support multiple graphical backends.
- slavik81 8y agoQt supports multiple backends for its own rendering, but the hobbyists will still have to rewrite their rendering code to support that new backend. For a lot of my programs, that's about equivalent to rewriting in another language.
- pjmlp 8y agoNot when the hobbyists took the right approach to use the Qt 3D APIs, like the new scene graph API. Also there is no harm in learning to write modular graphics engines with multiple backends, hobbits get to learn how professionals do it. Finally, if it is just a hobby, then what hobbyists can do best to improve productivity is to use whatever their OS offers out of the box.
- megaman22 8y agoI got a small kick out of the typo, with hobbits learning to write graphics engines. No doubt between second breakfast and elevensies
- 8y ago
- patrickg_zill 8y agoTo me this signals that the Second Moribundity of Apple is nigh. The First Moribundity was the period in the 1990s when Apple was coasting on the DTP and Photoshop advantage over Windows they had, reducing the features of their desktops and not innovating. Schindler, a smart but ineffective leader, was replaced by Gil Amelio, a star in his prior field but unable to get Apple headed in the right direction. It took Jobs' return to right the ship that time. The emphasis on thin but less functional and less serviceable laptops, the dropping of OpenGL, the cruft piling on top of OS X to no new net benefit for users, and their coasting on the desktop market all point to this IMHO.
- exelius 8y agoEveryone is coasting in the desktop / laptop market. Refresh cycles are like 5-10 years on PCs now, and it’s not clear tablets even have a refresh cycle. You can’t get growth on PC hardware anymore, not even if you’re Apple. So it goes into maintenance mode. Nobody even really sells desktop PCs anymore except custom gaming rigs and low-power kiosk boxes. Apple is all about mobile phones, the Apple Watch and air pods right now. The MacBook is barely a blip on their product radar.
- jrs95 8y agoI disagree, I think Apple is still rather committed to the Mac even if it is no longer their #1 priority. Even if it's a small part of their profits, it's a big source of the strength of their brand (visually speaking, a Mac stands out against a PC far more than an iPhone stands out against any other smartphone), and that's something that's crucial for all of their products. Bad press about the Mac damages the brand, and if they don't continue to put out a good product (and correct their recent mistakes) they are going to keep getting bad press. I would argue that the Watch and Air Pods are more in the category of the Apple TV than they are the iPhone, because they're just a means of pushing up the average value of each iPhone customer. The Mac both does this and serves as a "halo" which is crucial even if it's less profitable. Honda certainly isn't making much money on NSX sales but that doesn't mean it's not still vital for them to produce it just for the sake of the brand (although I admit that's a bit of an extreme example).
- Jyaif 8y agoOh those mother fuckers. Can't believe I'll actually have to switch to windows to develop my OpenGL/WebGL games.
- outworlder 8y agoThis is a problem that is entirely of Apple's own doing. Microsoft could not care less about OpenGL on Windows. However, it works just fine. You know why? As soon as you install your video card drivers, your OpenGL implementation is no longer from Microsoft. It comes from AMD, NVidia or Intel, with all needed optimizations for their hardware. Apple insisted in not allowing this and doing the OpenGL implementation themselves (which was always crappy and outdated). Had they allowed the GPU vendors the ability to provide their own implementation, this would have been a non issue.
- GeekyBear 8y agoWhat makes you think that Apple refuses to allow GPU vendors to provide an OpenGL implementation? The real question is why would a GPU vendor go through the expense of creating and supporting such an implementation when Apple doesn't even make a computer with slots that you can install their video cards into? If producing an OpenGL implementation doesn't provide a competitive advantage for selling their products, why would they bother?
- outworlder 8y ago> What makes you think that Apple refuses to allow GPU vendors to provide an OpenGL implementation? Because it is a fact that Apple develops their own drivers. Also, when did you last download a driver update from NVidia for your Mac? https://arstechnica.com/gadgets/2018/02/vulkan-is-coming-to-macos-ios-but-no-thanks-to-apple/ https://arstechnica.com/gadgets/2018/02/vulkan-is-coming-to-... Article is about Vulkan, but briefly mention Apple's own outdated OpenGL stack. http://renderingpipeline.com/2012/04/sad-state-of-opengl-on-macos-x/ http://renderingpipeline.com/2012/04/sad-state-of-opengl-on-... From 2012. Which means it is still accurate, given how out of date drivers are. There are more references, you can look it up. > The real question is why would a GPU vendor go through the expense of creating and supporting such an implementation when Apple doesn't even make a computer with slots that you can install their video cards into? They still have GPUs, which can be Intel, AMD or NVidia depending on year and model. Just because they are soldered on, doesn't mean they don't need drivers. EDIT: Some more research seems to indicate that there are drivers developed by NVidia for the NVidia Quadro GPU line.
- adamredwoods 8y agoMy question, is it possible to create an openGL/webGL emulation layer over Metal?
- falsedan 8y agoSome comments addressed MoltenVK and MoltenGL https://news.ycombinator.com/item?id=17232868 https://news.ycombinator.com/item?id=17232868
- davrosthedalek 8y agoIf this means that macOS will lose opengl support even for X11 apps, a substantial part of academia will switch away from Apple. It's highly unlikely that software like ROOT or geant4 will ever get ported to something else.
- mankash666 8y agoThe classic "Fuck Off" hubris from Apple. Their B.S. is getting out of hand. List of gripes: 1. Heavy handed regulation of app store: This needs intervention from regulatory authorities. Apple has successfully inserted itself between the consumer and producer of apps. It plays kingmaker, and very clearly promotes internal apps to the competition (recent ban of the Steam app is a prime example). It's only legal recourse stems from being ~17% of the mobile hardware market, but from a paid-app developer's perspective, not being on the app-store is a definitive death-knell. It's a clear monopoly in the 'paid-app' space, and others are arguing a monopoly classification on other grounds [1][2] 2. Unreasonable restrictions placed on approved apps - like disallowing non-webkit based browser engines. Restricting API access though user security isn't compromised (dlopen, webgl-2, opencl, vulkan, etc). Restrictions designed to choke-hold potential competitors & restrict user choice 3. Forced licensing of hardware parts for accessory makers (look up the Apple MFI program) 4. Purposeful non-conformance towards industry standards (like OpenGl, Vulkan, WebGl, many, many holes in open-wen compliance). This non-conformance is steeped in monopolistic, unfair-trade-practices psychology to maintain absolute, unfair control over any potential competition. I hope France fucks them for purposefully slowing down older iPhones/iPads. And hope the FTC, EU regulatory authorities pay heed to app-developers (and consumers) getting shafted by a beast of a corporation. [1]: http://www.businessinsider.com/apple-monopoly-ubs-steven-milunovich-2017-3 http://www.businessinsider.com/apple-monopoly-ubs-steven-mil... [2]: https://www.pcworld.com/article/3157551/mobile/apple-must-face-claims-of-monopoly-in-iphone-app-market.html https://www.pcworld.com/article/3157551/mobile/apple-must-fa...
- SXX 8y agoEverything on that list is relevant, but please keep in mind that banning custom browser engines isn't particularly bad thing for everyone. Of course Apple doing it to force web developers to keep supporting Safari since no one can simply expect iOS users to install Chrome, but it's also benefit open web greatly since it's preserve status quo that we have more than just one browser engine. The day Apple stop doing it would be the day web developers going to abandon support for Firefox too.
- ozten 8y ago
- spullara 8y agoVulkan on Metal is already faster than OpenGL so this is a non-story. If you want cross-platform support use Vulkan, if you want ultimate performance target DirectX and Metal.
- GeekyBear 8y agoThis is not the least bit surprising. As one of the creators of Direct X at Microsoft commented when Metal was first announced, "Why help Android siphon off their game developers by propping up OpenGL?" https://web.archive.org/web/20140606055700/http://www.alexstjohn.com/WP/2014/06/03/apple-ditching-opengl/ https://web.archive.org/web/20140606055700/http://www.alexst...
- brightball 8y agoI feel better about moving to Mint every day.
- kilon 8y agoApple killed Flash and now they kill OpenGL. Both incredibly crappy technologies that survived for so long because of their popularity. Nowadays Unreal Engine fill the role very well and can sit on top of any platform easily. Popularity wise , together with Unity have completely destroyed both Metal and OpenGL. Vulkan , stands no chance too. Unreal Engine is also open source and very easy to extend because of Blueprints. Unlike OpenGL , is not a C API trying to shoehorn itself into a C++ dominated world. I have to use OpenGL 3.3 and I am amazed how badly designed it is. A brief look into Vulkan made even less sense. I don’t agree with everything Apple does but killing Flash and OpenGL is two of my favorites. My only complain is that they have not done it as aggressively as they did with Flash. If they manage to kill JavaScript and HTML/CSS abominations I will become a hardcore Apple fan.
- rock_hard 8y agoUnreal and Unity are 3D engines, OpenGL is a API on top of the graphics card driver much like Direct3D...they are both very different things! Unity and Unreal engines are both built on top of APIs such as OpenGL and Direct3D
- kilon 8y agoNo they are not , they are both APIs. The fact they run on top of drivers is nothing impressive if anything they make a tiny fraction of the APIs Unreal depends on because it’s so much more than a 3D Engine. Unreal runs on top of Vulkan and could also replace both Vulkan and GPU drivers. API dependence is nothing special and hardly makes something so different. There is no limitation on how low level Unreal can go.
- unique_parrot2 8y agopython, bash, opengl :( Scientists just want to use it! (as of high sierra python 2.7, bash 3.2, ....) New thing: DARK THEME, YES, OMG :( Is apple holding the future back???? Where is the innovation?
- unique_parrot2 8y agotar (bsdtar) apple: v2.8, current 3.2 feel free to continue...
- IvanK_net 8y agoMetal is a nice low-level API and you can have a tiny (<1MB) library, that can efficiently emulate modern OpenGL on top of Metal. E.g. for WebGL purposes, all web browsers on Windows emulate OpenGL on top of Microsoft DirectX.
- denji 8y agoOpenCL -> Cross-vendor ROCm & Portable CUDA/HC via HIP - https://github.com/ROCm-Developer-Tools/HIP https://github.com/ROCm-Developer-Tools/HIP - https://github.com/RadeonOpenCompute/ROCm https://github.com/RadeonOpenCompute/ROCm "CUDA/HC Portable with HIP", "Microsoft C++AMP", "Apple/Khronos OpenCL": https://github.com/ROCm-Developer-Tools/HIP/blob/roc-1.8.x/docs/markdown/hip_terms.md https://github.com/ROCm-Developer-Tools/HIP/blob/roc-1.8.x/d...
- Sir_Cmpwn 8y agoGo fuck yourself, Apple. The only thing this is doing is driving devs off your platform.
- sbr464 8y agoDoes this affect WebGL?
- rafaelvasco 8y agoAt this state if i'm coding a game engine and want HWA graphics in all platforms i'm better of using middleware/user level frameworks like BGFX, GFX-RS etc, that abstract away D3D, Metal and Vulkan. Best choice. All that time learning OpenGL will not go to waste completely.
- krzbrg 8y agoWhat does this mean in practice for macOS users? Asking because I am not familiar with these libraries.
- bananaboy 8y agoNote that they're also deprecating OpenGL ES on iOS: https://developer.apple.com/ios/whats-new/#deprecationofopengles https://developer.apple.com/ios/whats-new/#deprecationofopen...
- Animats 8y agoMicrosoft deprecated OpenGL back in Windows Vista over a decade ago. They still have to support it, because many major packages didn't switch to Direct-X.
- pjmlp 8y agoThey don't support OpenGL at all, they tolerate it via ICD driver model, which isn't supported in the store app containers.
- hinkley 8y agoHow does this affect Valve and Blizzard?
- Phylter 8y agoI think it’s a great idea to alienate developers from every other operating system out there and ensure that great effort is needed to maintain and port apps from other platforms. This is what we expect from Apple anyway, right? Who’s going to start working on an OpenGL to Metal wrapper?
- rixrax 8y agoI just recently bumped to John Carmacks stories about Steve Jobs, among which he convinces him to adopt OpenGL[1] (HN commentary [2]). Thought this might be an appropriate historic reference here as OpenGL now appears to be on it's way out on MacOS. [1] https://m.facebook.com/permalink.php?story_fbid=2146412825593223&id=100006735798590 https://m.facebook.com/permalink.php?story_fbid=214641282559... [2] https://news.ycombinator.com/item?id=17066846 https://news.ycombinator.com/item?id=17066846
- kayoone 8y agoI too thought about this as Carmack mentioned that he believes it was one of his most important achievements that Apple adopted OpenGL back in the day.
- Ono-Sendai 8y agoVery disappointed about the deprecation of OpenCL. We use it to achieve cross-platform GPU compute usage (Windows, Linux, Mac). Dropping OpenCL is not going to encourage developers to target the Mac for such software as ours.
- yani 8y agoEveryone is blaming Microsoft for acquiring GitHub. Apple chose the right time to deprecate OpenGL in favor of Metal. Sneaky
- beefsack 8y agoWould it be correct to assume that swathes of old games will just stop working when 10.14 arrives? I'm not a MacOS user, but as a gamer that would frustrate the hell out of me.
- abowlofpetunias 8y ago"Apps built using OpenGL and OpenCL will continue to run in macOS 10.14, but these legacy technologies are deprecated in macOS 10.14." Should be okay for now.
- FraKtus 8y agoAnd that is also the final push for Quartz Composer...
- sitkack 8y agoThe Bureau of Compatibility should demand that all major platforms support Vulkan or have their tax loopholes closed.
- slentprog 8y agoWe got dark made in return.
- yoz-y 8y agoThere is one thing I do not really understand about this. nVidia releases a macOS driver here http://www.nvidia.com/download/driverResults.aspx/73628/en-us http://www.nvidia.com/download/driverResults.aspx/73628/en-u... Would it be possible for this driver to add OpenGL/OpenCL and Vulkan support to macOS like it is done on Windows? (Or am I completely misunderstanding how this works)
- codeonfire 8y agoLooking at the clearly sparse docs, Metal looks like some jackass's pet project. For people who get off on making everyone else use their system by systematizing the obvious and the already done, graphics apis have an allure. However, most people, let alone companies are not capable of replacing OpenGL and OpenCL.
- slavik81 8y agoWell, great. OpenCL 1.2 was the only API that was actually portable. Now we have nothing. Might as well drop OSX and just move to Vulkan.
- JepZ 8y agoI didn't know you could replace OpenCL with Metal. I thought for GPU computing there are just OpenCl and CUDA. Does Vulkan offer an alternative to OpenCL too?
- tannhaeuser 8y agoI'm getting a bit worried about Apple dropping out of the business of producing professional tools and rig. I always liked that you can walk into an Apple retail shop and get a decent Unix notebook (though I've opted for a different notebook for my last purchase because of the lack of display, keyboard, and port options). But with Apple pulling out of OpenGL, what little pro (or at least pro enough for me) F/OSS software for 3D (Blender) and other graphical stuff was running on Mac OS won't any longer. I can't imagine Blender has the resources and inclination to port their software over to Metal, especially when Apple deliberately torpedoes their efforts.
- mahgnous 8y agoBye bye even more software on mac.
- bayindirh 8y agoDisclaimer: I'm not trying to be the Devil's advocate here, but just wanted to share an observation. Apple always removes stuff which looks untimely or just plain stupid (headphone jacks, optical drives, USB/Firewire ports, optical in & out, rosetta, APIs, etc). Always the same outrage has happened, but things normalize then. People, companies adapt, hell does not freeze over, company doesn't go bankrupt. I feel that maintaining OpenGL & OpenCL felt like a burden to Apple. We all know that Apple likes to control everything from hardware to user interface, and GPU drivers are one of the most notoriously complex, overprotected part of the software stack. In the OpenCL world compilers and other stuff (I don't remember the terms clearly, sorry) also gets in, and makes everything much more complex. Maybe this move will help them to slim the drivers to the basic "hardware-software" interface level and build metal and related technologies to their own term on top of this relatively simple interface. I have a feeling that metal can be directly translated bidirectionally and relatively cheaply to OpenGL (and maybe Vulkan and OpenCL too), so at the end things don't become extremely complex for everyone. Apple doesn't feel that backwards compatibility is strictly necessary unless things can be translated and made to work with relatively good performance. As a Linux and Mac user for 10+ years, these are my observations. They may be wrong, technically incomplete or else. Feel free to discuss, debunk, or downvote.
- ocharles 8y ago> Always the same outrage has happened, but things normalize then. People, companies adapt, hell does not freeze over, company doesn't go bankrupt. But that doesn't mean we took the best path. There is always an alternative future if x hadn't happened at all. If x hadn't happened, we might be in a better place, rather than accepting it and doing the best we can.
- bayindirh 8y ago> But that doesn't mean we took the best path. There is always an alternative future if x hadn't happened at all. If x hadn't happened, we might be in a better place, rather than accepting it and doing the best we can. Of course. I didn't mean to say that Apple is designing the best possible future or making the best possible decisions. I'd rather have a future where these technologies are supported as first class citizens by everyone, and I can just cross compile this stuff with virtually no porting or optimization effort, however unfortunately this is not the world we live in right now. As I said, mine is an observation rather than taking one side.
- psyc 8y agoAs a long-time professional game engine programmer, it is hard for me to see consternation over things like this, and avoid judging it as mainly ignorance. The amount of code in an engine that needs to touch the graphics API is tiny. A handful of methods for device init, filling buffers, uploading shaders, setting state, and saying "draw!" All of the graphics API code can easily fit in one medium-sized source file. As a proportion of the whole engine, it's very small. As a proportion of the whole game or app, it's negligible. It's also boilerplate. There are only so many ways to copy a stream of structured data into a buffer. Legacy software, blah, blah, blah. No legacy software runs forever, and least of all on Apple platforms. Who cares.
- p0nce 8y agoI'm one of the happy persons about this move, because my competition use OpenGL on Mac and I just use software rendering. It was easy to see this deprecation coming...
- TheCabin 8y agoProfessional game engines are not the only application for OpenGL, though. Many people would like to build cross-platform software without using major abstraction layers, such as game engines. This could be research software, prototypes, small tools in general.. -- I think there is a long list. For these people life might get harder.
- pjmlp 8y agoQuite true. People in FOSS friendly circles really don't get the games development culture, IP management or the contracting business related to ports.
- CodesInChaos 8y agoGaming is all about legacy software, especially single player games. As a gamer I'm very happy that almost all older games still work on Windows today (either directly or using an emulator like DOSBox). (Of course that does not mean that the OS needs built in OpenGL support. If you can convince an old game to use some kind of OpenGL-Metal compatibility wrapper without needing access to the game's source code or support from the original developer, that's fine with me as well.)
- mratsim 8y agoSo Adobe, Blender, Maxthon (Cinema4D), Maya, CaptureOne, DaVinci Resolve and 99% of the film, image, photo industry have to rewrite all their OpenCL kernels. Also currently Metal and Accelerate are completely unsuitable replacement to OpenCL for Deep Learning ... Not that deep learning on OpenCL was a thing yet but I was adding support to it in my own framework.
- d--b 8y ago> Apps built using OpenGL and OpenCL will continue to run in macOS 10.14, but these legacy technologies are deprecated in macOS 10.14. Er...
- thinkingemote 8y agoI wonder at what point developers will leave. I don't think they will. Changes from Apple might seem to hurt, but people adapt. The changes are not big enough, nor damaging enough to those who have invested themselves in Apple to switch. Normal users won't see much difference. If you have Apple desktop, a laptop, a phone, connected accounts, apps and associated data, maybe a watch or a TV you are fully within the Apple ecosystem. You cannot leave without it costing you major hassle and stress. This might cause surface inconvenience but it's not going to be enough to push anyone out from that ecosystem. Apple has their users where it wants them, and the users are happy.
- bhouston 8y agoHow does this affect Angle, the WebGL implementation underneath Chrome? I believe Angle only has bindings for OpenGL (with Vulkan in alpha). It has no bindings to Metal.
- hellofunk 8y agoWhy is anyone surprised by this? Apple has a decades-long history of taking outdated technology and making it obsolete by forcefully removing it (which they haven't actually done yet with OpenGL): Parallel Ports Floppy Drives CD/DVD Drives Older USB, Firewire ports Network ports They were the first to remove all this stuff, and everyone was shocked. Now they are doing this with an API. Both Apple and Microsoft have long ago created much more modern, highly performant graphics technologies over what OpenGL offers, and serious vendors support platform-specific APIs most of the time. If it takes Apple to do this and say to the world "wake up, OpenGL sucks," I view that as progress. Despite, I don't think your OpenGL app will fail to run on Mac any time soon. I suspect it's years away before they actually remove it entirely.
- rockdoe 8y agoThis would have been a valid argument...if they supported Vulkan instead. But they do not.
- neurobashing 8y agoyou're all completely correct: Apple is doomed. Since no one plays any games on iOS (where Metal is the only real option), forcing Metal adoption on MacOS is doomed from the start. iOS devices will be left in their moribund state, used only for a few limited tasks like DTP and blogging or whatever. They should take a page from Microsoft and adopt an open, cross-platform technology like DirectX.