Skip to end of banner
Go to start of banner

Blender

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

This page is a work in progress !

Motivation

Blender is quite possibly the most popular 3D modelling appplication available, definitely the most popular free one. Enabling it would give considerably better performance on ARM64 platforms for Windows.

Status

WIP - “lite” working with some patches. “Release” needs dependencies enabling first.

Dependencies

WOA-393 - Getting issue details... STATUS

https://mermaid.live/edit#pako:eNptVV9v2yAQ_yoRD3tqqiZzmiYPe8g6VZG6pWqnadqyB2ywQwoGAXbtVP3u4wA7djc_wHF3HPfnd-dXlElC0RpNCo3VYXL_uC8n7ttwWhKqJ9Ppp8luu9393ilabgUu6Hb3Z_JhgjkVKcsclUppLOxaWs4c4QSaUkdwllIlm9aReS4ULTxhXz7C7lRsq0CtEMqtB6wrt7FMljXsAttDsHF0N6e20qmEM6-F26TzBvNIZJJLzWQ8HcNDQJoqJayOh5qkwZ4qQa7sQVNMDJBVwRoB1lRrrGZe_tDagywd8XR771ZzwC4dEK8pSc54jM-yPHdUZYhbX2gKkZwcHzZjydlBjgmGB6TVOKOR3-ipIc_usHuCN4jKFBjgtKZ8eqIaQurzfktLyQyNrIc7uJFyabJojDY6UgWEYlNwoq74My5DSaGMoZ5O58vPx3GWYyTv872J1c2FDWH1eflWiYdRaQfJ_77ZRD8__xgXKboSPQBvYrq8K0HaYQuk4bnAj8ACtosu8HqMdYHd3QdBdAvYHAv6DhwFrLXUKQMA2AOVGnuVCs61atzazK8T2GpGMqnpubJYivhGB2J4pcd_emJqPoQaXAsXAOqg22ITTXjYeyf_1R5iG1Roo7AdVG2A1hYLPnXoOV889tFnwoxKPH4g9ghoEqZpZpsAyYLTF7_lL10FfYdY2gR0nU1AZ_kMRDR2E6Hz84zOYdkg2q7-gdn1GHALbjj2oRnFdD21UnLT3_WRxKzxk8Djrgtq0JPeq-hNaIjza75bo43xiOkqcU5Z31VuGIxq49s6GokjJNM0qHS9Pg5y0PcgOJbM9_zRyLKvH4yDbvD-J5859zVw2PWNOBxfsTfLSqg22ApDBaypQSv9M1VAYfv08HnY4X21uoHjQdhN914ayu6TcEr8gMRKtf8rSQcE0O2CCZlBF0hQLTAj7lf0Ctp75LpS0D1aO5Jg_bxH-_LN6eHKyqe2zNDa6opeoEoRbOktw-4HJtA6x9z03C-EWak7TYXLX1KedaiXfg3_P_8b9Dpo_YoatE7mi8vZMrlK3HJzlVyvLlCL1tPVfHm5WN0sZlfLZD67WS7eLtDJW00uZ3PHml2vFjfLq1WSvP0FedRMSQ

Todo

Get “lite” building OOB, by making sure patches are pushed, and get “Release” version built.

Known Limitations

Currently building/launching is problematic, and requires manually copying DLLs at various points when the build process errors out. There are also many assumptions within blender’s codebase that “Windows == x64”, which needs to be worked out.

Compiling notes

NOTE: This must be done on a WoA machine - cross-compiling is not yet supported.

Currently the following native libraries/programs are required to be present in the vc15_win64 folder (all buildable via vcpkg bar python, which uses the native installer, and a copy-paste from that directory):

  • freetype (freetype.lib must be copied, with new file name freetype2ST.lib)

  • zstd (zstd.lib must be copied and renamed to zstd_static.lib)

  • zlib (zlib.lib must be copied and renamed to libz_st.lib)

  • pthreads

  • libpng (folder renamed to “png” + libpng16.lib must be copied and renamed to libpng.lib)

  • libjpeg-turbo (folder renamed to “jpeg” + jpeg.lib must be copied and renamed to libjpeg.lib)

  • brotli (uses arm64-windows-static target)

  • libepoxy (folder renamed to “epoxy”)

  • python

NOTE: We will ultimately move away from VCPKG, as the blender foundation will not accept it, and requires the dependencies be built manually using their CMake scripts. DO NOT GET TO RELY ON VCPKG FEATURES SUCH AS CMAKE TARGETS, ETC.

Compiling via build script

There is a build script written, which takes care of many of the interim steps required to build and run the lite version of Blender, available here: https://gitlab.com/Linaro/windowsonarm/packages/blender/-/tree/master/

It currently pulls our internal fork of blender, which has patches applied that are required to compile/run Blender.

To use:

  • Ensure you have VS2022 + CMake (>=3.24, which supports ARM64 hosts) installed on an ARM64 host

  • Clone repo

  • Execute build.bat from a plain cmd terminal - ie, not a vcvarsall instance! Plain powershell is also ok

  • Wait for built to complete

Contributing changes to internal fork

If you wish to contribute changes to our internal fork, you may do so by making a merge request for your changes here: https://gitlab.com/Linaro/windowsonarm/forks/blender/

The build script automatically clones this repo into a folder named “blender”.

If you have any questions, queries, or concerns, contact Anthony Roberts

Running

Download ZIP file below, and run blender exe as normal. May require native python (tested with 3.11rc2) being installed and on the path.

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.