You never can tell with Apple, but perhaps the history of Java on MacOS could be a guide to the future of OpenGL.
Originally, waaaay back in the early days when it was still called Mac OS X, Java was regarded as a first class development platform by Apple, and they themselves maintained the Java framework in the OS, unlike Windows and Linux where the vendor provided this.
Over time, much like the situation with OpenGL now, Apple dropped any real focus on Java, and the Java framework was essentially just in unofficial ‘maintenance mode’, falling behind the other platforms in terms of shipped version etc.
Eventually, Apple gave the node to Oracle, and started recommending anyone requiring Java JRE instead start getting it direct from Oracle.
Now in MacOS 10.14, the old “built-in” Java 1.6 framework is removed entirely, which just means if you want it, you download and install from Oracle.
My point is that once the OpenGL support is completely removed from MacOS (which won’t be happening with MacOS 10.14), there may well be the possibility for 3rd party vendors to provide it via the drivers for their GPUs.
I wouldn’t put money on it, but it’s possible - I suspect though that by the time Apple remove OpenGL support completely, we’d only be talking about Vulkan, not OpenGL 4.x - keep in mind we’re literally talking years from now.
Funny that’s why I only play in win10 but design in macOS.
It is true that the focus on iOS and iPhone really was annoying but it brought up some very innovative technology and design tools too.
I would say that Apple is rediscovering their pro market actually.
But like 30 years ago yes windows will always have more app selection but the OS right now is making a much bigger push for designers than windows 10 does.
Look at UI UX Design tools many are macOS only. Guess it all also depends on what you need.
This is somewhat a gross oversimplification. Apple certainly makes a lot of money on games for iOS these days but what brought the company back from the brink is a series of good decisions over a period of several years. Starting with the decision to modernize the Mac operating system, the decision to switch to Intel CPUs (moving away from PPC an the unreliable Motorola company that made them), the decision to bring the iMac and a variety of portable computers to market as well… all of which gave it stability enough to keep it’s hardware and dekstop OS business going. From there Jobs and Co to invented the iPhone and iPad. That in turn generated huge revenues (including app store revenues which go way beyond just games) that gave the company all the momentum and market presence we see today.
I think we can clearly say Apple is a mobile-first company now but they’re definitely not a “mobile gaming first” company or a “mobile at the cost of everythign else” company. Their scope and reach is far broader than that and they want to get into areas that have nothing to do with games, areas which will be influenced by Metal. Metal refects their desire to improve gaming content, yes, but it goes well beyond that onto the desktop and into realms not associated with games.
As for OpenCL, if NVIDIA wasn’t a part of Kronos group, Apple would still be talking up OpenCL and it would look far different than it does today most likely. OpenCL would probably become a layer of Metal rather than ultimately replaced by it. But is what it is.
I’m OK with Apple’s direction on Metal, assuming they keep developing it rapidly and pushing it. Without the push and pull of competing interests as we see at Kronos group, I have no reason to think they won’t. Metal is going ot be a good API / platform for developers of many kinds. It already is, in many respects.
I’m actually not too concerned. Because of this move, vulkan is likely to become the new cross platform standard over the next couple of years (since there’s a vulkan wrapper for metal). And because there is such a large amount of big apps that rely on OpenGL, I can easily see an OpenGL wrapper for vulkan materializing. Or metal. Or both.
No need to panic yet.
I vividly remember the panic over Apple deprecating Carbon, which many devs were using to port to OS X. It seemed all our favorite Mac apps like maya and blender would never go 64-bit or even go away.
And then they all worked their asses off and they all came through. Hope that happens again. Just without the “working their asses off” part.
Yes that is what I am saying , OpenGL is a C API, distributed as a DLL, aka shared library/dynamically linked library, on windows they have have DLL extensions on MacOS the dylib extension and on Linux the so extension. It depends on the gpu driver itself and usually its distributed together with the driver download.
Even though OS are generally not open source they can be easily extended for supporting hardware with the usage of drivers and they offer means to gain quite low level access to the hardware itself and the OS. All popular OS heavily document this area because its extremely important as you can imagine to have drivers for an OS. Apple documents driver creation here
If the driver for the hardware exist then you can connect on it , see what kind of functions it offer (code) and create OpenGL on top of it. It’s not a simple process and probably not a one man job but then so is not Blender development.
No because of the very bad design of OpenGL it loses a lot of performance and thus the developers that rely on such APIs have turned to Vulkan and Metal. So porting Vulkan would have been more to their interest , problem is that Blender cannot afford to spare developers with 2.8 underway and the amount of work Blender needs to move from version to version. Porting Vulkan again is quite the effort.
Then stop hurting my feelings
Funny none of your links actually say that. Also what you claim is not even possible see my answer to the top of this post on MacOS drivers. Quite the contrary Apple encourages not only companies but also people to make drivers.
I think I have killed a couple brain cells after reading that blog post. Again yes its completely , 100% AMD’s fault. They are not powerless , they chose not to offer support for OpenCL on MacOS, NVIDIA on the other hand chose to offer support of CUDA on MacOS. Your “good people” are barking at the wrong tree. But that is the usual case with bloggers in general and angry forum posters.
What’s a vanilla mac, I am more a chocolate guy. Yes Apple seemed to like AMD abit too much lately. But the new MacOS will bring support for eGPU, that does not mean drivers by Apple but it means anyone will be able to make drivers and use any GPU they like and how many they like. The minimum requirement is the presence of Thunderbolt 3 to ensure no low frame rate.I think there is like a 30% loss of performance for eGPUs , but that may be temporary until Thunderbolt 4 is released.
eGPUs were all the rage before iMac Pro and still are as a much cheaper alternative.
That’s only for the latest version of MacOS , there are a ton more for previous versions.
Also in that list of course are not included open source projected including in MacOS but not made by Apple, like Python, Ruby etc. Then of course we have the open source projects not included in MacOS but part of the MacOS ecosystem and so on.
Metal is not one of them , but in the future , near or distant I would not be suprised if they do open source it. I think for Apple is a matter of security , which is a very top priority. Open sourcing a library is not as simple as it sounds , you have to make sure it does not give access to malicious software on things it should not and it also a logistics nightmare cause the code has to be released in such way that is understood by people working outside the company. Blender had its own bumpy road in the open source land. Which is one of the many reason why it took Blender so long to gain momentum.
They could but its incompatible with Apple’s open source friendly vision and its also not very practical because the whole point of APIs is that they allow you to do whatever you want with them. Otherwise they defeat the very purpose of their existence.
But GPL is a very funny license anyway so I would not be surprised if there are any incompatibilities. Nothing though that will be hard to resolve. GPL is far more than open source, its about “free software” , free as freedom. It’s also one of the least most popular ones, MIT being the elephant in the room.
Actually you can and it has been crystal clear. Apple tried to support a product not made by the company , devs or users do not seem to care much. Apple abandons it. Company/team that are the creators of the product do not care about the MacOS platform. Apple takes the blame.
Rinse and repeat.
Apple has been locked inside this loop, trapped into fighting the stereotype of “closed platform” which scares ignorant users and developers alike. Unfortunately as its usual with rumours , once it gets out , its hard to get in the bottle again.
Already talked about Apple Java, again Sun’s fault. Apple gave it a try, developers did not care, they dropped support for it. Apple was not the first company to implement Java, Microsoft tried that briefly until they went in panic mode when they realised how popular Java became , so fast, so they dropped Java and “invented” C# and .NET. Apple on the other hand carried on with ObjC, cause very few people on Mac actually cared about either Java or C#.
Problem with both languages is their bad support for native look GUIs which users and developer value quite highly. Ugliness and lack of ease of use is one thing a mac customer does not easily tolerate. Hence why many apps not using native look or at least a well design GUI tend to go down the drain really fast on MacOS.
Sun however did provide a macos version and still do , although currently Java is owned by Oracle. Still mac devs dont care about Java. I am one of those devs.
C# its actually far more popular, mainly because it was one of the first languages produce binaries for iOS platform which gave rise to a toolset so succesful that later was bought by Microsoft and was integrated with its own tools which also open sourced. Monodevelop is also an open source version of C# for macos.
Microsoft has suprised us by making a U turn on its policy about open source, they seem to really care supporting macos and open source. So far I hear good things on C#, .NET and even Visual Studio on MacOS. I have not tried them myself.
It’s what happens when a company actually cares about MacOS and does not shift the blame to Apple.
My point was that games are kinda a huge deal for Apple cause they make a quarter of the revenue of iOS and is by far the category with most revenue, taking into account that iPhone sales make 70% of the company’s total revenue.
Mobile games market (around 60 bil) recently overtook the desktop games market and guess who ones the biggest revenue on that one.
So yes if games are by far the No1 reason that help you sell the very device that makes almost your entire revenue, you are going to slightly care
but only slightly
The Mac platform has been declared dead many times recently, but it has never been better, mac sales going up, MacOS taking a big (10%) part of the OS market, Apple SDKs and developer support tools popping around like mushrooms.
MacOS by the way is twice as popular with developers than it is with its users, of course the cake is taken by Linux which is 40 times (!!!) with developers than it is with its user. Reason being web dev which all the rage and runs mostly on Linux technology because of its light resource demans, low cost and of course open source/free software nature. Windows is also popular, still the most popular but nowhere near as popular with devs as it is for its users.
All thing aside - if macOS and it’s hardware is suitable for your needs then by all means continue using it. I wish I could continue using macOS as it is the best compromise I have found (and I use also NIX and MSW).
I think I have killed a couple brain cells after reading that blog post. Again yes its completely , 100% AMD’s fault.
I’ve been using Macs for about 20 years now and owned and still own all lineup (except for gadgets and TV), both personally as well as through company that I’m responsible for. I consider myself a pro user as half of my work is done in terminal and code editor, other half in GUI space apps for design, 3D, CAD, MCAD. I use FOSS wherever I can.
Then there is the whole realtime graphics programming side. Been programming graphics using OpenGL since 2009, directly as well as using abstractions such as openFrameworks and later Cinder. And of course Processing.
The blog post that killed a couple brain cells, by bloggers / angry forum poster for you was an open letter written by LuxCoreRender developer (and preta3d dev) and supported by community (which mainly consists of coders, geekland). Including Ton At that time (~2015) I participated as someone who uses macOS and has D700 on hands, trying to compile valid OpenCL code on then Apple flagship machine. You can choose to reject this argument from authority.
you can find Apple’s open source projects here
Thanks for the link. Yes, as you say, it is not FOSS that Apple has done (some of them are) it is what Apple uses. You can google up on what Apple did to samba (did they give community back?).
I do know what FOSS Apple uses under the hood (frankly I do also use and sysadmin BSD - X64 based studio firewall/router and our RAID-Z’ed NAS sits on top of that) as I use POSIX shell each day, every day.
From my competence it’s Apples not AMDs fault for the state of OpenGL (read - we do not have OpenGL 4.5) for AMD GPUs you find in Mac. I do not understand how you have come to polar different conclusion.
Have you ever written and deployed application that uses OpenGL and/or OpenCL on macOS?
What open standard graphics API macOS will support/allow in the future?
This was left unanswered.
I need now and 100% performance.
Then stop hurting my feelings
It can hurt your feelings if you are a believer, but there should not arise such feelings if you look at this issue using empirical evidence and moral secular philosophy.
I find such misinformation bad, especially in FOSS forum.
And in the context of this topic:
The resources are scarce and they should be guided towards making Blender tooling better not effin viewport render pipeline for a closed platform. And if Blender deicedes to go low level in the future then it should adapt open, cross platform standard - Vulkan - not Metal. Metal and macOS support could be just a sideffect if MoltenVK can support it (say Blender would not use tessellation, which would be questionable decision not to use adaptive mesh resolutions in Eevee). As a macOS user I vote for better Blender even if that means no Blender on macOS, trying to get macOS platform support should not slow down its development.
Honestly who cares how much is popular among devs or how many phones they sell? Thing is that we are 3d artists and most of us users of Blender, FOSS app, which one of main goals is to be cross platform. So native support to Metal with Blender is not going to happen unless someone outside Foundation decides to do it, which will fail on support eventually or someone writes transaction layer, which we still need to see what performance hits might happen. So as user I do not like neither of these, as I feel it will affect my user experience and if I can have Blender work better with other OS for less invested $ and time, I will switch. Which I did. Like you, as a dev on OSX platform you depend on OS, I as a 3d artist depend on 3d software, and if it works better on Linux or Win than … Best would be to have 3d app that works on Metal, which will give you best ux, but thing is that will not happen, at least not soon. If this is great path we would already see bunch of great 3d DX based apps … not just 3dsMax which still is not something ground breaking in terms of performances. There is reason why there is exodus of 3d ppl from OSX. Which than raise question for whom you are going to develop 3d app on OSX? Apple made mistake with nMP, trashcan, too much time wasted. Now they at least pretend to listen to pros, but in my opinion still doing it wrong. Look at video for iMac Pro that they commissioned from ManVsMachine, and check disclaimer, that sums it all. iMac Pro should be pro machine, like trashcan is, this is not product for typical consumer … what pro will buy 5K+EUR machine with AMD cards only, sealed (if something broke you are stuck), with not so great OpenGl performances …
I fully support this pragmatic kind of view.
I was the OSX maintainer for LuxRender from 2008 to mid 2015 ( sorry for the brain damage ) and for Blender from ca. 2011 to mid 2015.
In those times i did coding to have my favorite oss apps on the mac.
It was always more working around than coding with so thankful users who even
insulted devs if something was not working ( sounds familar ? ). Really nice developer experience.
I left for the exact same reasons Srecko mentioned and switched to Linux.
In between some things might have changed for good, but at the expense that every new OSX/macOS iteration also breaks other stuff ( my main area is audioengineering ). A good workstation machine is also out of sight still. So what …
Anyway, i encourage the fans and believers to jump in as i did in 2008 and code a vulkan/metal whatever port for blender. Just endless argueing will not bring you further.
Apple told manufacturers to drop production by 20%.
The expansion in mobile is over. Market is saturated. In western world, only young people now is installing app. China was at economical peak last year.
From now on, it is only going down.
This is going to cut off all little to mid-sized devs. Apple doesn’t need them anymore. This is the start of a prune strategy which every company is doing since 1-2 years. First they close the open source boredom, then they’re going to set UIKit on Mac, so slowing transforming it into a iphone-ipad like product.
Apple sells hardware, remember; it is notorious for buying equiment in lots then using it for every device. Mac is going the same route, with low-end mac transforming into ipad-something and high end ones… who knows…
Wake up. It is over.
Jens is hero
Right now I switch between OSes all the time. I could back it all into one machine if MSW10 + WSL is any good. Last time i tried it was not. Does anyone uses MSW10 + WSL (having nix DE as desktop space within MSW, not just shell) setup on daily basis? Everything that can be done in nix is done in nix desktop it and only apps such as Adobe CC n’ stuff is run in MSW desktop? Desktop is something like spaces within MSW, such as this video https://www.youtube.com/watch?v=fib-YYW60E8 (anyone who does not know about WSL, it is not the same as just running VM, it is more like lxc)
yeah sure I think its suitable, even for the most demanding 3d scenarios.
So let me ask you something then, who is the biggest authority, Ton, or the double fact that Apple offers a way to make drivers for everyone and AMD are big enough boys to make a MacOs driver for themselves and even OpenCL? As I said already NVIDIA does it for CUDA.
It’s going to shock you but yeah me and Ton disagree in a lot of things, yet I never had any less than respect and admiration for him and I always stated and will state his the best thing to happen to Blender since … well… Blender
I have made the only , that I am aware of , secondary GUI API for Blender. Its basically a second GUI that is independent from the Blender GUI and allows addons developers to overide the existing GUI and do all sort of crazy stuff. its a library , that is used by friend Antonis for this commercial addon. The library is pure Python , very fast (as far I tested it) and can be used by any addon out there.
I made the library for my addon that I had to abandon the moment I decided to port the library to OpenGL 3.3 to get the addon ready for Blender 2.8. Unfortuinately I run into some very nasty bugs and OpenGL beaing some a pain in the hat forced to drop to my second option. I wanted to avoid this but also the limitation of the Blender Python API forced me to go directly to Blender source code and create a fork which will offer a radical diffirent GUI. Whether that will be a good thing remains to be seen.
So yes I am familiar and now I am getting deeply familiar with Blender’s use of OpenGL internally too.
I rather base my answer on evidence, it’s a bad habit I picked practicing the legal profession for 10 years now. If you ask me what I find most probable, yes I do think Metal has a big chance of being open sourced at some point. When will that happen, I do not know.
Hey Jens , I remember your outburst back. Thank you by the way for all the amazing work you did for MacOS.
But your outburst was completely justified and I did not hide the fact that I fully agreed with your decision. I was active at the time in #blendercoders, though I had more conversation with ideasman , Ton and sebastian_k, so you probably dont remember me.
OpenGL was always very crappy on MacOS and it has been long abandoned by Apple. Although I am surpised you went for Linux , it has even worse reputation when it comes to GPU drivers and I had my own share of nightmare scenarios with Ubuntu on my PC at work.
My point out of this , is that there is absolutely no obligation GPU drivers, OpenGL , Vulkan whatever to fall on the shoulders of Apple solely. Apple has been used as a scapegoat for the massive failure of both NVIDIA and AMD and pretty much the vast majority of companies when it comes to open source and especially free software of any kind. They chose to not support anything but Windows. Yet Apple gets blamed because it cannot do everything. What a suprise.
Yeah the message in Apple HQs is crystal clear , “This is not a drill… Abadon ship… I repeat abandon ship !!!”
Game market and especially mobile game market is shinking fast
It’s a war zone out there.
Macs are doomed, Apple is doomed, iOS is doomed… its doom… doom… kaboom
Man, you gave link to tonymac and thus are being totally unfair and have wasted lot of time in discussion.
to quote myself
Nvidia supported drivers are blessing to anyone that want to run macOS but on a decent hardware (hackintosh, with Maxwell/Pascal GPUs). None of vanilla macs have such GPUs, last Mac that shipped with NVIDIA was in probably Kepler architecture times.
We are talking about official Macs (MacBook Pros or iMacs), having ATI GPUs, having GPU drivers supplied only by apple without ATI being able to support drivers.
decided to port the library to OpenGL 3.3
Did you do it on hackintosh with nvidia drivers or Apple ATI drivers?
OpenGL was always very crappy on MacOS and it has been long abandoned by Apple.
So abandoned by Apple or ATI?
My point out of this , is that there is absolutely no obligation GPU drivers, OpenGL , Vulkan whatever to fall on the shoulders of Apple solely.
Of course. But then why Apple want’s to do drivers themselves and does not allow ATI to provide them? Because they want system stability?
I remember you well mate, we talked a lot too. Mac users where not thus many in the blender developer irc
TBH, i am astonished ppl complain so much about linux issues.
I went through a decision process and landed at Mint Cinnamon for the first and never regrettet. With 3 NVidia gpu its my base for blender and lux(core) rendering. In between i also do all my audio work on linux as the MacPro 5.1 shows its age.
Here is an example:
I still do luxcore macOS builds for ( cough ) fun.
The situations is as follows:
AMD opencl does okay as far as apple has builtin this gpu. ( my flashed 7970 is still doing better than D 700 ), it started to work ( in 10.11 ? ) 2 OS updates after i abandoned Apple CG.
NVidia up to pascal with webdriver is crappy unless you have 10.13 + special kernel tricks. Dunno buildin NVidias as no buddy had such machine.
( Damn, 10.13 same time trashes half of my audio that worked on 10.11 )
Apple removed openMp from clang so you must either remove it from the denoiser or trick it with extra libomp or vanilla clang.
Does this sound as a nice experience ?
On Linux i get all working with one strike + i solved the long kernel compile times with NVidia back in march ( seems luxcore specific cause of recursion/nesting, might be finally fixed in cuda 9.2 ocl ).
I must admit that if i had the choice, i would always tend to use the free alternatives. This freedom must be supported, its hard enough to keep OSS up against vendor interests sometimes. Audio drivers is a good example how it should not be.
One sec, we are already have been talking about eGPUs and it was Hackintosh that makes it unfair ?
Nvidia supports GPUs drivers on MacOS ? that’s news to me if that is the case. Maybe there is hope afterall for those companies.
Never was given the chance, Windows 10 NVIDIA GT 755M 1GB , drivers directly from NVIDIA. I had some nasty OpenGL context corruption, it was either me doing something stupid or a nasty bug in Blender 2.79. I would have tried Blender 2.8 but its too fresh out of the oven for that.
Of course abandoned ONLY by Apple
Not to worry for that we can agree 1000%
Because in order to abandon something first it implies you created or acquired it. AMD never actually bothered, so yeah never had the chance to abandon it either. AMD vs APPLE 2 - 0 .
That’s weird , this post here is saying that OpenMP is still around
Maybe it was removed from the XCODE cland install and not the clang mac port ?
Well I use Gimp, Blender, Chrome and for my work as a lawyer I use Libreoffice. The only closed source I use is Windows at work and home and I also use closed for audio cause I make ambient music from time to time and Reason is too hard to beat at this point and I never liked the open source alternatives.
But yeah I am 100% with you, I try to keep things as open source and cross platform I can, but Linux did got in my nerves when it corrupted my installation because I tried to upgrade Ubuntu via its updater which it asked me to do. It was not the first time that it did this and I said enough is enough and after 5 years , turned my work pc back to Win 10.
Wait you still develop for MacOS wow. You are far more disciplined than I am , that;s for sure
If you said that you are using/suggesting hackintosh and powerful GPU with decent drivers is a nonissue, we would not have had this discussion.
I believe our discussion started with me pointing out that your statement
Apple cannot block a developer from making a driver.
is false given that at that point i thought we are talking about Apple’s official statement and effect on anyone using Apple’s official hardware. I did not see you mentioning hackintosh at that point (discussion on how practical it is to mantain hackintosh in a say 10 people studio environment or even mantaining it on a laptop is yet another discussion).
Yes, I do not find you suggesting hackintosh fair in the context of this discussion. If it is to be taken fairly then basically Blender should not think about “how to support macOS in the future”, but how “to support macOS in hackintosh in the future”, which is totally different stuff (and then guys working on Cycles could have not tried to make OpenCL going, but just say - well use hackintosh with CUDA, it isn’t fair, is it?)
Apple updates drivers themselves, meanwhile does not update past it 4.1. Then everybody says how OpenGL sucks on macOS (sure, no compute shaders, overhead that was leveraged in 4.5 and many other things) and then you come and say it’s ATIs fault.
And me not agreeing on your statement that Apple
have always embraced open source software
was just a side topic. they did, but since Mac OS X 10.6 or so times… If asked - from closed OSes IMHO MSW is the one now who embraces open source software. macOS is just riding it given the history of it’s kernel.
Ah the glory of C/C++/Swift … programming, compiler flags chaos. I still try to wrap around my head how Blender builds its 2 million lines of codes without blowing up my iMac. Last time I coded seriously on C++ was 1996 … ah … simple times
I sincerely trying to see your point of you and I am failing majestically. iMac Pro high specs are not powerful GPU ? eGPUs also can support more than one GPU , so you can make a monster setup though I am not aware how much performance loss there is there.
But even official harware , at least on iMac Pro seems , super powerful to me. Super expensive sure, but super powerful non the less.
Well first of Apple and open source are very old budies.
Actually no scratch that
MacOS is based on an open source Unix implementaton and its Darwin architecture which is open source is still maintained today. ObjectiveC also was open source although not many of the libraries it uses. There are countless of open source projects related to Apple. Many of them used to be closed source and then Apple lost interest into them and open sourced them. One such example is Squeak
It was open sourced in 2006 , way before OS X 10.6. Apple also has its own Open source/Free Software License fully approved by the biggest authority, since you love authorities so much, FSF
Darwin, the core of MacOS has been open source since 2000
There are still libraries in programming languages that report the operating system as Darwin and not as MacOS in many cases.
By the way iOS which is a variant of MacOS also uses Darwin.
So yeah open source is not only embraced by Apple , it runs inside its veins.
So each time I read people mentioning iOS or MacOS as a closed system, a big smile forms in my face.
I always appreciate the ironies of life, it has more than I can handle