第10世代Mali GPU用のオープンソースドライバーであるPanthorが発表されました

Collabora は、第 310 世代 Mali GPU (G510、G710、G6.10) 用に開発されたオープン パンサー ドライバーの準備が整ったことを発表しました。このドライバーは、CSF (Command Stream Frontend) テクノロジーを使用しており、一部のドライバー機能をファームウェア側に転送して負荷を軽減します。 CPU 上で作業を組織する新しいモデルを提供します。 DRM ドライバー (ダイレクト レンダリング マネージャー) panthor は drm-misc ブランチに受け入れられ、Linux XNUMX カーネルに含まれる予定です。新しいドライバーをサポートするための変更は Mesa にも採用されており、Mali GPU 用の Panfrost Gallium ドライバーに含まれています。

新世代の Mali GPU では、ジョブ マネージャー スケジューラーは CSF (コマンド ストリーム フロントエンド) インターフェイスに置き換えられ、ジョブ チェーンの送信に基づくモデルの代わりに、コマンド ストリーム ベースのモデルが使用され、ファームウェア側のコマンド ストリーム キュー。スケジューラーの作業を整理するために、別個の Cortex-M7 マイクロコントローラーが GPU に組み込まれ、CSF 命令を実行するための特別なコマンド実行ユニット (Command Execution Unit) が提供されます。このような機能には、ユーザー空間から GPU に作業を転送するための根本的に異なる組織が必要です。

当初、CSF に基づくマリ GPU のサポートを Panfrost DRM ドライバーに実装する試みが行われましたが、開発者は、これにより既存のドライバーが大幅に複雑になるため、CSF については、ドライバーを作成するのがより最適であるという結論に達しました。異なるアーキテクチャを使用して構築された新しいドライバー。 Panthor ドライバーは、まったく新しい uAPI、新しいジョブ スケジューリング ロジック、および新しい MMU/GPU-VA 制御ロジックを実装します。新しいドライバーは既存の Panfrost DRM ドライバー コードに基づいており、そこから一般的なドライバーの初期化、周波数制御、電源管理パターンを借用しています。

当初、新しいドライバーの開発はリバース エンジニアリングを使用して実行されましたが、その後 ARM がプロジェクトに参加し、ドキュメントへのアクセスを提供し、コード レビューに参加しました。 2 人の ARM 従業員が、Linux カーネルのドライバー共同メンテナーの地位に昇進しました。将来的には、OpenGL ドライバーの準備ができたら、新しい Mali GPU 用の Vulkan ドライバーの実装と、古い Mali GPU 用の既存の Vulkan ドライバーのアップグレードに重点を置いて作業が行われます。

準備されたパンサー ドライバーにより、SoC Rockchip RK3588 を搭載したボードでの GPU サポートが可能になることに注意してください。 Collabora は、完全にオープンなソフトウェア スタックを使用して Rockchip RK3588 ベースのボードを確実にロードできるようにする作業も行っています。 Rockchip RK3588 の場合、独自の BL31 コンポーネントを置き換えるために、Debian ベースのシステム イメージとオープン ブートローダーが準備されています (ブート ローダー ステージ 3.1)。

出所: オープンネット.ru

コメントを追加します