Keeping Blender 2.79b up-to-date with modern compiler and libs, stability/security/performance -improvements are also welcome.

CYBERDEV 98c37cc6d3 Update patches and README.md 5 months ago
blender-2.79b f6fedf6796 Initial with vanilla 2.79b release 11 months ago
patches 98c37cc6d3 Update patches and README.md 5 months ago
README.md 98c37cc6d3 Update patches and README.md 5 months ago
build.sh 9da09e4f9d Update README.md and build.sh 10 months ago
create_patches.sh 98c37cc6d3 Update patches and README.md 5 months ago

README.md

Blender legacy

Keeping Blender 2.79b up-to-date with modern compiler and libs, stability/security/performance -improvements are also welcome.

Start point:

  • https://download.blender.org/source/blender-2.79b.tar.gz
  • https://web.archive.org/web/20230405025010/https://download.blender.org/source/blender-2.79b.tar.gz
sha512sum blender-2.79b.tar.gz 
2db21ace446168dd683cdb5aad9dec001f8888ae4e9603a04ddb44fb78489ded827deb07e83712b0f1118a0e7bf66f2a5d935dc4ebb3a6703d72672ff414367f  blender-2.79b.tar.gz

Why

  • On older hardware (2008 era) Blender 2.79b runs much smoother (or even at all) then newer versions.
  • When you prefer the old GUI over the new one.
  • When you don't need all those fancy new features Blender >=2.8 has.

Progress

Progress is tracked on the testing branch.

Libs

Library Version Builds Comment
FFmpeg 6.1 Yes Needs testing, but it builds.
Python 3.11 Yes
Python 3.12 Yes
OpenCollada 1.6.68 Yes
OpenColorIO 2.2 No For now use OpenColorIO 1.1 or build
with WITH_OPENCOLORIO=OFF.
OpenEXR 3.2.4 Yes
OpenImageIO 2.5.10 Yes
OpenVDB 11 Yes

Compiler

Compiler Version Builds Comment
GCC 14.1 Yes

Issues

  • With Intel HD graphics (using crocus_dri.so), Blender will crash when selecting an object. Setting Selection to OpenGL Occlusion Queries under User Preferences -> System will resolve this. See https://projects.blender.org/blender/blender/issues/52527

  • Most addons needs update to recent Python, only some have been updated and are working again. This shouldn't be to hard of a task, but I simply don't have the time to test every single addon there is and only test/update what I use. Please report non working addons so we can fix them together.

  • This currently only compiles without CUDA support. I'm not working on this issue, but a patch is welcome.

See:

- https://aur.archlinux.org/packages/blender-2.7#comment-969143
- https://discuss.cryosparc.com/t/kernel-cu-560-error-texture-is-not-a-template-after-updating-to-v4-1-2/10495
- `git log --after="22-03-2018 14:00" --oneline --follow -- intern/cycles/kernel/kernel_compat_cuda.h`
- `git log --after="22-03-2018 14:00" --oneline -i --grep cuda`
- `cf74cd93674 Cycles: upgrade CUDA to 11.4`
- `3bb3b26c8fd Cycles: Add CUDA 11 build support`
- `60e5ebdd62c Fix Cycles CUDA kernels for Ampere not building with CUDA 11`

Contributions

Help is more then welcome! Please open an issue first so we can prevent double work.

Development hints/notes

Notable Blender commits

  • Mon Apr 16 12:07:42 2018 +0000

    159806140fd33e6ddab951c0f6f180cfbf927d38
    "Removing Blender Game Engine from Blender 2.8"
    
  • Mon Apr 16 13:54:36 2018 +0000

    28b996a9d2090efdd74115a653629ef9d7d871f7
    "Disable GAME ENGINE from the build options"
    
  • Thu Apr 19 15:34:44 2018 +0000

    51b796ff1528c52cc8b4079fab1003671652a4d9
    "Remove Blender Internal and legacy viewport from Blender 2.8."
    

Search Blender git commits

Adjust the below commands as needed.

Prepare (clone the Blender git repo and cd into it):

mkdir ~/git
cd ~/git
git clone https://projects.blender.org/blender/blender.git
cd blender

The v2.79b tag commit is f4dc9f9d68bddaa206b692e1d077d1a1f2bb1528.

Commits between tag 2.79b and one year later

git log --after="22-03-2018 14:00" --before="22-03-2019 14:00"

Commits between tag 2.79b and one year later on specific file or dir

git log --after="22-03-2018 14:00" --before="22-03-2019 14:00" --follow -- source/blender/imbuf/intern/oiio/openimageio_api.cpp

Commits with specific string in it

Multiple examples, adjust any of these to your needs. The --grep string is case sensitive by default, use the -i flag to make it case insensitive.

git log --after="22-03-2018 14:00" --oneline -i --grep OCIO
git log --after="22-03-2018 14:00" --oneline -i --grep OpenColorIO
git log --after="22-03-2018 14:00" --oneline -i --grep OIIO
git log --after="22-03-2018 14:00" --oneline -i --grep OpenImageIO
git log --after="22-03-2018 14:00" --oneline -i --grep FFmpeg
git log --after="22-03-2018 14:00" --oneline -i --grep Python

Show a commit

  • adjust f4dc9f9d68bddaa206b692e1d077d1a1f2bb1528 to your needs.
git show f4dc9f9d68bddaa206b692e1d077d1a1f2bb1528

Create patch from a commit (and the previous commit)

  • adjust my.patch to your needs.
  • adjust 1e6108e97246fe544e39d5a6d9fb907847fd907b to your needs.
git format-patch --output=my.patch -1 1e6108e97246fe544e39d5a6d9fb907847fd907b

FFmpeg resources

OpenColorIO resources

OpenImageIO resources

Python resources