Summary: | LUT management with defined OCIO doesn't work on Linux | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | iszotic <iszotic> |
Component: | HDR | Assignee: | amyspark <amy> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | amy, griffinvalley, halla |
Priority: | NOR | ||
Version: | 4.2.0-beta | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
URL: | https://github.com/AcademySoftwareFoundation/OpenColorIO/issues/1322 | ||
Latest Commit: | https://invent.kde.org/graphics/krita/commit/009ea16f93c26ff428ed68de1e0c19949ec2524c | Version Fixed In: | |
Sentry Crash Report: | |||
Bug Depends on: | |||
Bug Blocks: | 435474 |
Description
iszotic
2019-05-24 23:28:57 UTC
Doing more testing, converting to different color profiles icc doesn't work either in linux, :( only on windows... Zut... I can confirm the regression. It must have happened when we merged the HDR display code. I also get things like Error The specified transform file '/home/boud/imageworks-OpenColorIO-Configs-0bb079c/spi-vfx/luts/vd16.spi1d' could not be loaded. Invalid 'From' Tag sending event 43 to object boud, can I ask you to doublecheck you're running Krita with LC_ALL=C ? OCIO has a huge issue with locale stuff. https://docs.krita.org/en/reference_manual/dockers/lut_management.html Because it works here on 220be8f with all of the ocio configs I have here. (In reply to wolthera from comment #3) > boud, can I ask you to doublecheck you're running Krita with LC_ALL=C ? OCIO > has a huge issue with locale stuff. > > https://docs.krita.org/en/reference_manual/dockers/lut_management.html > > Because it works here on 220be8f with all of the ocio configs I have here. >_<, it was that and changing the image's color profile works too... in linux krita could show a warning in console when OCIO is used, just saying I'm pretty sure all my laptops are LC_ALL=C, but I will check. I build 77c9d6b and yes, if I don't run use 'LC_ALL=C krita' specifically, ocio won't work for me. My previous test was also with 'LC_ALL=C krita', despite my pc set to american localization, so whatever is causing the ocio bug, it's very very special. Okay, downgrading this then. This is a bug in OCIO itself. They're using sscanf to parse floating-point numbers in LUTs. This implicitly assumes the files will be parsed using the C locale, which is not the case if you have changed your environment's LANG or LC_* variables. The particular error seen here is triggered by https://github.com/AcademySoftwareFoundation/OpenColorIO/blame/7fece5efb4fecc675376d8d921affb253e52a704/src/core/FileFormatSpi1D.cpp#L131, and is reported in https://github.com/AcademySoftwareFoundation/OpenColorIO/issues/297. I will add a patch for our app's usage as part of 435474. I'm also tagging the relevant bug report upstream. Git commit 49eae9041fe56f12296fe4f0692cc31006c1c16f by L. E. Segovia. Committed on 19/10/2021 at 16:39. Pushed by lsegovia into branch 'master'. OpenColorIO: use Natron's workaround for parsing LUTs on localized systems A +66 -0 plugins/dockers/lut/kis_context_thread_locale.h [License: GPL(v2.0+)] M +3 -0 plugins/dockers/lut/ocio_display_filter_vfx2020.cpp M +3 -0 plugins/dockers/lut/ocio_display_filter_vfx2021.cpp https://invent.kde.org/graphics/krita/commit/49eae9041fe56f12296fe4f0692cc31006c1c16f Git commit 009ea16f93c26ff428ed68de1e0c19949ec2524c by L. E. Segovia. Committed on 19/10/2021 at 19:42. Pushed by lsegovia into branch 'krita/5.0'. OpenColorIO: use Natron's workaround for parsing LUTs on localized systems (cherry picked from commit 49eae9041fe56f12296fe4f0692cc31006c1c16f) A +66 -0 plugins/dockers/lut/kis_context_thread_locale.h [License: GPL(v2.0+)] M +3 -0 plugins/dockers/lut/ocio_display_filter_vfx2020.cpp M +3 -0 plugins/dockers/lut/ocio_display_filter_vfx2021.cpp https://invent.kde.org/graphics/krita/commit/009ea16f93c26ff428ed68de1e0c19949ec2524c |