Mac OS

Discussion related to the Engine functionality, implementations and API.
robbrown
Developer
Posts: 47
Joined: Mon Sep 03, 2018 1:04 am

Re: Mac OS

Post by robbrown » Fri Nov 16, 2018 9:20 pm

Yeah its quite a mess at the moment, in part of that entertaining the idea I played with Metal, Molten which is Vulkan-over-Metal and the basic Molten example crashed with the Nvidia drivers. The lack of Nvidia drivers for Mojave (latest release) are still nowhere to be seen, so basically just been on a watch to see what unfolds and if the industry starts going towards any solution to OpenCL being deprecated on OS X.

For now, hoping to allocate some time to work on the bugs I posted on GitHub (didn't want to forget info and make sure things were documented) and keep tabs on how the rest of Lux is working on OS X.

User avatar
B.Y.O.B.
Developer
Posts: 1814
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Mac OS

Post by B.Y.O.B. » Sat Nov 17, 2018 12:11 am

By the way, Rob, could you look into this? Only if you have time. Ping me if you have any questions.
When the user clicks the "network render" button in the Blender addon, pyluxcoretools should be launched via subprocess. I can't test this on Mac OS.
Support LuxCoreRender project with salts and bounties

robbrown
Developer
Posts: 47
Joined: Mon Sep 03, 2018 1:04 am

Re: Mac OS

Post by robbrown » Sat Nov 17, 2018 12:22 am

Yikes from October, sorry I missed it. I should be able to at least take a look this weekend.

User avatar
epilectrolytics
Posts: 45
Joined: Thu Oct 04, 2018 6:06 am

Re: Mac OS

Post by epilectrolytics » Sat Nov 17, 2018 5:32 am

I'd like to suggest to avoid the hassle with MacOS OpenCL-versions and to concentrate on stable non-OpenCL releases.
Maybe partial OpenCL-support like only for denoiser but not renderer.
Several users prefer the Bidir engine wich is CPU-only anyways.
A metal transition would be very welcome but that could be done slowly in sync with what Blender will do.

I'd like to build scenes on my MacBook, preview and save them but for speedy rendering I'll get an affordable PC with Ryzen & RTX, stuff Apple won't make available to their users :(
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 _________________Win10Pro PC Ryzen 2700X, RTX 2070, GTX 1060

robbrown
Developer
Posts: 47
Joined: Mon Sep 03, 2018 1:04 am

Re: Mac OS

Post by robbrown » Tue Nov 20, 2018 7:12 am

I noticed I hadn't uploaded the v2.1beta2 release after the PR went through for updating Embree, so went ahead and did that.

The Blender Network bit is giving me a bit of a chicken an egg problem. It looks like calling subprocess with the OS python has a default bin or symbolic link for Linux and Windows. Mac OS does not come with python3 by default which requires something like brew install or pyenv using environment variables and sourcing so for it to work the same way you have to call blender from the terminal which I doubt most Mac OS users do.

I could use the blender python implementation with py.app.binary_path_python but that would add the need for get_pip.py and doing a pip install inside blender's python. I'm not sure if that's the blender way for python dependencies in add-ons so need to do more digging.

User avatar
B.Y.O.B.
Developer
Posts: 1814
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Mac OS

Post by B.Y.O.B. » Tue Nov 20, 2018 8:50 am

Currently, the network render stuff is something for advanced users because it still has a lot of rough edges.
So what you could do is create a wiki page with a description of the necessary preparation steps (install python3 by hand).
In the operator you could test if the prerequisites were installed - if yes, start the pyluxcoretools, if not, open the wiki page.
(opening a website)

I had a bit of a similar problem on Linux, where PySide needs to be installed before pyluxcoretools can run.
In that case I could solve it by creating another operator that opens a terminal and installs PySide: https://github.com/LuxCoreRender/BlendL ... ools.py#L8
But I don't know if this solution would work in your case.
Support LuxCoreRender project with salts and bounties

robbrown
Developer
Posts: 47
Joined: Mon Sep 03, 2018 1:04 am

Re: Mac OS

Post by robbrown » Thu Nov 22, 2018 10:00 pm

Wiki option definitely seemed like the best compromise to ensure user decisions of how to install Python3 weren't hindered.

I did get the linux clang to compile and all tests passed. (I had to make some changes to LinuxCompileDeps bash files, not sure if I should make a PR so clang on linux can be used by developers...) Currently recompiling MacOS to make sure flags are as close as possible, ex (-no-ssse3 vs -ssse3).

Looking at what else is different besides OS, I had to compile OpenMP in the deps and have been reading about indeterministic results looking at the compile flags for OpenMP cmake settings I did notice "LIBOMP: Use quad precision --FALSE" but I don't think we're using quad precision floats.

User avatar
B.Y.O.B.
Developer
Posts: 1814
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Mac OS

Post by B.Y.O.B. » Thu Nov 22, 2018 10:37 pm

robbrown wrote:
Thu Nov 22, 2018 10:00 pm
(I had to make some changes to LinuxCompileDeps bash files, not sure if I should make a PR so clang on linux can be used by developers...)
If you have the time, it would be welcome. :)
Support LuxCoreRender project with salts and bounties

robbrown
Developer
Posts: 47
Joined: Mon Sep 03, 2018 1:04 am

Re: Mac OS

Post by robbrown » Thu Nov 22, 2018 11:06 pm

I can do that in the next few days.

Good news is MacOS is passing all pyunit tests, bad news I still don't know the root cause. Originally thought it was the smaller image sizes (I'm assuming to make Azure test time faster) but larger sizes are good too. :lol:

Luckily, I kept track of the variables I changed. no-sse3 & no-ssse3, set boost build flags to same as linux clang, and pulled down master.

Once I find the cause I'll get some changes pushed up and can begin to MacOS moved to Azure build/test process so we can drop TravisCI.

Post Reply