For me the solution was to ask blender-bin to follow the host nixpkgs (otherwise I guess we get ABI mismatch) like in:
$ nix run --override-input nixpkgs nixpkgs blender-bin#blender_5_0
or, if installed globally, via
inputs = { # …
blender-bin = {
url = "blender-bin";
# Avoid segfault at startup, see https://github.com/edolstra/nix-warez/issues/1
inputs.nixpkgs.follows = "nixpkgs";
};
};
…
environment.systemPackages = with pkgs; [
inputs.blender-bin.packages.${system}.default
…
See my discussion in nix-warez#1
I also have no issue with nix-ld if you really want the very latest version. I use
x
{ config, pkgs, lib, ... }:
{
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Automatically creates a loader in /lib/* to avoid patching stuff
# To disable it temporarily use
# unset NIX_LD
programs.nix-ld = {
enable = true;
libraries = with pkgs; [
# List by default
zlib
zstd
stdenv.cc.cc
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
# My own additions
libxcomposite
libxtst
libxrandr
libxext
libx11
libxfixes
libGL
libva
pipewire
libxcb
libXdamage
libxshmfence
libXxf86vm
libelf
# Required
glib
gtk2
# Inspired by steam
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/st/steam/package.nix#L36-L85
networkmanager
vulkan-loader
libgbm
libdrm
libxcrypt
coreutils
pciutils
zenity
# glibc_multi.bin # Seems to cause issue in ARM
# # Without these it silently fails
libxinerama
libxcursor
libxrender
libxscrnsaver
libxi
libsm
libice
gnome2.GConf
nspr
nss
cups
libcap
SDL2
libusb1
dbus-glib
ffmpeg
# Only libraries are needed from those two
libudev0-shim
# needed to run unity
gtk3
icu
libnotify
gsettings-desktop-schemas
# https://github.com/NixOS/nixpkgs/issues/72282
# https://github.com/NixOS/nixpkgs/blob/2e87260fafdd3d18aa1719246fd704b35e55b0f2/pkgs/applications/misc/joplin-desktop/default.nix#L16
# log in /home/leo/.config/unity3d/Editor.log
# it will segfault when opening files if you don’t do:
# export XDG_DATA_DIRS=/nix/store/0nfsywbk0qml4faa7sk3sdfmbd85b7ra-gsettings-desktop-schemas-43.0/share/gsettings-schemas/gsettings-desktop-schemas-43.0:/nix/store/rkscn1raa3x850zq7jp9q3j5ghcf6zi2-gtk+3-3.24.35/share/gsettings-schemas/gtk+3-3.24.35/:$XDG_DATA_DIRS
# other issue: (Unity:377230): GLib-GIO-CRITICAL **: 21:09:04.706: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
# Verified games requirements
libxt
libxmu
libogg
libvorbis
SDL
SDL2_image
glew110
libidn
tbb
# Other things from runtime
flac
freeglut
libjpeg
libpng
libpng12
libsamplerate
libmikmod
libtheora
libtiff
pixman
speex
SDL_image
SDL_ttf
SDL_mixer
SDL2_ttf
SDL2_mixer
libappindicator-gtk2
libdbusmenu-gtk2
libindicator-gtk2
libcaca
libcanberra
libgcrypt
libvpx
librsvg
libxft
libvdpau
# ...
# Some more libraries that I needed to run programs
pango
cairo
atk
gdk-pixbuf
fontconfig
freetype
dbus
alsa-lib
expat
# for blender
libxkbcommon
libxcrypt-legacy # For natron
libGLU # For natron
# Appimages need fuse, e.g. https://musescore.org/fr/download/musescore-x86_64.AppImage
fuse
e2fsprogs
# darktable nightly AppImage https://github.com/darktable-org/darktable/releases
gmp
# RapidRaw
harfbuzz
libgpg-error
# https://github.com/xournalpp/xournalpp/releases/download/v1.2.4/xournalpp-1.2.4-x86_64.AppImage
fribidi
librsvg
# https://github.com/nix-community/nix-ld/issues/95#issuecomment-3041993870
(runCommand "librsvg" {} ''
mkdir -p $out/lib/gdk-pixbuf-2.0/2.10.0/loaders
ln -s "${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader_svg.so" "$out/lib/libpixbufloader-svg.so"
'')
# pdfmastereditor
sane-backends
pkcs11helper
# Qt6 requires this (e.g. used in zxlive)
libpulseaudio
krb5
libxcb-cursor
libxcb-wm
libxcb-util
libxcb-image
libxcb-keysyms
libxcb-render-util
];
};
}
then I can just decompress the tar file and run inside the folder
$ ./blender
கட்டணம் இல்லாமல் RAW திருத்துங்கள்.. darktable இலவசம், original அப்படியே இருக்கும். 400+ camera RAW. திருமண album-க்கும் போதும். darktable-லா, Lightroom-லா ?
darktable-org/darktable
Instagram-லும் பின்தொடருங்கள்: instagram.com
5 likes · 1 repost · 480 views
¿Pagas Lightroom? 3 razones para cambiarte a darktable gratis #shorts
¿Pagas Lightroom para revelar tus RAW? 3 razones para cambiarte a darktable, gratis y de código abierto.
Tutorial completo de darktable: youtu.be
🔗 Repositorio: darktable-org/darktable
🌐 Web oficial: darktable.org
⬇️ Descargas: github.com/darktable-org/darktable/releases/latest
🎙️ Voz sintética.
#shorts #opensource #gratis
4 likes · 397 views
💸 修图订阅一月六十,我一年只修两批照片。darktable 一万三千星,RAW 解码降噪蒙版齐全,两百张批量处理,不联网不催费。
darktable-org/darktable
6 views
I used Claude Code to add an API to darktable (the open-source raw photo editor) so Claude can edit photos in it through MCP
This is my own project. Free to try. It's open source (GPL, like darktable), with no paid tier.
What it is. darktable is an open-source raw photo editor, roughly comparable to Adobe Lightroom. I added an API to it in a fork: a JSON-RPC server running darktable's own engine headlessly, or inside darktable's GUI window. On top of that API is an MCP server with 78 tools and 6 skills. Claude can browse a library, open a photo, change any module's settings, check previews, mask, heal sensor dust and export. Edits land in darktable's normal history, so you can keep working on them in darktable yourself.
Inspired by darktable's own MCP server. darktable's development version (the master branch, which becomes the next release) includes darktable-mcp, a headless, one-shot worker: each call renders, exports or applies a style, then returns. My engine started from its code. The main differences:
- A live edit session. The photo stays open between requests. Claude changes a setting, checks the preview and adjusts again, with undo, redo and an explicit save.
- darktable's window can serve it. Watch Claude's edits appear in the darkroom, and hand the library back and forth between the GUI and the headless engine.
- Settings by name. Claude sets "exposure" or "contrast" through darktable's own controls, not raw module parameters.
- Many clients. A web app and an AI assistant can work on the same photo at once, with change events.
- More functions. darktable-mcp has 21 tools for rendering, styles and library basics. darktable-api adds masks (drawn, parametric, AI), retouching and dust healing, presets, curves, crop and rotate, color pickers and AI denoise, for 73 methods.
Demo video: youtube.com
How Claude was used to build it. I directed and reviewed the work; Claude Code wrote nearly all of the code:
- The C engine inside darktable: Claude read darktable's source and developer docs, then wrote the API server against its internals: pixelpipe, history, masks, module params.
- The MCP server and web app: Python and JavaScript. The tool docstrings double as Claude's instructions for using them.
- Skills: a full edit in darktable's recommended scene-referred workflow, plus black and white, local edits, cleanup, batch edits and critiques.
- Testing: Claude tests every API method against the headless engine and darktable's window, on a scratch copy of the library, and fixes what fails, on the Mac and on a Linux box over SSH.
What was hard. darktable's GUI and engine are intertwined, so making API edits show up live in an open darkroom took several rounds. Also, the development version saves some module settings in a format the current release (5.6) can't read.
Try it. Built and tested on macOS (Apple Silicon) and Linux (Ubuntu 24.04); not yet on Windows. It's experimental, so use a copy of your library.
- MCP server and setup instructions: mmcc-xx/darktable-api-mcp
- darktable fork (branch darktable-api): mmcc-xx/darktable
- Web app: mmcc-xx/darktable-api-web
- Discussion with darktable's developers: darktable#21340
My hope is that this lowers the barrier to entry for darktable and helps people get more from their photos. Let me know what you think.
3 points · 4 comments
To improve support darktable needs more DNG samples with OpcodeList3 Gainmaps
Due to constraints of the optics in drones, raw files need a lot corrections to look good. They are embedded as metadata in the DNG files, but properly implementing the algorithms isn't always obvious and there are plenty of potential corner cases, so raw samples are needed to verify the implementation.
If you have a drone or camera that embeds this metadata, you can help by supplying DNG + JPEG pair samples. They don't have to be good photos. Upload them to Dropbox, Google Drive or similar, then share the link here. Also please make sure to specify the Creative Commons licence you release them under - CC0, CC BY or CC BY-SA are preferred.
To improve support darktable needs more DNG samples with OpcodeList3 Gainmaps
Due to constraints of the optics in drones, raw files need a lot corrections to look good. They are embedded as metadata in the DNG files, but properly implementing the algorithms isn't always obvious and there are plenty of potential corner cases, so raw samples are needed to verify the implementation.
If you have a DJI (or other brand) drone or camera that embeds this metadata, you can help by supplying DNG + JPEG pair samples. They don't have to be good photos. Upload them to Dropbox, Google Drive or similar, then share the link here. Also please make sure to specify the Creative Commons licence you release them under - CC0, CC BY or CC BY-SA are preferred.
2 points
@SophosSupport Hi, your AV is causing anxiety among darktable users: darktable#22519
Could you please fix your signatures.
14 views
Mentions
For me the solution was to ask blender-bin to follow the host nixpkgs (otherwise I guess we get ABI mismatch) like in: $ nix run --override-input nixpkgs nixpkgs blender-bin#blender_5_0 or, if installed globally, via inputs = { # … blender-bin = { url = "blender-bin"; # Avoid segfault at startup, see https://github.com/edolstra/nix-warez/issues/1 inputs.nixpkgs.follows = "nixpkgs"; }; }; … environment.systemPackages = with pkgs; [ inputs.blender-bin.packages.${system}.default … See my discussion in nix-warez#1 I also have no issue with nix-ld if you really want the very latest version. I use x { config, pkgs, lib, ... }: { # Allow unfree packages nixpkgs.config.allowUnfree = true; # Automatically creates a loader in /lib/* to avoid patching stuff # To disable it temporarily use # unset NIX_LD programs.nix-ld = { enable = true; libraries = with pkgs; [ # List by default zlib zstd stdenv.cc.cc curl openssl attr libssh bzip2 libxml2 acl libsodium util-linux xz systemd # My own additions libxcomposite libxtst libxrandr libxext libx11 libxfixes libGL libva pipewire libxcb libXdamage libxshmfence libXxf86vm libelf # Required glib gtk2 # Inspired by steam # https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/st/steam/package.nix#L36-L85 networkmanager vulkan-loader libgbm libdrm libxcrypt coreutils pciutils zenity # glibc_multi.bin # Seems to cause issue in ARM # # Without these it silently fails libxinerama libxcursor libxrender libxscrnsaver libxi libsm libice gnome2.GConf nspr nss cups libcap SDL2 libusb1 dbus-glib ffmpeg # Only libraries are needed from those two libudev0-shim # needed to run unity gtk3 icu libnotify gsettings-desktop-schemas # https://github.com/NixOS/nixpkgs/issues/72282 # https://github.com/NixOS/nixpkgs/blob/2e87260fafdd3d18aa1719246fd704b35e55b0f2/pkgs/applications/misc/joplin-desktop/default.nix#L16 # log in /home/leo/.config/unity3d/Editor.log # it will segfault when opening files if you don’t do: # export XDG_DATA_DIRS=/nix/store/0nfsywbk0qml4faa7sk3sdfmbd85b7ra-gsettings-desktop-schemas-43.0/share/gsettings-schemas/gsettings-desktop-schemas-43.0:/nix/store/rkscn1raa3x850zq7jp9q3j5ghcf6zi2-gtk+3-3.24.35/share/gsettings-schemas/gtk+3-3.24.35/:$XDG_DATA_DIRS # other issue: (Unity:377230): GLib-GIO-CRITICAL **: 21:09:04.706: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed # Verified games requirements libxt libxmu libogg libvorbis SDL SDL2_image glew110 libidn tbb # Other things from runtime flac freeglut libjpeg libpng libpng12 libsamplerate libmikmod libtheora libtiff pixman speex SDL_image SDL_ttf SDL_mixer SDL2_ttf SDL2_mixer libappindicator-gtk2 libdbusmenu-gtk2 libindicator-gtk2 libcaca libcanberra libgcrypt libvpx librsvg libxft libvdpau # ... # Some more libraries that I needed to run programs pango cairo atk gdk-pixbuf fontconfig freetype dbus alsa-lib expat # for blender libxkbcommon libxcrypt-legacy # For natron libGLU # For natron # Appimages need fuse, e.g. https://musescore.org/fr/download/musescore-x86_64.AppImage fuse e2fsprogs # darktable nightly AppImage https://github.com/darktable-org/darktable/releases gmp # RapidRaw harfbuzz libgpg-error # https://github.com/xournalpp/xournalpp/releases/download/v1.2.4/xournalpp-1.2.4-x86_64.AppImage fribidi librsvg # https://github.com/nix-community/nix-ld/issues/95#issuecomment-3041993870 (runCommand "librsvg" {} '' mkdir -p $out/lib/gdk-pixbuf-2.0/2.10.0/loaders ln -s "${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader_svg.so" "$out/lib/libpixbufloader-svg.so" '') # pdfmastereditor sane-backends pkcs11helper # Qt6 requires this (e.g. used in zxlive) libpulseaudio krb5 libxcb-cursor libxcb-wm libxcb-util libxcb-image libxcb-keysyms libxcb-render-util ]; }; } then I can just decompress the tar file and run inside the folder $ ./blender
கட்டணம் இல்லாமல் RAW திருத்துங்கள்.. darktable இலவசம், original அப்படியே இருக்கும். 400+ camera RAW. திருமண album-க்கும் போதும். darktable-லா, Lightroom-லா ? darktable-org/darktable Instagram-லும் பின்தொடருங்கள்: instagram.com
¿Pagas Lightroom? 3 razones para cambiarte a darktable gratis #shorts ¿Pagas Lightroom para revelar tus RAW? 3 razones para cambiarte a darktable, gratis y de código abierto. Tutorial completo de darktable: youtu.be 🔗 Repositorio: darktable-org/darktable 🌐 Web oficial: darktable.org ⬇️ Descargas: github.com/darktable-org/darktable/releases/latest 🎙️ Voz sintética. #shorts #opensource #gratis
💸 修图订阅一月六十,我一年只修两批照片。darktable 一万三千星,RAW 解码降噪蒙版齐全,两百张批量处理,不联网不催费。 darktable-org/darktable
I used Claude Code to add an API to darktable (the open-source raw photo editor) so Claude can edit photos in it through MCP This is my own project. Free to try. It's open source (GPL, like darktable), with no paid tier. What it is. darktable is an open-source raw photo editor, roughly comparable to Adobe Lightroom. I added an API to it in a fork: a JSON-RPC server running darktable's own engine headlessly, or inside darktable's GUI window. On top of that API is an MCP server with 78 tools and 6 skills. Claude can browse a library, open a photo, change any module's settings, check previews, mask, heal sensor dust and export. Edits land in darktable's normal history, so you can keep working on them in darktable yourself. Inspired by darktable's own MCP server. darktable's development version (the master branch, which becomes the next release) includes darktable-mcp, a headless, one-shot worker: each call renders, exports or applies a style, then returns. My engine started from its code. The main differences: - A live edit session. The photo stays open between requests. Claude changes a setting, checks the preview and adjusts again, with undo, redo and an explicit save. - darktable's window can serve it. Watch Claude's edits appear in the darkroom, and hand the library back and forth between the GUI and the headless engine. - Settings by name. Claude sets "exposure" or "contrast" through darktable's own controls, not raw module parameters. - Many clients. A web app and an AI assistant can work on the same photo at once, with change events. - More functions. darktable-mcp has 21 tools for rendering, styles and library basics. darktable-api adds masks (drawn, parametric, AI), retouching and dust healing, presets, curves, crop and rotate, color pickers and AI denoise, for 73 methods. Demo video: youtube.com How Claude was used to build it. I directed and reviewed the work; Claude Code wrote nearly all of the code: - The C engine inside darktable: Claude read darktable's source and developer docs, then wrote the API server against its internals: pixelpipe, history, masks, module params. - The MCP server and web app: Python and JavaScript. The tool docstrings double as Claude's instructions for using them. - Skills: a full edit in darktable's recommended scene-referred workflow, plus black and white, local edits, cleanup, batch edits and critiques. - Testing: Claude tests every API method against the headless engine and darktable's window, on a scratch copy of the library, and fixes what fails, on the Mac and on a Linux box over SSH. What was hard. darktable's GUI and engine are intertwined, so making API edits show up live in an open darkroom took several rounds. Also, the development version saves some module settings in a format the current release (5.6) can't read. Try it. Built and tested on macOS (Apple Silicon) and Linux (Ubuntu 24.04); not yet on Windows. It's experimental, so use a copy of your library. - MCP server and setup instructions: mmcc-xx/darktable-api-mcp - darktable fork (branch darktable-api): mmcc-xx/darktable - Web app: mmcc-xx/darktable-api-web - Discussion with darktable's developers: darktable#21340 My hope is that this lowers the barrier to entry for darktable and helps people get more from their photos. Let me know what you think.
To improve support darktable needs more DNG samples with OpcodeList3 Gainmaps Due to constraints of the optics in drones, raw files need a lot corrections to look good. They are embedded as metadata in the DNG files, but properly implementing the algorithms isn't always obvious and there are plenty of potential corner cases, so raw samples are needed to verify the implementation. If you have a drone or camera that embeds this metadata, you can help by supplying DNG + JPEG pair samples. They don't have to be good photos. Upload them to Dropbox, Google Drive or similar, then share the link here. Also please make sure to specify the Creative Commons licence you release them under - CC0, CC BY or CC BY-SA are preferred.
To improve support darktable needs more DNG samples with OpcodeList3 Gainmaps Due to constraints of the optics in drones, raw files need a lot corrections to look good. They are embedded as metadata in the DNG files, but properly implementing the algorithms isn't always obvious and there are plenty of potential corner cases, so raw samples are needed to verify the implementation. If you have a DJI (or other brand) drone or camera that embeds this metadata, you can help by supplying DNG + JPEG pair samples. They don't have to be good photos. Upload them to Dropbox, Google Drive or similar, then share the link here. Also please make sure to specify the Creative Commons licence you release them under - CC0, CC BY or CC BY-SA are preferred.
@SophosSupport Hi, your AV is causing anxiety among darktable users: darktable#22519 Could you please fix your signatures.