Rockchip RK3588 用の初期メインラインビデオキャプチャおよびカメラ対応機能の実装。

2026/04/13 22:23

Rockchip RK3588 用の初期メインラインビデオキャプチャおよびカメラ対応機能の実装。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Collabora は、Rockchip RK3588 SoC におけるビデオキャプチャ(VICAP)および MIPI CSI-2 リシーバーのメインライン Linux サポートを確保することで重要なマイルストーンを達成し、5 年にわたる開発を終了しました。この進歩は、アムステルダムで開催された Open Source Summit Europe 2025 で披露され、基本 PX30 ドライバーを用いて Sony IMX415 センサーからの初期画像のキャプチャが成功し、その後 2025 年 10 月に公式にコアカーネルに統合されました。MIPI CSI-2 リシーバードライバもそれに続き、広範な反復的な改良を経て 2026 年 1 月にメインライン Linux に統合されました。アップストリーミングの進捗はまた、ブリュッセルで開催された FOSDEM 2026 でも示され、ソフトウェアデベアリング(解像化)により得られた Sony IMX415 センサーからの生画像キャプチャ(1 fps)を実演しました。目標は、非効率なベンダー固有のソフトウェアを専用のハードウェア画像処理に置き換え、この世代のチップ向けの標準化されたアルゴリズムを実現することです。新しい

rkisp2
ドライバはゼロから開発され、VICAP と ISP ユニット間の直接接続も機能していますが、完全な統合には追加時間が必要です。即座のニーズに対して、成熟したカーネルドライバを待つ間、代替策として
libcamera
を使用可能です。今後の展望として、Collabora は 5 月下旬(5 月 27-28 日)にニースで開催される Embedded Recipes イベントで、完全なソリューションおよびその libcamera 互換性を示す予定です。

本文

マイケル・ライシュ、2026 年 4 月 13 日

現代のシステムオンチップ(SoC)同様、最近の Rockchip の SoC(特に RK35 シリーズ)、つまりビデオキャプチャおよび画像信号処理用の専用 IP ブロックを内蔵したモデルでは、多種多様な面白いメディア関連アプリケーションへの道が開かれました。しかし、これらのブロックに対するメインライン Linux への対応は、他方では十分にサポートされている SoC ラインアップにおいて残る最後の欠けているピースの一つでした。この空白を埋める時が来ました!

ミッション 近年、Collabora は RK3588 SoC に対するメインラインサポートのために多大な努力を注いでまいりました。私たちの RK3588 アップストリームステータスマトリックスと、最近のレビューブログ記事「Rockchip でメインライン Linux、U-Boot、Mesa を実行する:1 ヶ月の総括」には、このミッションが成功裏に進められたことが示されています。linux-rockchip コミュニティと Rockchip 自体と協力して、RK3588 の大半の機能に対するアップストリームサポートを実現することができたことは疑いようがありません。一方で、まだ対応していないハードウェアブロックがいくつか存在し、これらを扱い込む必要があります。

課題 ビデオキャプチャブロックや画像信号プロセッサ(ISP)は、典型的にはメインラインサポートを得るのが最後の段階(あるいは得られない場合さえある)、といったカテゴリに属するハードウェアブロックです。その理由は多岐にわたります。ユーザーベースは決して小さくありませんが、ビデオ出力など他の機能に比べて規模は小さいものです。さらに、ハードウェアドキュメントが提供されていないことも多く、特に ISP は知的財産の観点から特別視されている傾向にあります。また、基盤となるハードウェア自体が複雑であり、趣味の貢献者が自由な時間で取り組むのは困難(あるいは不可能)になることがあります。企業にとっても、そうしたハードウェアを立ち上げるための初期投資は時間のかかるものであり、結果として高価なプロジェクトとなります。その結果、これらの強力なハードウェアブロックを利用するユーザーはベンダー Linux カーネルに頼らざるを得ないことが多く、これはサイバーレジリエンス法(CRA)などの規制適合上の問題を引き起こす可能性があります。

(解決策への) 道程 この行き詰まりを打破するために、Collabora は最初のステップとして RK3588 のビデオキャプチャ(VICAP)ユニットの立ち上げに取り掛かりました。当初からこれは短距離走ではなくマラソンであることは明らかでした。計画は rkcif ドライバにより RK3588 VICAP をサポートすることであり、このドライバについては 2020 年以来、関連するメーリングリストで議論されていました!

Collabora は 2022 年初頭にメインライン化の議論に参加し、パッチシリーズは Bootlin が主導して 9 つの改訂を経ました。その後、メディアコントローラ中心の V4L2 ドライバへと向けた大規模な再設計が要請されました。これによりドライバ全体の再実装が行われ、メインライン Linux への組み込みに向けた新たな推進力が生まれました。

さらにその後のパッチシリーズに対し 7 つの改訂を重ね、ドライバの名称を 2 回変更した後、この成果は 2025 年にアムステルダムで開催された Open Source Summit Europe で発表されました。基調講演「Recent Rockchip SoCs 用のメインラインビデオキャプチャとカメラサポートへの道」では、現代のマルチメディア用 SoC のソフトウェアスタックの概要を述べるとともに、すでにメインラインにマージされた貢献事項および現在進行中の貢献事項について紹介しました。

rkcif ドライバに関する数回の改訂を経て、PX30 VIP と RK3568 VICAP に対応する基本ドレーバの受け入れが実現しました(2025 年 10 月)。開発開始から 5 年以上もの期間、合わせて 25 回の改訂と 3 回の名称変更を経て、この成果は大きなマイルストーンとなりました。しかしもちろん、まだやるべきことは多く残されていました。例えば、VICAP と密接に結合された Rockchip MIPI CSI-2 リシーバユニットについてもメインラインドライバが必要でした。再度、ソフトウェア開発において最も困難だったのは「名前をつける」ことにありました。数回の改訂と 3 回の名称変更および位置移動の試行錯誤の後、ついにこのドライバはメインライン Linux カーネルにおける適切な名付けと居場所を見出しました(2026 年 1 月)。

そのタイミングは完璧であり、ブリュッセルで開催された FOSDEM 2026 で「Upstreaming Progress: Video Capture and Camera Support for Recent Rockchip SoCs」と題して Collabora が発表する機会となりました。改良され更新されたステータスマトリックス(スライド 15 および 17 を参照)に加え、講演では RK3588 VICAP に Sony IMX415 センサを装着した環境で撮影された最初の画像が披露されました。もちろんこの設定では、センサからの生データはソフトウェア内でデベイアリング処理のみ行われており(フレームレートは 1 fps という悲惨な値)、自動ホワイトバランスなどの画像処理機能はありませんでした(それが画像が緑がかっていた理由です)。しかし当時としては、この旅路の重要な段階を示すものでした。

rkcif ドライバへの数々の拡張パッチを追加するために RK3588 のサポートが必要となりました。これらのパッチは以前から開発されており、最近ではレビュー用として公開されました。

次のステップ(s) もちろん、RK3588 ISP を使ってカメラセンサからの画像を専用ハードウェアで処理することを目指したいです。そのためには基本的に三つの要素が必要です。

  • 残課題のうち最初の問題は、VICAP から ISP(複数)へのデータパスを形成する直接のハードウェア接続を実現する RK3588 VICAP MUX-TOISP ユニットへのサポートです。技術的にはこれは厳密に必須ではありません。現在、RK3588 VICAP は生画像データをメモリにストリーミングし、ISP がそこからデータを取得することが可能です。このアプローチは、1 個の ISP に対して複数のカメラストリームを処理するなどといった高度なユースケース(時分割多重化など)を可能にする一方で、単純な「1 個のカメラストリーム per ISP」というユースケースではいくつかの欠点をもたらします:その中でも際立って問題なのは、メモリ帯域幅の要件が増加し、レイテンシも増加することです。また、直接のハードウェア接続は、(本来独立していた)これらのハードウェアブロック用のソフトウェアアーキテクチャ設計にも影響を与えることを注記すべきです。この接続を早期に考慮に入れることが重要であり、後から対応しようとするのは非常に困難になり得るからです。したがって、ハードウェアとのインタラクション制御に加え、このステップではカーネルドライバを V4L2 メディアコントローラフレームワークにどのように統合するかという architectural 的検討も必要です。初期テストにおいては既にこのユニットからの最初の生命反応が確認されましたが、コードをメインライン Linux に統合する準備ができるまでには時間がかかります。
  • 次の問題点は、RK3588 ISP 用の Linux カーネルドライバの欠如です。ベンダーカーネルドライバは各种原因でアップストリーム化できないためです。アップストリーミングを支援するため、Rockchip から簡易版のドライバが提供されており、こちらにて入手可能です。このドライバはメモリアクセスベースの実行とデベイアリングのみをサポートし(その他の画像処理機能は含まれません)ますが、ハードウェア立ち上げには大変有用です。メインライン Linux への組み込みを目的とする場合の計画としては、RK35 シリーズ全体に対応することを目標としてゼロから開発する新たな rkisp2 ドライバを導入することとなっています。この野心的なマイルストーンを達成するため、Collabora は Rockchip と Ideas on Board が連携し、新たな ISP を共有ゴールとして取り組んでいます。
  • その基盤の上で、3 番目の問題は RK3588 画像処理パイプライン(それに適した画像処理アルゴリズム IPA も含む)に対する libcamera のサポートです。この方向性において Ideas on Board のチームは既に活動しており、初の画像処理ブロックの立ち上げに関する初歩的な成功を報告しています。詳細は彼らのブログ記事をご覧ください。

その間、急いでいるユーザーは libcamera ソフトウェア ISP を暫定的な解決策として試用することも可能です。しかし、本格的なソリューション(完全機能の RK3588 ISP カーネルドライバと libcamera サポート)については引き続き注目してください!また、マルセイユで開催される Embedded Recipes(5 月 27〜28 日)での RK3588 ISP デモを見逃さないようご注意ください!

同じ日のほかのニュース

一覧に戻る →

2026/04/14 2:54

1 つ、30 の WordPress プラグインを購入し、それぞれにバックドアを埋め込まれた。

## Japanese 翻訳: 元サマリーの原文は明確で正確であり、高レベルの概要として十分に範囲内に収まっており、改行文筆は必要ありません。

2026/04/14 5:36

GitHub で積み上がったプルリクエストを処理する。

## Japanese Translation: 本テキストでは、「Stacked PRs(スタックされたプルリクエスト)」を紹介します。これは、大規模で管理が困難なプルリクエストによる問題、例えばレビューの難易度が高いこと、マージにかかる時間が長いこと、頻繁な衝突などを解決するために GitHub が実装した機能です。開発者は一度に巨額の変更を提出するのではなく、作業を注力し独立した層に分割し、それらが互いに縦方向に積み上げられ、最終的に main ブランチへマージされるまで進めます。 GitHub 本家はこのワークフローを、ナビゲーション用の可視化「スタックマップ(stack map)」UI でサポートしており、ブランチ保護規則がターゲットとなる最終ブランチに対して自動的に適用され、継続的統合(CI)システムが各層ごとに個別にテストを実行し、main ブランチへのマージを想定する manner で動作します。また、ユーザーはスタックの全て、または一部の PR をマージすることができ、残りの PR は自動的にリベースされ、スタック構造が維持されます。 このワークフローをローカル環境で管理するためには、開発者は `gh stack` CLI ツールを使用します。これは、拡張機能をインストール(`gh extension install github/gh-stack`)し、`gs init`、`gs add`、`gs push`、`gs submit` などのコマンドを用いてブランチを作成し、カスケードリベースを管理し、スタックをレビューまたはマージのためにオープン化することを意味します。将来的には、AI コーディングエージェントもこのスタックを自律的に処理できるように、特定のスキルパッケージ(`npx skills add github/gh-stack`)をインストールすることで教育できます。Ultimately(結果として)、Stacked PRs はチームが段階的なレビューを通じてコードの品質を向上させながら、大規模なコードベースを維持するために必要な手動作業を劇的に削減することを可能にします。

2026/04/14 0:31

『何事も起きない:スポーツ市場以外では常に「いいえ」と購入する Polymarket ボット』

## Japanese Translation: 本書では、Polymarket でスポーツ以外の Yes/No マーケットにおける「NO」エントリを取引することを目的に特化して構築された非同期の Python ボット「Nothing Ever Happens」を معرفیしています。本プロジェクトは娯楽目的でのみ提供されるものであり、保証や免責事項は一切適用されません(as-is)として提供されます。ライブフラグが設定されていないデフォルト状態では `PaperExchangeClient` が採用され、シミュレーションテストが行われます。リアルな取引を実行するには、環境変数を明示的に設定する必要があるためです。具体的には、`BOT_MODE=live`、`LIVE_TRADING_ENABLED=true`、`DRY_RUN=false` などを設定することでリアル取引モードを有効化します。また、ライブオーダーの送信を有効にするには、`PRIVATE_KEY`、`FUNDER_ADDRESS`(署名タイプ 1 および 2 の場合)、データベース URL、および Polygon RPC URL などの特定のエントリが必要となります。 ボットのアーキテクチャはモジュール化されており、ランタイムロジック、取引所クライアント、ダッシュボード UI、回復ツール、そしてコア戦略モジュールである「nothing_happens」で構成されています。ローカルでのセットアップでは、`pip install -r requirements.txt` によって依存関係をインストールし、`config.example.json` を `config.json` にコピーして非機密設定をその中で構成し、秘密鍵やフラグは `.env` ファイル(パス:`strategies.nothing_happens`)に保存します。ローカル設定は意図的に git 無視されており、ユーザーは環境変数 `CONFIG_PATH` を通じてランタイムが参照する異なるパスを指定できるようにしています。 Heroku でのクラウドデプロイメントでは、特定のコマンドヘルパー(`alive.sh`、`logs.sh`、`kill.sh`)を使用して、アプリの状態を管理し、ライブ取引の有効化/無効化やロギングを行うことができます。デプロイには、bot モード、プライベートキー、RPC URL、データベースに関する環境変数を `heroku config:set` コマンドを用いて設定する必要があります。-production 環境では、誤って長時間実行タスクを実行してしまうのを防ぐためにワーカーダイノを除外し、ウェブダイノのみを使用するようにスケーリング構成されています。また、`db_stats.py`、`export_db.py`、`wallet_history.py`、`parse_logs.py` などのユーティリティスクリプトは、データベースの点検やログ分析を実行することなく市場の変動を意図的に引き起こさずにこれらの情報を可視化することを可能にするため、透明性を高めています。