Panthor, driver open source untuk GPU Mali generasi ke-10, telah diumumkan

Collabora telah mengumumkan kesiapan driver panthor terbuka, yang dikembangkan untuk GPU Mali generasi kesepuluh (G310, G510, G710), yang menggunakan teknologi CSF (Command Stream Frontend), yang mentransfer beberapa fungsi driver ke sisi firmware untuk mengurangi beban pada CPU dan menawarkan model baru pengorganisasian pekerjaan pada GPU. Driver DRM (Direct Rendering Manager) panthor telah diterima di cabang drm-misc dan diharapkan dapat disertakan dalam kernel Linux 6.10. Perubahan untuk mendukung driver baru juga telah diadopsi oleh Mesa dan disertakan dalam driver panfrost Gallium untuk GPU Mali.

Pada GPU Mali generasi baru, penjadwal Manajer Pekerjaan digantikan oleh antarmuka CSF (Command Stream Frontend), di mana, alih-alih model berdasarkan pengiriman rangkaian pekerjaan, model berbasis aliran perintah digunakan dengan penjadwalan antrian aliran perintah di sisi firmware. Untuk mengatur pekerjaan penjadwal, mikrokontroler Cortex-M7 terpisah dibangun ke dalam GPU, dan unit eksekusi perintah khusus (Command Execution Unit) disediakan untuk menjalankan instruksi CSF. Fitur-fitur tersebut memerlukan organisasi yang berbeda secara mendasar untuk mentransfer pekerjaan ke GPU dari ruang pengguna.

Awalnya, upaya dilakukan untuk mengimplementasikan dukungan untuk GPU Mali berbasis CSF di driver Panfrost DRM, namun pengembang sampai pada kesimpulan bahwa hal ini akan menyebabkan komplikasi besar pada driver yang ada dan untuk CSF akan lebih optimal untuk dibuat. driver baru yang dibuat menggunakan arsitektur berbeda. Driver panthor mengimplementasikan uAPI yang benar-benar baru, logika penjadwalan pekerjaan baru, dan logika kontrol MMU/GPU-VA baru. Driver baru ini didasarkan pada kode driver DRM Panfrost yang sudah ada, yang meminjam inisialisasi driver, kontrol frekuensi, dan pola manajemen daya yang khas.

Awalnya pengembangan driver baru dilakukan dengan menggunakan reverse engineering, namun kemudian ARM bergabung dengan proyek tersebut, memberikan akses ke dokumentasi dan mengambil bagian dalam review kode. Dua karyawan ARM telah dipromosikan ke status driver co-maintainer untuk kernel Linux. Di masa depan, setelah driver OpenGL siap, pekerjaan akan fokus pada penerapan driver Vulkan untuk GPU Mali baru dan meningkatkan driver Vulkan yang ada untuk GPU Mali lama.

Perlu dicatat bahwa driver panthor yang disiapkan memungkinkan dukungan GPU pada papan dengan SoC Rockchip RK3588. Collabora juga telah berupaya untuk memastikan bahwa papan berbasis Rockchip RK3588 dapat dimuat menggunakan tumpukan perangkat lunak yang sepenuhnya terbuka. Untuk Rockchip RK3588, image sistem berbasis Debian dan bootloader terbuka telah disiapkan untuk menggantikan komponen BL31 berpemilik (Boot Loader tahap 3.1).

Sumber: opennet.ru

Tambah komentar