As one of the most asked software to port from "Vote for software port" thread was Blender, then i give it a go (especially as this one also good test of Mesa, not just games and demos).
The port uses SDL2 for window management and input, and Mesa for rendering. It also includes the third-party libraries Blender needs, including an os4-specific port of Python 3.13.
It is still in its early stage, but as you can see, endian issues are gone, the main basics are done, and quite a lot of specific bugs have been fixed.
One of the things I still need to improve is the size of the binary. Currently, even after removing unused relocation sections, removing other unused sections, and stripping (of course), it's still ~200 MB. That's because all the third-party libraries are built into the binary, and I may need to separate them into native AmigaOS4 shared libraries.
The original Windows binary is 113 MB in size, plus the blender.shared directory (external DLLs, most of which I've built into the binary for now): ~335 MB. So you get the point. Even if I try my best and reduce it as much as possible, I probably can't make it 10 MB in size... (sadly, but that's how such modern apps are).
Then, the rendering speed, while already at an acceptable level (the video was recorded on an X1000/RX 570), still doesn't feel ultra-fast.
And more bug fixes, of course.
The video is just to show the progress, so expect part 2 sooner or later probably together with release as well.
Awesome, but maybe Blender 5.x is too complex for OS4 and PPC. For AmigaOS4 and a PPC processor running between 1.5 GHz and 2 GHz, Blender 2.83 or 3.x might be a better option. If it runs but is sluggish or quickly runs out of memory, it is better to use an older version that performs better on limited hardware. From version 2.83 onwards, any Blender feature outperforms—by a factor of ten—any other 3D app known on the Amiga.
I think it is more important to have a version with balanced performance, rather than the latest version with requirements that exceed the machine's capabilities.
The current version 5.x is slow, even on modern computers that are already 6–8 years old.
@kas1e Wow. Someone read my mind. I was just thinking of the possibility of a Mesa-Blender. I was thinking more along the lines of Blender 2.5, before the introduction of Cycles. I don't know how possible it is to render without GPU acceleration. Obviously, we'll see; but this is really impressive so far.
The current Amiga Blender has some things, aside from using minigl, that need attention. Some of the export options don't work, and it'd be nice to see some improvements in stability and rendering options.
@kikems I think you're right. Current Blender is much heavier than it used to be. Kas1e, though, has managed to pull off some Scotty style miracles of late. I'm anxious to see what comes next.
Been reading a long time, first comment though! This is amazing and looks performant enough, at least for basic modeling! Much, much better than Blender 5.x on a Raspberry Pi 5! Blender on RPi5 is practically unusable - lots of lag, even with the interface menus (it has to be run in software rendering on RPi). This is smooth as butter compared to that :)
But we for sure know that with 2GHZ and old PCi-E + memory speeds, and fact that we big-endian (so double swaps sometimes) and with limitation of 1.8gb (even with Extmem max is +2more gb in "some" cases) , we can't use for real some functionality of modern apps.
With Blender, we for sure will not be able to handle "big" stuff, that for granted. Just not enough memory, etc. But for small stuff that can fits very well. Of course i can add usage of ExtMem, but it will not help to the level that you can do whatever you want with.
The same goes to video editors. But even having half of functionality working, will be much better and more than we may hope year or two ago.
First of all, congratulations on the Blender 5.2.2 port. Getting Python 3.13, the big-endian fixes and the SDL2/Mesa layer working is a huge piece of work, and it shows how far Mesa has come on our machines.
I'd like to share a thought, purely as a suggestion. As you said yourself, the ~1.8 GB address space, the 2 GHz CPUs and the memory bandwidth will always keep Blender 5 at the edge of what our PPC hardware can do, and the 200 MB binary reflects how much has been added since the 2.8x days (Geometry Nodes, the new EEVEE, etc.).
To make 5.x usable, we would probably end up disabling or avoiding many of its features (Cycles, simulations, video editing, heavy EEVEE scenes...). At that point, a cut-down Blender 5 isn't much more useful than an older version, and an older version would have all of its features working properly on our hardware. I think a complete, stable older Blender would be more useful day to day than a newer one where much of it is too heavy to use.
Would you consider, once 5.x is out, applying the same work to one of the LTS branches, 2.83 or 2.93? They already have the modern UI and EEVEE, but are much lighter and depend on older, smaller libraries. I think they would feel much more responsive on an X5000 or X1000 and leave more memory for real scenes. Since the hard parts (Python 3, endian, GHOST/SDL2, Mesa) are already solved, a lot of it might carry over.
In any case, if you plan to publish your patches, I'd be glad to help with testing on the X5000, or even with the work on an LTS branch myself.
I use Blender daily for modeling and texturing. I don't do rendering. The models are for games. I don't see any reason my x5000 wouldnt be capable to handle that kind of workload.