概要
- Linux未対応スキャナーやカメラのドライバー開発体験談
- AI(Claude)と仮想環境を活用したUSBトレース解析手法の紹介
- Plustek 8200i用SANEバックエンド開発とNegative Vibesアプリ制作
- ThinkPad内蔵MIPIカメラのカーネル/ソフトウェア修正事例
- hw-harnessという汎用検証ツールの意義と今後への期待
AIと仮想環境を活用したドライバー開発体験
- 母の遺品から見つかった 大量のフィルムネガ のデジタル化がきっかけ
- Plustek 8200i スキャナー購入も、Linux未対応チップセットで 利用不可
- 過去にAI(Claude)でハードウェア設定ツール開発経験あり、 SANEドライバー開発に再挑戦
- Tom Crider (Glorious Eggroll) のX投稿から Windows仮想環境+USBトレース という手法を発見
- KVM上のWindowsで純正ドライバー動作をusbmonでLinux側から記録
- AIが Windows動作と自作ドライバーのUSB通信を比較・解析、数時間でLinuxでの初スキャンに成功
- 数日で 高品質なドライバーと赤外線対応 も実現、しかし同時期にSANEにも公式対応が追加
hw-harness:AIドライバー開発支援ツール
- hw-harnessは Windows VMとLinuxの両方でUSB通信を記録・比較 するための汎用スクリプト集
- 目的
- ベンダー純正ドライバーの動作を KVM仮想環境で記録
- usbmon でLinux側からUSB通信をキャプチャ
- Linux自作ドライバーでも同様に記録し 差分を抽出
- バスを監視できない場合 (例:MIPIカメラ)はWindows側の設定ファイルやレジストリ情報を収集
- コードやファームウェアのコピーは行わず、純粋に動作観察と設定値抽出のみ
- 汎用化・ドキュメント化で 他の開発者も利用可能な仕組み へ改良
Project 1: Plustek OpticFilm 8200i用SANEバックエンド開発
- 新型Plustek 8200i(Genesys GL128搭載、USB 07b3:1825)に Linux用バックエンドを自作
- 旧型(GL845搭載)はSANE公式対応済み
- 対応機能
- カラー・グレー・赤外線・複合モード
- 300~7200dpi、8/16ビット対応
- 赤外線チャンネルによるゴミ・キズ除去
- 高濃度ネガ対応の露光補正
- Fedora RPMパッケージで自動ビルド・配布
- Negative Vibesアプリで主に検証
- 2026年9月にSANE genesysバックエンドも公式対応
- 自作版は高速・赤外線除去対応
- 公式版は 解像度ステップが多い
- インタラクティブ比較ページ も公開、公式ドライバーの改善にも貢献
Project 2: Negative Vibesアプリ開発
- ネガスキャンの煩雑さ解消のため Negative Vibes(Rust製GNOMEアプリ) を開発
- SANE対応フィルムスキャナー全般に対応予定
- 特徴
- 16ビットリニア・赤外線チャンネル保持
- 非破壊設定で見た目変更・再エクスポート可能
- 密度空間でのネガ反転・ベース補正・色素クロストーク補正
- 赤外線&ソフトウェア両方のゴミ除去
- IT8キャリブレーション(ArgyllCMS連携)
- TIFF/JPEG/PNG/DNGエクスポート(ICCプロファイル・メタデータ付)
- Flatpakで配布、8200iで動作確認済み
- SANEの赤外線チャンネル標準化 が今後の課題
Project 3: ThinkPad MIPIカメラ修正
- Lenovo ThinkPad X1 Carbon Gen 14 (Aura Edition)のMIPIカメラ (Sony IMX471+Intel IPU7)がLinuxで 暗く色ズレ 発生
- カーネルドライバーとlibcamera両方に修正パッチ作成
- カーネル(IMX471ドライバー)修正内容
- crop-selectionバグ修正
- テストパターンレジスタ幅修正
- アナログゲイン上限値引き上げ
- libcamera(ISP)修正内容
- レンズシェーディング補正追加
- ホワイトバランス統計の8ビット化バグ修正
- 明るさ・色再現性が大幅向上
- Fedora 44用RPMも公開
- カーネル・libcamera両方にパッチ提出済み
AI活用の知見と今後
- リファレンスキャプチャ(正常動作との比較)が大きな進歩
- AIは 大量のUSBトレース解析やテスト自動化が得意
- 最終的な動作確認は必ず実機で
- hw-harness は今後、未対応ハードウェアのLinux化を目指す開発者に有用
- Glorious Eggroll氏への感謝
- 完璧ではないが、 AIとツールで大きく前進できた体験
備考
- Negative Vibes や hw-harness など自作ツールは今後も公開・改善予定
- 同様の課題を持つ人への参考事例として発信