ΠΠ½ΠΆΠ΅Π½Π΅ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Red Hat ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° Linux ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ°ΡΡΠ΅ΠΉ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Nova. ΠΡΠ°ΠΉΠ²Π΅Ρ ΡΠ°ΡΡΡΠΈΡΠ°Π½ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ GPU NVIDIA, ΠΎΡΠ½Π°ΡΡΠ½Π½ΡΠΌΠΈ GSP-ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΅ΡΠΈΠΈ NVIDIA GeForce RTX 2000 Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Turing. Π ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ GPU ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² ΠΏΡΠΎΡΠΈΠ²ΠΊΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ GSP (GPU System Processor). ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π² Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ Nova Π·Π°ΠΌΠ΅Π½ΠΈΡ ΡΠΎΠ±ΠΎΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Nouveau Π΄Π»Ρ GPU Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ GSP.
ΠΠΎΠ²ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust ΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Rust-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ΄ Nova Π½Π°ΠΌΠ΅ΡΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎ, ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΎΠ±Π²ΡΠ·ΠΎΠΊ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° Rust. ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠ΄ΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Β«nova-coreΒ», ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· 232 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°. Nova-core ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ Π½Π°Π΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ GSP, ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ API, Π½Π΅ Π·Π°Π²ΠΈΡΡΡΠΈΠΉ ΠΎΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ.
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°Π΄ΠΈΠΈ Π² ΡΠ΄ΡΠΎ ΠΏΠ»Π°Π½ΠΈΡΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ DRM-Π΄ΡΠ°ΠΉΠ²Π΅Ρ nova-drm (Direct Rendering Manager) Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ GPU ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ VFIO-Π΄ΡΠ°ΠΉΠ²Π΅Ρ Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ vGPU, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ GPU NVIDIA Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Nova Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠΉ, ΡΠ²ΠΎΠΉΡΡΠ²Π΅Π½Π½ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Nouveau, ΠΈ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ GSP ΠΈ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΡ Π³ΡΡΠ·Π° ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΡΡΠ°ΡΡΡ GPU. Nova ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ΅ΡΠΈΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Nouveau ΡΡΠ΅Π±ΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅ VMM/MMU. Π―Π·ΡΠΊ Rust Π²ΡΠ±ΡΠ°Π½ Π΄Π»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΠ°Π±ΠΎΡΠΈΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±Π²ΡΠ·ΠΎΠΊ ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π½Π° Rust.

Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠ΄ΡΠΎ Linux Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Rust, Π² ΡΠΎΡΡΠ°Π² Π²Π΅ΡΠΊΠΈ 6.14 ΠΏΡΠΈΠ½ΡΡΡ Rust-ΠΎΠ±Π²ΡΠ·ΠΊΠΈ Π΄Π»Ρ PCI, ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Open Firmware, ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠ΅Π³ ΠΡΠΎΠ°-Π₯Π°ΡΡΠΌΠ°Π½ (Greg Kroah-Hartman), ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΡΠ΄ΡΠ° Linux, Π² pull-Π·Π°ΠΏΡΠΎΡΠ΅ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΡΠ΄ΡΠ° 6.14, ΠΎΡ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΎΠ²Π°Π» ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠ°ΠΊ Β«ΠΏΠΎΡΡΠΈ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΡ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π° RustΒ».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
