Skip to content

About

Load film looks and your own LUTs into your GR III / GR IIIx — a local browser editor for film, presets, grain and shutdown screen. No firmware included.

Topics

Resources

Stars

29 stars

Watchers

0 watching

Forks

Repository files navigation

DARKSLIDE GR

简体中文 | English

在你自己电脑的浏览器里,给 GR III / GR IIIx 的 4 个预设各装一卷胶片颜色,或者装上你自己的 LUT;还能换上自己的预设图标、预设名和关机画面,给负片打开颗粒。

DARKSLIDE GR 编辑界面

Warning

刷入修改版固件有风险,请先读完这一段。

  • 刷入后相机可能无法开机、无法正常工作,甚至永久变砖;也可能因此失去保修和官方支持。
  • 作者已在一台 GR III(固件 2.10)上实机刷入测试:开放的 12 个预设的图标和预设名(含加长到上限的预设名)、关机画面、负片颗粒、几样一起改,以及改完再刷回官方 2.10 原件,都未发现问题。样本只有一台,你填的图标、预设名和图片也没有在真机上试过;生成前的检查都在电脑上离线完成,不能代替真机测试。
  • 1.0 的胶片写法也在一台普通 GR III 上做过一次四卷实机测试,作者反馈正常,逐项记录还没补完;你选的胶片组合不一定测过。GR III HDF 已由用户 @Ady0402 在一台机身上实测(生成、刷入、胶片、预设名和繁体中文菜单都正常,装了胶片的预设不再过曝)。GR III 街拍、日记以及 GR IIIx 全系列都没有在真机上测过,生成前要勾选确认风险自负。
  • 本项目与理光(RICOH)没有任何关联,也未获得其认可。作者不对任何损失负责。
  • DARKSLIDE GR 的产出就是一个固件文件:它不连接相机,也不碰存储卡。要不要刷、怎么刷,完全由你决定。

弄坏了,碎片归你。如果接受不了相机变成一块精致的砖,请不要刷入。

不含任何理光固件

本仓库不包含任何理光固件,无论是原厂版还是修改版,也不提供下载。你需要自备官方原件,并确认你有权使用它。

常规生成使用下面的 GR III 原件;GR IIIx 的离线功能使用后文列出的 1.60 原件。导入时自动核对机型、大小和 SHA-256:

项 值
机型 / 版本 GR III · 固件 2.10
文件名 fwdc239b.bin
大小 30,391,780 字节
SHA-256 d6a3c9c288d784080e7b283222ecdd8752adfeed6faa36dab44f73115354bfd4

自己核对:shasum -a 256 fwdc239b.bin(Windows:certutil -hashfile fwdc239b.bin SHA256)

GR IIIx 1.60

接受 fwdc243b.bin(30,391,788 字节),SHA-256 为 708e79f3b7b96a7e1581b4acf4c412233050a1832718ef7f06c8397db1b431c7。同一份固件区分不出普通版和 HDF,创建工程时请自己选对机型。

  • 能用的:16 卷胶片、导入 LUT 和调色并拟合、相机效果预览、离线核对,以及生成完整固件(原位替换,不扩容)。
  • 未实测:GR IIIx 各型号都标「已适配 · 未实测」,每次生成前都要勾选确认风险。下文的实机测试记录只适用于普通 GR III 2.10。
  • 1.0 不提供照片配方模块(在照片里保存、读取胶片配方):它要往固件里追加程序、让固件变大,所以界面不显示,接口也会拒绝。
  • 不用装开发工具:生成用的是随程序附带的预编译 ARM 代码片段,Mac 和 Windows 都不需要安装 Xcode、Command Line Tools 或 clang。片段缺失或损坏时会拒绝生成,请重新下载完整程序。开发者自己重建片段才需要支持 armv7a-none-eabi 的 LLVM clang。Windows 上还没有做过完整固件生成的实机验收。
  • 旧版 IIIx 工程:工程列表可以导入旧版 IIIx 数据目录,先看清单再复制导入,原目录保留;旧的用户 LUT 需要重新拟合。

能做什么

界面支持简体中文、繁體中文、English、日本語、한국어:打开时跟随系统语言,也可以在右上角的语言菜单里换。繁体、英文、日文、韩文由 AI 协助翻译,欢迎指正用词。

把 GR III 菜单里的预设,换上你自己的图标和名字。比如把"正片"改成 "Summer",配一个你自己设计的小图标,相机菜单里就会这样显示。

目前可以改的预设

预设 图标 预设名
鲜艳、单色、HDR 色调 ✅ ✅(最多 12 个字符)
怀旧 ✅ ✅(最多 8 个字符)
柔和单色、硬调单色、高对比黑白、正片、银流冲洗、交叉冲洗、负片 ✅ ✅(原厂长度)
标准 ✅ —
自定义 1/2 — —
  • 图标两种做法:上传任意图片,用裁切框选取范围;或者输入几个字母,生成和原厂风格一致的文字图标。
  • 预设名:输入时就会提示能不能用,比如有相机显示不了的字;到长度上限后不能再输入。英文菜单和你在「生成」上方选的相机菜单语言(固件里的 21 种语言任选其一;新工程会按电脑语言预选,请确认和相机一致)显示新预设名,其他语言保持原厂(繁體中文已在 GR III HDF 上实机刷入确认;其余新增语言未在真机上测过);名字比原厂英文名长时,另有一种不常用的菜单语言也会显示新预设名。
  • 不会改的:除了你装的胶片和负片颗粒,色彩效果、画质参数和其他设置都保持原样;固件版本号不变(GR III 仍是 2.10,GR IIIx 仍是 1.60)。界面里的详细设置卡显示每个预设的原厂默认值,只作参考,要在相机菜单里自己调,不写进固件。
  • 工程:自动保存草稿,可以保存多个版本、撤销重做,下次打开接着改。

胶片(1.0 新增)

给银流冲洗、怀旧、HDR 色调、交叉冲洗这 4 个预设各装一卷胶片,相机拍出来就是这卷胶片的颜色。

  • 16 卷内置胶片:点一卷就能当起点,再用右边的滑块微调。也可以换成你自己的 LUT,见下面「把你自己的 LUT 装进相机」。
  • 图标和预设名跟着胶片换:选一卷内置胶片,这个预设的相机图标和预设名会一起换成这卷胶片。预设名按这个预设能写的长度取写法,比如「怀旧」最多 8 个字符,Portra 400 会写成「Port 400」;之后仍然可以自己改。换回「不用」胶片时,预设名回到原厂。
  • 写进相机是近似的:工具会把颜色「拟合」成相机能存的参数,界面上会显示近似程度。标「可写进相机」的调整会写进去,标「仅预览/导出」的只进导出的 .cube。第一次拟合需要下载一个约 12 MB 的组件(见下文「拟合」组件)。
  • 只在原厂范围内写:写进相机的数值不会超出理光原厂预设本身用到的范围。超出的会直接提示并拒绝写入,不会偷偷改值。
  • 先检查,再拟合:调色停下来后,页面会先自动检查这组颜色能不能写进相机。不用自己点「拟合」:点「生成」时,还没拟合的调色会先自动拟合,再接着生成;有超出范围的,会停下来告诉你是哪个预设、超了哪一项。「拟合」按钮还在,想先看相机上的效果可以提前点。
  • 滑块上能看到能写多远:选好内置胶片后,能写进相机的那几个滑块,滑轨本身就标出了范围:灰色那段能写,红色那段就是这卷胶片单独拉到那里会写不进相机的位置;数字变红表示已经超了。边界附近能不能写进有时不是连续的(差一格结果就会变),所以标出的范围取保守值:边界本身和往里 6 格都实际验证过。几个滑块一起拉可能叠加超出,所以调完停一下,页面会自动检查这组调色能不能写进相机,并说明是哪一项超了;拖动时还会根据黑色、白色的位置先给一个粗略估算,只作提示,以自动检查为准。
  • 不扩容:原位替换,解包后的程序载荷长度和段布局不增长;压缩后的更新文件大小可能变化。
  • 实测情况:四卷写法已在一台普通 GR III 上做过一次实机测试,作者反馈正常,逐项记录待补。GR III HDF 已由用户在一台机身上实测;GR III 街拍、日记和 GR IIIx 全系列都是「已适配 · 未实测」。

把你自己的 LUT 装进相机(1.0 新增)

平时在 Lightroom、达芬奇或手机 App 里用惯的 LUT,以前只能拍完再套。现在可以把它装进 GR 的预设里,按下快门出来的就是这个颜色。

这件事并不简单:相机读不了 LUT。每个预设里只存得下一个颜色矩阵、三条曲线和一个曲线后矩阵,而且每个数都有理光原厂的上下限。DARKSLIDE GR 把这些都替你处理好了:

  1. 导入:在胶片区点「+ 添加」,选一个 .cube 文件(Lightroom 预设 .xmp 也可以,只换算颜色部分)。
  2. 自动检查:把它用在银流冲洗、怀旧、HDR 色调、交叉冲洗任意一个预设上,几秒钟就有结果。程序在电脑上模拟相机处理颜色的方式,把 LUT「拟合」成相机能存的参数,再逐项核对是不是都在原厂范围内。能写进,就直接拟合好,并显示近似程度;写不进,就标「超出范围」,说清楚是哪一项、超了多少,什么都不保存。
  3. 边看边调:在 LUT 上还可以接着调白平衡、影调和色彩。滑轨上直接标出每个滑块单独拉时能写多远:一开始是按黑色、白色位置算的粗略估算(虚线);你拖哪个滑块,后台就用几个 CPU 核把那一个算准,二十秒左右换成实线。没碰过的滑块不算,不白占电脑。
  4. 写不进也有办法:点「收进相机范围」,程序会找一个改动最小、能写进相机的版本(先压暗部、提亮部,不够再让颜色往相机原本的颜色靠),和原来的并排给你看,并写明改了多少。点「用这个新版本」才会采用,原来的 LUT 保留不动。
  5. 生成:点「生成」时,还没拟合的会先自动拟合,再生成固件。全程不用自己点「拟合」。

实测:作者拿自己常用的 28 个 LUT(彩色胶片风格、黑白、电影风格都有),在 GR III 和 GR IIIx 上各导入了一遍:全部能写进相机,27 个近似程度为「高」,1 个为「中」;每个拟合大约 4–5 秒。另外还故意做了一个暗部抬得很高的 LUT,它被正确拦下;点「收进相机范围」,大约 10 秒就给出了能写进相机的版本。

需要知道的:

  • 是近似,不是原样:近似程度是在相机模型上算出来的色差,不等于实拍效果。暗部、亮部或颜色很极端的 LUT,差别会大一些。
  • 第一次拟合要下载一个约 12–16 MB 的组件(见下文「拟合」组件)。还没装组件时不会自动检查;点「拟合」或「生成」时,页面会先问你要不要下载。
  • 拟合结果和这个 LUT、这台相机的原件绑定,保存在工程里,下次打开直接用。
  • GR IIIx 只能生成离线候选,每次生成前都要勾选「未实测」确认。

装了胶片的预设和「标准」共用一组机内调节值

相机菜单里,每个预设都有一组「详细设置」,比如饱和度、色相、对比度。装了胶片的预设不再用自己原来那组,而是和**「标准」预设共用同一组**。所以:

  • 在相机里改「标准」的详细设置,装了胶片的预设也会跟着变;反过来也一样。
  • 这组值不会被自动清零:你以前在「标准」里调过什么,刷机后都还在,并且会叠加到胶片的颜色上。
  • 白平衡和曝光不在这组里,照常各自生效。

想看到胶片本来的颜色,刷完之后这样做:

  1. 在相机里打开「影像控制」,选「标准」,进入「详细设置」。
  2. 把里面能调的各项都调回 0,记下原来的值,方便以后改回去。
  3. 再切到装了胶片的预设拍摄,看到的就是胶片的基础效果。
  4. 之后想在胶片基础上微调,就改「标准」那组值;它会同时影响「标准」和所有装了胶片的预设。

负片颗粒

打开负片「详细设置」里的颗粒项,档位在相机菜单里调。只支持内置负片。颗粒很细,相机屏幕看整张不明显,放大看得清。

关机画面

上传一张图片,自动裁成 3:2 并转换成相机能读的格式。普通、Street、Urban、ING、Diary 五种已知关机样式共用这一张图,使用原有图片位置,不扩容,不依赖照片配方模块。可与图标、预设名一起生成;新增 Street 路线已完成离线核对,尚未实机验证,既有普通 GR III 实测不代表所有版本均已通过。

关机画面

怎么保证安全

  • 按内置机型表核对 GR III 2.10 或 GR IIIx 1.60 官方原件,别的文件一律拒绝。
  • 每次都从原件重新生成,生成后再用另一套独立的代码拆开核对,全部通过才提供下载,并附一份构建清单,记录改了什么。
  • 再加一道与改动内容无关的救机检查:版本号不变(GR III 2.10、GR IIIx 1.60),开机引导记录和作者分析出的刷机更新区域一个字节没动。目的是让刷完之后仍能用官方原包刷回来;刷回官方原件已在一台 GR III 上实测成功;这仍是电脑上的离线检查加一台相机的实测,不是保证,完全开不了机的情况不在覆盖内。
  • 工具内置救机说明:教你刷机前准备好救机卡,出问题时刷回官方固件。

界面

选择相机、导入固件 生成并核对
选择相机 生成结果

快速开始

需要 Python 3.9 或更新版本,基本功能没有第三方依赖。

sh start.sh

Windows:双击 start.cmd(尚未在 Windows 实机测试)。

启动后终端会打印实际地址,浏览器也会自动打开它(通常是 http://127.0.0.1:8787;这个端口已被别的程序占着时,会顺延到后面第一个空闲端口)。所有处理都在你的电脑上完成,不会上传任何文件。数据保存在本机:Mac 为 ~/Library/Application Support/Darkslide,Windows 为 %APPDATA%\Darkslide,Linux 为 ~/.local/share/Darkslide;可用环境变量 DARKSLIDE_DATA 改位置。

「拟合」组件(可选)

把导入的 LUT 或调色写进相机时,需要一个相机模拟组件(Unicorn 2.1.4,约 12–16 MB,GPL-2.0)。它不随 DARKSLIDE GR 分发:第一次点「拟合」时页面会询问,同意后自动下载;也可以让 AI 助手或你自己运行

python3 tools/setup_fitting.py

它只下载这台电脑对应的那一个包,核对 SHA-256 后放进 DARKSLIDE GR 的数据文件夹,不改动系统 Python;装好后用你的固件自检一次,结果对得上才启用拟合。支持 Mac(Apple 芯片、Intel 芯片)和 Windows 64 位。拟合时,结果会限制在从你的固件读出的理光原厂预设数值范围内,不会比原厂预设更极端。给 AI 助手的完整步骤见 AGENTS.md。

运行测试:python3 -m unittest discover -s tests 部分原件测试使用 DARKSLIDE_OFFICIAL_BIN。完整测试集中的独立读回专项还要求 DARKSLIDE_READBACK_ORIGINAL 指向官方 GR III 2.10 解码载荷;缺少它会明确报错。IIIx 桌面专项可单独设置 DARKSLIDE_DESKTOP_IIIX 为官方 1.60 原件路径运行 python3 -m unittest discover -s tests -p test_iiix_desktop.py。这些专项不生成完整修改固件。

反馈问题

请在 Issues 用"问题反馈"表单提交,写清机型、固件版本、文件 SHA-256 和操作步骤。

请不要上传任何固件文件,提供 SHA-256 就够了。

许可

本项目采用 GPL-2.0-only。作者倡议仅用于个人学习、交流和研究,请勿用于销售、收费刷机等商业用途(倡议不是许可的附加条件)。

详见 作者声明 与 第三方材料说明。更新记录见 CHANGELOG。

IIIx 完整候选专项:设置 DARKSLIDE_IIIX_PRODUCT_BIN 为官方 1.60 文件,运行 python3 -m unittest discover -s tests -p test_iiix_generation.py。此项会在临时数据目录生成完整修改候选并读回,结束后清理,不连接相机。运行期测试另需 DARKSLIDE_GR3X_PAYLOAD 和 Unicorn;完整格式器测试还需单独的本地研究夹具。

About

Load film looks and your own LUTs into your GR III / GR IIIx — a local browser editor for film, presets, grain and shutdown screen. No firmware included.

Topics

Resources

Stars

29 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages