ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Red Hat Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Nova, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΠΎΡΠΊΡΡΡΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ GPU NVIDIA, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ GPU Π²ΡΠ½Π΅ΡΠ΅Π½Ρ Π² ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ GSP (GPU System Processor). ΠΠΎΠ²ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ Π² Π²ΠΈΠ΄Π΅ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠ΄ΡΠ° Linux ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ DRM (Direct Rendering Manager). ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Nouveau Π΄Π»Ρ GPU Ρ GSP-ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΅ΡΠΈΠΈ NVIDIA GeForce RTX 2000 Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Turing, ΠΈ Π² Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Nouveau.
ΠΠΎΠ΄ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ»ΠΎΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π΅ΡΡ Π½Π΅ ΠΏΡΠΈΠ½ΡΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ Π½Π°Π±ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΈΠ· Π²Π΅ΡΠΊΠΈ rust-device, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠ½ΠΎΠΉ PCI ΠΈΠ· Π²Π΅ΡΠΊΠΈ rust-pci ΠΈ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ DRM ΠΈ GEM ΠΈΠ· Π²Π΅ΡΠΊΠΈ rust-drm, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Rust-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° drm-asahi Π΄Π»Ρ GPU ΡΠΈΠΏΠΎΠ² Apple M1 ΠΈ M2. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° Rust ΠΏΠΎΠ²ΡΡΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΈΠ·-Π·Π° ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π²ΠΈΠ΄Π΅ΠΎΠ΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ Ρ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΠΎΠ±ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΎΠ±Π²ΡΠ·ΠΎΠΊ ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π½Π° Rust.
Π‘ΡΠ΅Π΄ΠΈ ΠΏΡΠΈΡΠΈΠ½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ Nouveau, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ GSP. ΠΠ·-Π·Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΠ°ΡΡΡ GPU NVIDIA ΠΊΠΎΠ΄ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Nouveau ΠΈΠ·Π»ΠΈΡΠ½Π΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠ½ ΠΈ Π½Π΅Π³ΠΈΠ±ΠΎΠΊ, Π° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Nouveau ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅ VMM/MMU, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ.
Π ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Ρ Π½ΡΠ»Ρ Π½ΠΎΠ²ΠΎΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Nova ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ
Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½ΠΎΠ²ΡΡ
GPU NVIDIA ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ. Π Nouveau ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΠ°ΡΡΡ
ΠΈ Π½ΠΎΠ²ΡΡ
GPU, ΠΈ ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Nova ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ GPU Π½Π° Π±Π°Π·Π΅ GSP Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ±ΡΠΎΡΠΈΡΡ Π²Π΅ΡΡ Π³ΡΡΠ· ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ GPU.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru