Proposal: Bump minimum CPU requirements for Blender

A quick note that the latest CPUs still have mitigations.

I forgot that Intel said they would not provide mitigations for CPUs older than 2008.

I think no AMD CPUs that can run W10 64-bit lack SSE3. AMD would have introduced SSE3 in 2005 but CMPXCHG16B only in 2006.

@retro you have made your point, please slow down a bit

3 Likes

Iā€™m not sure what is with Blender obsession supporting completely outdated hardware to begin with, especially if cutting them off going to benefit performance or stability of Blender and other 3d packages did it long time ago.

Users on such outdated hardware most likely arenā€™t there for cutting edge new Blender features and are hobbyists who can easily utilize older version of Blender for their needs, especially now when we have LTS builds where 3.3 will support them until 2024.

1 Like

My purely personal opinion on this is that any tradeoff has to be weighed very carefully. For me this proposal can be restated as ā€œCan our most-affluent users get a performance increase if we abandon our poorest users?ā€ If so, is it enough to be ā€œworth itā€?

It is easy to try to judge this in terms of our own local values and economies. But in many areas of this world we have some users where the cost of a computer is more than the yearly average income. I personally find greater satisfaction in helping our poorest users use Blender than speeding up the work of those with the most.

That said, ā€œx86-64-v2ā€ (CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3) sounds reasonable to me. Seems like a nice change for Blender 4.0 if we announce the change fairly early. This project tends to give little notice about large changes.

10 Likes

The x64 feature levels are controversial. They were defined between Intel, AMD, SUSE, and Red Hat. The x86-64-v2 for example is thought for enterprise and it does not include AVX because of the Atom server chips. Ubuntu, Debian, FreeBSD for example do not require this.

1 Like

Bah, humbug. I want my performance no matter the cost :laughing:

My guess of a timeline is something like 5 years from now (~2 years until it happens and another ~2 years of official LTS support). By then it would be ~20 years old tech. Whether it happens or not, amazing stuff and commendable.

I just donā€™t see it as being abandoned, because using a previous version of Blender isnā€™t that bad. Still able to work on anything, still able to learn on. It would be a really long time before anybody would be looking at a 2.79 vs 2.80 change, I bet. Even then, it is relevant knowledge that transcends application.

Also, open source. I hereby volunteer to help whoever in the year 2525, if man is still alive, with blender version 3.5.

The problem is that, on Linux, which is attractive for giving old hardware a new lease on life, itā€™s also more difficult to get old versions of software running without compiling it yourselfā€¦ possibly having to compile other dependencies too if the current versions packaged by the distro are no longer API-compatible or have been dropped because nothing uses them anymoreā€¦ which in turn could require patching or other effort to get them to compile.

This is made worse by no distro Iā€™ve daily driven including LTS branches of Blenderā€¦ only the mainline versions.

(And solutions like Appimage arenā€™t an easy fix because itā€™s hard to figure out which libraries will be dropped and which must be provided by the system to avoid the ā€œevery time I update my distro, I need to delete at least one bundled library from one of my GOG.com games to solve a newly introduced segfault-on-start issueā€ problem.)

1 Like

I hereby volunteer to compile blender for you in ~5 years, should it still be necessary. If you need HIP, I hope AMD has released an SDK or something for it by then :wink:

I think my stance can be summed up with, desperate times call for mildly inconvenienced measures. In context especially, like if you canā€™t get ahold of some min requirements hardware, you are going to have to make up the lost time/energy in other ways. Whether itā€™s compiling, modifying source, or just making do with older OS that plays nice with it. Keep it offline, just for work, whatever. If it matters enough, it matters enough. I, and no doubt many others more capable, will help.

2 Likes

That falls victim to the ā€œif people need to ask, itā€™s already too lateā€ problem.

Only a tiny fraction of people will go to the effort needed to find you and only a smaller fraction will.

If support for older x86_64 CPUs is to be dropped before less enterprise-oriented distros (i.e. distros other than Red Hat, SUSE, and their derivatives) are going to drop it, then there should be a well-considered and official plan for maximizing the ability of people on those distros to get access to working LTS builds, even if itā€™s just outreach to them to encourage them to also package LTS as an alternative package.

I have full confidence of a well considered and official plan, the thread existing is enough evidence of that. Nobody will be reliant on me or any unofficial support unless it is purely by their own choice.

You all made your point. :slight_smile: Please letā€™s not turn this thread into an off-topic discussion. Among Blender developers repliying in this thread, x86-64-v2 sounds like a sane target. Now itā€™s time for benchmarks.

Once these are there, we can continue discussing the ā€œwhenā€.

Further off-topic comments will be removed!

3 Likes

Hi, I build Blender on Linux with -march=native and test the usual demo files.
I got marginal differences in render times, > 1%, sometimes the default build is even faster.
I can try other settings but march=native should do it, or not?

AMD Ryzen 7 4700G
SSE 4.2, AVX2

Cheers, mib

Cycles already uses specialized CPU kernels, tailored to several CPU instruction sets, for its processing. You wonā€™t see much gain there by just building with new options.

You might see it with heavy geometry processing or particle systems though. Unfortunately things like the particle systems, cloth sims, and Mantaflow are end of life and not being maintained, improved, or fixed. Those are the types of areas that could see decent improvement but gains there probably donā€™t mean much any longer.

Maybe some boolean scenarios would improve? Maybe operations which force the recalculation of mesh normals in either edit or sculpt mode would see some benefit? Maybe texture painting becomes better? Maybe complex armatures animate faster? etc. etc.

The remaining areas that could show an improvement are harder to quantify and would require much more work to check. For instance all of the dependencies that Blender uses. Recently SSE was enabled for ffmpeg which yielded good results for VSE scenarios. Maybe OpenVDB scenarios for volume processing (not rendering) through geometry nodes would show some gain.

There needs to be a plan for what user-facing scenarios weā€™d check. The above is not the complete list.

5 Likes

Excuse me, Iā€™m confused.
My machine wonā€™t run Blender anymore, because of the new requirement.
Now, given I have a LGA775 Socket, which CPU should I buy?

Or should I buy a new PC?

Thanks in advance for any help.
Regards, have a nice day.

I am afraid there is no suitable CPU available for the LGA775 socket. You need at least a Nehalem (microarchitecture) - Wikipedia CPU for Intel.

Considering this is a pretty old setup, Iā€™d suggest to get a new computer if possible. Check our Requirements & Compatibility ā€” blender.org page for the minimum system requirements.

1 Like

Thanks. Iā€™m gonna buy a new computer, cheap as possible

The SSE 4.2 requirement in Blender 4.2 is a bad move. Since my CPU does not support that, although its still powerful enough for Blender and my GPU is modern enough to handle 3D, even having DirectX 12. Normally any software should be able to use the CPUID instruction to determine the available CPU features. So for those who already have CPUā€™s with SSE4.2, AVX, AVX2 they can benefit from those features. But as fallback on 64bit the SSE2 feature is baseline and so why not keep that for compatibility reason?
Please re-consider to support SSE2 as general fallback; At least for Windows 10 64bit OS. Thank you!
Otherwise I cannot use newer versions of Blender anymore.

You sure about that, what CPU do you have?

Intel added SSE 4.2 support to CPUā€™s in 2008, while AMD was a little later in 2011. So basically your PC is well over a decade old.

Then thereā€™s the OS issue. Windows 10 will stop getting updates in a years time, while the latest version of Windows 11 (24H2) actually requires SSE 4.2 in order to boot.

Thatā€™s just too old and would either mean so much more work for the devā€™s to have to add and maintain code for an instruction set that was first seen in the Pentium 4 CPU back in 2000.

And we all want to be able to use an updated and modern, feature packed 3D package. That unfortunately means needing at least somewhat recent hardware and I donā€™t think requiring anything from the past decade is asking too much.

7 Likes