Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

blender: 4.3.2 -> 4.4.0 #391594

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft

blender: 4.3.2 -> 4.4.0 #391594

wants to merge 3 commits into from

Conversation

amarshall
Copy link
Member

See individual commits for details.

I’m on the fence about making the OpenCOLLADA Blender fork top-level, especially as Blender expects to remove it in v5.0 later this year anyway. Thoughts welcome.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

Blender is now using a fork of OpenCOLLADA. They have done so since 4.2,
but in the upcoming Blender 4.4, Blender will fail to build with the
original and needs this fork. This fork “removes everything (a lot!)
that is not actually needed by Blender” and so is likely not suitable
for use by other projects (of which there are a few within Nixpkgs). See
more in [upstream README][1].

[1]: https://github.com/aras-p/OpenCOLLADA/blob/4526eb8aaa6462c71fbedd23103976c151a01c50/README.md
Changelog: https://developer.blender.org/docs/release_notes/4.4/

Diff: https://projects.blender.org/blender/blender/compare/v4.3.2..v4.4.0

- Blender now needs its fork of OpenCOLLADA to build successfully
- Blender is now bundling assets with the release tarballs again, so go
  back to single src
- Blender changed Draco location so we can have it work out-of-the-box
  and don’t have to move the Python dir around anymore; see upstream
  faaa12a10131b93757a8395f3448040436981e5f
- Other patches we backported are now applied and unneeded
- Blender added Pipewire support, but it’s off in their release builds
  currently so turn it off as well
@VuiMuich
Copy link
Contributor

VuiMuich commented Mar 21, 2025

The package builds fine, but I found some visual glitches (on switching workspace occasionally some icon gets drawn really big possible at the mouse cursor position for a split second, and on the sculpt workspace the icon for brushes are messed up) and one crash when trying to assign a texture to the default cube to test texture painting.

Edit: stdout of my testrun:

>>> result/bin/blender
[W][23:33:14.272851] pw.conf      | [          conf.c: 1204 pw_conf_load_conf_for_context()] setting config.name to client-rt.conf is deprecated, using client.conf
register_class(...):
Info: Registering key-config preferences class: 'Prefs', bl_idname 'Blender' has been registered before, unregistering previous
register_class(...):
Info: Registering key-config preferences class: 'Prefs', bl_idname 'Blender' has been registered before, unregistering previous
Warning: Missing Textures (or linked), detected!
Warning: Missing Textures (or linked), detected!
Warning: Missing Textures (or linked), detected!
Warning: Missing Textures (or linked), detected!
Error: nu::shell::core_dumped

  × External command core dumped
   ╭─[entry #48:1:1]
 1  result/bin/blender
   · ─────────┬────────
   ·          ╰── core dumped with SIGABRT (6)
   ╰────

F.or context my system info:

>>> nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.13.6, NixOS, 25.05 (Warbler), 25.05.20250313.6607cf7`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Lix, like Nix) 2.91.1
System type: x86_64-linux
Additional system types: i686-linux, x86_64-v1-linux, x86_64-v2-linux, x86_64-v3-linux
Features: gc, signed-caches
System configuration file: /etc/nix/nix.conf
User configuration files: /home/vuimuich/.config/nix/nix.conf:/nix/store/48bj474dndli3kfjv7cbn041ya0pm6vy-stylix-kde-config/nix/nix.conf:/etc/xdg/nix/nix.conf:/home/vuimuich/.nix-profile/etc/xdg/nix/nix.conf:/nix/profile/etc/xdg/nix/nix.conf:/home/vuimuich/.local/state/nix/profile/etc/xdg/nix/nix.conf:/etc/profiles/per-user/vuimuich/etc/xdg/nix/nix.conf:/nix/var/nix/profiles/default/etc/xdg/nix/nix.conf:/run/current-system/sw/etc/xdg/nix/nix.conf
Store directory: /nix/store
State directory: /nix/var/nix
Data directory: /nix/store/riqr33jgc60nsk8w2d0blq17y8skp0yn-lix-2.91.1/share`
 - channels(root): `"home-manager-23.05.tar.gz, nixos-23.05"`
 - channels(vuimuich): `""`
 - nixpkgs: `/nix/store/sznkl4iwqvxprlg05fx24xx8bd8j7y6l-source`

hash = "sha256-LCU2JpQbvQ+W/jC+H8J2suh+X5sTLOG9TcE2EeHqVh4=";
})
(fetchgit {
name = "assets";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe my crash and glitch came from missing some assets?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It’s in the commit message, but the assets are now bundled in the release tarball. The only difference is the release tarball doesn’t have Git-specific files like .gitattributes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, missed that.

@@ -201,6 +172,7 @@ stdenv'.mkDerivation (finalAttrs: {
"-DWITH_OPENIMAGEDENOISE=${if openImageDenoiseSupport then "ON" else "OFF"}"
"-DWITH_OPENSUBDIV=ON"
"-DWITH_OPENVDB=ON"
"-DWITH_PIPEWIRE=OFF"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a specific reason, why we want no pipewire?
Or could we make this optional, same as jack?

Copy link
Contributor

@VuiMuich VuiMuich Mar 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just saw your note in the commit message, sorry for not looking there first.

Still an option might be nice to have, no?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally don’t really want to support something that upstream doesn’t support (src). It’s an outstanding todo item, IMO, to more properly consume Blender’s own release config in our packaging so we make fewer deviations.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, with that It sure makes to wait for upstream defaulting to ON.

@amarshall
Copy link
Member Author

amarshall commented Mar 21, 2025

some icon gets drawn really big possible at the mouse cursor position for a split second

Yea I have seen that briefly (I didn’t get a crash, though), but I haven’t yet done full testing. Need to compare with Blender’s own build to see if it’s a packaging or upstream issue.

@amarshall
Copy link
Member Author

amarshall commented Mar 21, 2025

Actually I’m seeing the workspace switch icon flashing on 4.3.2 as well, so I don’t think it’s an issue with the upgrade, but possibly some dependency update that’s happened in the interim.

@VuiMuich
Copy link
Contributor

So, both visual glitches happen as well on my sons machine with Garuda Linux, also he is on Wayland, while I am running X11. I'll see if there is an upstream issue for this.

Furthermore, I wasn't able to reproduce the crash as well.

@clamydo
Copy link

clamydo commented Mar 22, 2025

I'm seeing a visual glitch in the grease pencil asset icons. They are all the same icons. When hovering or selecteng, the correct icon for the hovered/selected item the mouse is over is shown. But the icons right of the cursor change to the selected/hovered icon and left of the mouse the items stay the same as before.

Can someone confirm this glitch?

@VuiMuich
Copy link
Contributor

Yes, that's exactly the glitch I am seeing on the Sculpting workspace.

I also found an additional detail in the flashing icon glitch: it is the last icon of the tool menu to the left. When the tools are hidden (e.g. by pressing T) it does not appear.

I can confirm both glitches on 4.3.2 and 4.4.0, on Wayland and X11, on NixOS and on Garuda, on system packages and the official binary package from blender.org. But neither macOS nor Windows seem to be affected.
I only had a brief look at upstream issues and could not find something, so if tomorrow is a rainy day as predicted, I'll open upstream issues for both.

@VuiMuich
Copy link
Contributor

At least the glitch with the brush thumbnails seems to be an issue in MESA 25.0.0 and should be fixed by https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34091
I guess the other glitch might be related as well, I am still opening an issue for that, just in case it actually is not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants