Cycles OpenCL rendering on macOS is no longer supported

Mate, everyone already knows, beyond a shadow of a doubt, that Apple wants to control everything. Anyone that develops for their platform (puts hand up) or has been using hardware outside the iPhone line for more than a few years (puts other hand up) is woefully aware of their control freak tendencies.

The question is simply whether or not they are worth dealing with in this regard and, honestly, I don’t think they are. They either get with the program and support Vulkan, someone makes a wrapper around Metal for Vulkan, or us OSX users need to throw our Cycles renders at other machines (what I plan to do).

Some interesting points:
https://lists.blender.org/pipermail/bf-committers/2018-December/049720.html

How open Apple is doesn’t figure for me. Do the math just like with XP, < OGL3.3, etc. Technical debt vs payoff.

True, but I was responding to your query specifically asking about the cuda backend of cycles. You know, as per my quoting of you at the start of the post. :wink:

Just so we can stop this from getting out of hand - I too am “actually” someone that has managed large projects. At one point managing over ten other developers whilst still having to get my hands dirty in code. So, with that in mind, we can focus on the arguments and not any relative merit from our career backgrounds.

Two things to note about that.

Firstly, the investment has already been made. Had you made the argument that it would have been better to move to QT before the changes to OpenGL core profile, the argument would have more merit. As it stands now, the cost to be considered is both the future cost of reimplementing the core of Blender (remembering QT is not “just” a UI) and the cost of what’s been done already.

Secondly, you make the assumption that the benefits offered by QT outweigh the advantages of a slimline core like that of Blender GHOST library. Currently, what Blender’s UI core offers is what Blender needs - it’s not missing what they need outside the “possibility” that Apple will remove OpenGL completely from OSX. There are advantages to lightweight UI libraries (which is why FLTK, GHOST, and the like still exist). There are also advantages to being able to direct when that UI library fixes a given problem. So in order for moving to QT to be a “good investment”, there needs to be a relative weighting given to each of the benefits QT provides vs what Blender’s dev team loses.

It took person years to maintain over the past four years (he dis say “since 2014”). For a project of Blender’s scope - that’s not as big a deal as you seem to think it is. Certainly not something I would consider “broken”.

Right now, Blender has a UI that does everything it needs to do. It “might” need something in the future in regards to Apple’s deprecation of OpenGL or it “might” have someone step in to solve the problem for ALL Apple developers through a library that serves as an OpenGL/Vulkan facade to Metal (-cough-MoltenVK-cough-). That is indeed a risk, but whether it’s worth jumping to a new UI core at this point would mean putting a lot of weight on that risk and the need to cater for Apple users. I don’t think that focus exists in BF and I’m not sure I disagree with them on that front (and I’m an Apple user/developer).

Thanks Kayoslll, my distro/desktop is Linux Mint 19/Cinnamon and most of my issues are with the window decoration. Octane and Davinci have missing window headers, substance has issues with UI scaling on my display tablet (Xp-pen Artist 13.3). I was able to fix the substance issues with some Qt env variables:

export QT_SCALE_FACTOR=1
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_SCREEN_SCALE_FACTORS=2

The Octane and Davinci issue can’t be fixed yet until the Qt devs fix some issues, at least that is what the Otoy devs are saying. Octane does have a “Use native file file dialogs” setting which brings back the header but make the file dialogs almost unusable. :frowning:

Even if the UI was changed to QT that will not help . They will need also to rewrite the view port which Inclode Eevee and the workbench. Both are opengl and both are not covered by QT.

I think there is already project for opengl over Vulcan in the works I read about it somewhere .

considering there is already moltenV then
opengl-> vulcan -> moltenV -> metal.
Which is absurd I know :wink:

So maybe just add a Vulcan backend to
In the future and go through moltenV
Or the ultimate foolproof soultion get a real pc with a real OS

Indeed. Lets all not forget that Apple invented OpenCL in the first place. Apple has had their share of open source projects. I don’t think it’s fare to say they are against open source at all. They are motivated equally by money and the need to keep moving forward. They hate being held back by aging technologies. Also, OpenCL has been hampered on it’s own platform by ATI/AMD shitty drivers for years. No one has ever really supported it very well with the hardware that could use it properly. I think Apple is just giving up the ghost rather than trying to kill some project because it’s open source. I mean, they can’t force AMD to make better drivers so now they are just doing it themselves.

2 Likes

I’d have to search through my post history but I actually did bring this up years ago :wink:

Overall, I would agree that it’s a tradeoff between investing work to switch vs long term investment to maintain what they have now. And that’s a somewhat subjective tradeoff. I also look at QT as something that is industry standard and would make Blender more aligned in the bigger vfx pipeline.

It should also be noted, though, that Apple has also announced the deprecation of OpenGL, as in they will no longer be actively supporting it. There could very well be a time in the near future where a borked MacOS driver causes Eevee to stop working as well.

You’re assuming that the average person cares even a little bit about open standards. They don’t.

Apple created and released Metal before Vulkan was even a thing and on top of that Metal has been heavily adopted on their mobile devices. The reason Appel brought Metal to their macOS platform wasn’t;t just a bout control it was about making it easier for current iOS developers to also make apps for macOS. There are other reasons, like Metal is actually pretty elegant and higher level than Vulkan (doesn’t require as much boilerplate code).

Whether the BF sees a benefit to it or not is another matter. Personally I think that dedicating the timed resource to abstract the graphical backend if possible would be a good idea, but the BF has limited resources so it doesn’t really make sense for them.

It’s like Godot. How am I supposed to take a game engine of all things seriously if it doesn’t have a plan to support Metal? iOS is where a lot of mobile game revenue comes from not Android despite the huge marketshare difference. Any game engine that doesn’t think about abstraction from the outset is imo not a serious option.

1 Like

I’m an Apple user and a Blender lover (and open source aficionado in general), and I’m disappointed to read this. I can understand that Ton feels abandoned by Apple.

I started working with Blender on Windows (after many years of 3ds Max), and if Blender for macOS keeps losing features because of Apple’s dictatorial attitude, I might seriously consider switching back to Windows, because Blender is one of my main tools.

I don’t disagree that Apple’s use of Metal is “not just about” control, but their refusal to adopt and take part in guiding the open standard of Vulkan is about control. It’s not like Apple is short of talented developers, they just don’t want to support the open standard on their desktop platform. Which sucks, cos I have two macs for every pc in my place.

By accepting that not every game engine needs to be focused on the mobile platform and that, until recently, OpenGL was just fine for iOS and Android saving developer effort. Godot, like Blender, isn’t backed by a large company that can simply dedicate one or more developers to an interface on top of multiple graphics API’s. There is a cost benefit tradeoff to be considered and, until Apple recently decided to deprecate the open standard on their platforms, the tradeoff was obvious - OpenGL was good enough.

Fair enough, just tested and I hadn’t noticed that of Resolve, I have my desktop configured to hide borders on maximize and I almost always use productivity apps maximised (I prefer having the little bit extra screen real estate and I can use alt + f4 to close a window, the win key to drag a window). I have plenty of other Qt apps that don’t have this behavior are they trying to do client side decorations or some such? I don’t think this is an issue that would affect blender.

The substance issue seems to be with high DPI screens and scaling I would be curious to see if Krita exhibits the same issues on your display tablet?

Yeah that’s the strange part, Krita works perfectly and the display tablet is not high res (1920x1080) and that resolution matches both of my other monitors?!? I’m wondering if Krita is using custom Qt code?

This is getting way off topic though, thanks.

Apple was part of the OpenGLNext (as it was called) planning, and they are still part of the Khronos group. By many accounts people have said that Apple’s Metal is far more elegant, and easier to use than Vulkan. Vulkan even compared to DX is a mess. Apple probably wanted a more higher level api that still had the benefits of a less overhead api like Vulkan. Like I’ve mentioned Metal came out before Vulkan by about a year. Apple had Metal shipping on their devices while Vulkan 1.0 was still late to release (this was not even a stable release). Let’s think about that for a minute, Apple had probably started working on Metal back when they stopped updating their OpenGL drivers. That’s well before Vulkan was even a thing. They had already been hitting the limits of OpenGLES on their mobile devices, as they wanted a more power efficient, multithreaded api for their devices.

While we can lament them not supporting Vulkan. There has to be a more compelling reason than its cross-platform. Right now Vulkan adoption, especially on mobile is pretty low, with only a select few devices even supporting the api at all on Android. A stable release of Vulkan was just released this year if I’m not mistaken. Apple couldn’t wait 4 years for the Khronos group to get they crap together. I know I wouldn’t if I were them.

2 Likes

For the purposes of Blender and game development, no there doesn’t really need to be a much more compelling reason than that. No-one is saying they can’t have their own API if they want it. Microsoft still has DirectX, Apple can keep their Metal. That doesn’t change the fact that, in refusing to support the Vulkan open standard, they are explicitly stating they are not interested in cross-platform graphics code on their machines. As a developer of both OSX and iOS projects, this rejection is consistent with other developer API decisions they’ve been making.

I like Apple. I use their MacBooks are my development and (at this moment) graphics workhorse machines. I have a Linux box I don’t bother booting up for months at a time and a Windows machine I use to play background music/streams when working and (very occasionally) to compile & run tools I don’t have cross-platform code on. I don’t want to be pointing out that Apple are trying to wall their garden off from the evils of multi-platform code. It would make my job a lot easier if they weren’t. However that is what they are doing.

I’m not an open-source fanatic - I use what works, I give back when I can, but I also acknowledge that I cannot open everything I do in order to keep paying the bills. I’m not a Windows or Linux zealot - I literally use my two trusty MacBooks every day for professional and personal work every day. I say this as someone that would like to continue doing so.

3 Likes

super late and don’t mean to necro but I stuck an SSD in my 2010 MPro and installed Win7, then upgraded to win 10 and despite the OEM GPU’s the cheese grater is still a mighty, mighty Windows box. I’ve given up on mac OS unless I have no other choice. I have not tried 2.8 yet so later this week. I know 2.8 will NOT work with the GT120 but has anyone tried the 5770 - Mac/Win?

Next investment is goin to be a 1060,70 or 80 and hang on to a GT120 in the event I need to see EFI boot screen.

MacPro 5,1 Mac OS 10.13.6, Windows 7 SP1, Windows 10, Ubuntu 18) 64GB 1066MHz. RAM, Dual Xeon Westmere 2.26, Dual ATI Radeon 5770’s in crossfire (Win)

In the mean time I’ve decided to sell my Mac and switch back to a Windows PC rig with an NVidia Geforce GPU. I was fed up with Cycles not supporting OpenCL anymore in Blender macOS, I missed CUDA, and I became frustrated having to wait much longer until certain things were available, ranging from OpenSubdiv to a number of add-ons. And what would the next stage be, Eevee issues because OpenGL also becomes problematic because of dropped support for macOS?

Last time I used Windows I worked with release 7 or 8, more than four years ago. I have to say that if you take care of a solid Windows PC hardware configuration and the latest Windows 10, the switch from macOS can be quite smooth, to my experience.

3 Likes

Considering apples product direction I can understand a switch to a windows PC however while openCL was indeed xed by the Blender devs CUDA is still running well on macOS.

1 Like

Yes, and unless I’m mistaking I believe the Blender Foundation has a new macOS developer. I’m not ruling out a return to macOS when my current Windows PC starts aging, if the general 3D situation for macOS has improved in the mean time. :slightly_smiling_face: