Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel
panelIconIdatlassian-info
panelIcon:info:
bgColor#FFF0B3

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.

To run it, you need latest version of Adreno GPU driver: https://www.qualcomm.com/products/mobile/snapdragon/pcs-and-tablets/snapdragon-8-series-mobile-compute-platforms/snapdragon-8cx-gen-3-compute-platform#Software

Status

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

Dependencies

Jira Legacy
serverSystem JIRA
serverId59107c6f-1e52-32bc-b58f-400d54bba998
keyWOA-393

Nightlies available from blender via 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_YoatE7mi8vZMrlK3HJzlVyvLlCL1tPVfHm5WN0sZlfLZD67WS7eLtDJW00uZ3PHml2vFjfLq1WSvP0FedRMSQDependencies are being enabled one by one, the cmakelists which shows ones that are not commented out is builder.blender.org/download/daily/

Dependencies

All are enabled except OpenPGL, and DPCPP.

A full list can be seen here: https://gitlabprojects.blender.com/Linaro/windowsonarm/forksorg/blender/blender/-src/blobbranch/woamain/build_files/build_environment/CMakeListscmake/versions.txt

Any commented out ones are not yet enabled.

Todo

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

Known Limitations

There are assumptions within blender's codebase that "Windows == x64", which need to be worked out - some things (such as stack traces) won’t work because of thiscmake

Todo

Enable OpenPGL and investigate clang-cl builds.

Known Limitations

Only 8cx Gen3 and above devices work.

Compiling notes

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

Compiling blender

As blender now has pre-builts available for Windows ARM64, the standard blender build instructions can be followed for a normal build of blender (note, only VS2022 works for ARM64): https://developer.blender.org/docs/handbook/building_blender/windows/

Compiling via build script (outdated)

Note

You shouldn’t need these instructions unless you intend on building the deps yourself - it is likely they may not work. Please speak to Anthony Roberts if you have queries about this section.

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

It currently pulls our internal should work on the main fork of blender, which has patches applied that are required to compile/run Blender. Some dependencies are enabled via this script, but not enough to consider it a full “release”but mileage may very, as main is a fast-moving target within blender.

To use:

  • Set up arm64 wenv: https://gitlab.com/Linaro/windowsonarm/wenv/

  • Clone repo

  • Execute build./recipe.bat sh origin/part-2-patch-mrmain out_dir from a wenv bash terminal - ie, not a vcvarsall/plain CMD instance!

  • Wait for build to complete

Contributing changes

...

If you wish to contribute changes to our internal forkBlender, you may do so by making a merge request for your changes to blender’s main repo here: https://gitlabprojects.blender.comorg/Linaroblender/windowsonarm/forks/blender/The build script automatically clones this repo into a folder named “blender”

Any changes or issues relating to Windows ARM64 will be directed to Anthony Roberts by the blender triaging team - if you have bigger changes to discuss, please reach out to Anthony directly at anthony.roberts@linaro.org.

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

Running

Note

This is 4 months out of date, with no optimizations, due to the above linked issues. For a recent working build, please contact anthony.roberts@linaro.org

Download the artifacts produced from our nightly build of blenderDownload a daily build from the blender build bots from here: https://woastoragebuilder.blob.core.windows.net/packages/blender/blender_woa.zipblender.org/download/daily/