[Bf-committers] Changes to Windows Compiler Support.

Knapp magick.crow at gmail.com
Fri Jan 26 19:42:28 CET 2018

As a users I have two comments about not supporting 32 bit.

First we are dropping Nvidia GTX 580 and older models of graphics cards so
why not 32 bit as well?

Second anyone that has an old computer can download an older version of
Blender. They are likely doing that anyway as a lot of Linux systems
dropped 32 bit support a long time ago.


I would rather see the devs spending their time making Blender better than
working on very old 32 bit systems.

PS. I run a 64 bit system with a 580 GPU. I will have to update and I don't
like it but I would much rather have a great Blender than see it bogged
down with old tech. Naturally, I can only speak for myself.

Keep up the great work!

On Fri, Jan 26, 2018 at 6:51 PM, Ray Molenkamp <ray at lazydodo.com> wrote:

> All,
> With 2.8 coming up I'd like to make some changes to the supported
> compilers for Blender. However since these are rather large changes
> I'd like to give everyone an opportunity to express any concerns.
> Issues:
> 1) Currently we support msvc 2013(vc12)/2015(vc14)/2017(vc14)
> for building, however we ship all our releases with msvc2013(vc12). This
> has
> lead to some interesting issues with python, since any binary addons the
> user
> might install with pip (or just manually copy in) will be using the vc14
> crt.
> It's rare to run into issues, but when it does it's an instant process
> termination
> (the crt does not deal meeting it's future/past self very well)
> Given python is our most important dependency I'd like to propose that any
> blender
> version we ship in the future (2.8+, 2.79x can keep doing what it's doing)
> matches
> the official python recommendation for that version [1] so we have maximum
> compatibility with any python addons
> 2) To support msvc 2017 we'll officially need a newer boost version, sadly
> support
> for the latest is only available in 1.66 and i have not tested yet if all
> our
> dependencies can actually build against it. However we have no failing
> tests when
> building blender with boost 1.60+2017. it is just a bit (212 warns) chatty
> with
> unknown compiler warnings, we could possibly repress these.
> 3) We recently added a switch in cmake to force the compiler to read all
> our code
> as utf-8 (since there were some users on other codepages that got compiler
> errors
> on some utf8 strings) this added 290 C4828 compiler warnings to a full
> blender build.
> not great. None of these originate in our code, they are dragged in though
> 3rd party
> headers.
> 10 in extern/bullet (we can probably fix these)
> 19 in lib/boost (this one is fixed in newer boost versions [2])
> 261 in lib/OpenCollada (we can easily send a pull upstream)
> however all of these are in comments, completely repressing C4828 might
> not be the
> worst thing here.
> 4) Libraries
> There's a library upgrade [3] coming up for OSL/LLVM/OIIO that just
> doesn't build on
> msvc2013.
> 5) Cuda
> Nvidia is notoriously slow with supporting newer msvc versions severely
> limiting the
> compiler versions we can use (cuda9 only supports 2017 RTM, and we're on
> update 5
> for msvc currently), to resolve this hostage situation I have created a
> small wrapper
> around nvrtc that's able to compile cycles [4], however nvidia doesn't
> allow nvrtc
> to create 32 bit cubins. which held me back from committing it.
> 6) 32 bit support
> I spend a fair amount of time building the blender deps in various
> formats, x86
> it starting to cost more and more time since a few of the projects just
> seem
> to test on linux, sometimes on windows/x64 but rarely on x86 leading to
> all kinds
> of obscure (usually sse) related build errors. This is starting to take up
> a
> significant amount of my time for only a small percentage of end users
> (last
> time I asked ~15% of the blender downloads were for 32 bit users) and by
> the
> time we release 2.8 this number will probably have dropped even further.
> Proposal:
> Officially drop msvc 2013 support for master/2.80 and make vs2017.5 the
> new standard.
> 1) Land D2913, I had been dragging my heels on this because of the
> breakage for x86
> but given brecht recently put out an email [5] saying we were going to
> drop support
> there's no reason not to apply this anymore.
> 2) Retire the 2013+2015 buildbots, and replace them with vs2017 based
> builds.
> 3) Block msvc2013 version in cmake
> 4) Remove the vc12 folders from svn
> 5) Silence the 'unknown compiler warning in our boost version'
> 6) Add C4828 to the ignored warning list.
> 7) Update the wiki build instructions.
> I can do most of these my self, but will probably need sergey to do no 2.
> Pushing my luck:
> Is it too soon to drop x86 support?
> Note that all of these changes are for master/2.80. any updates for 2.79
> a/b/c/etc
> will remain on msvc2013 with the current libraries.
> --Ray
> [1] https://wiki.python.org/moin/WindowsCompilers
> [2] https://github.com/boostorg/format/commit/
> 045c6f15b9f6ef654642906f458d26b584b0b4c9
> [3] https://developer.blender.org/D2915
> [4] https://developer.blender.org/D2913
> [5] https://lists.blender.org/pipermail/bf-committers/2018-
> January/049029.html
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> https://lists.blender.org/mailman/listinfo/bf-committers

Douglas E Knapp, MSAOM, LAc.

More information about the Bf-committers mailing list