Компания Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° Xe, Π½ΠΎΠ²Ρ‹ΠΉ Linux-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для своих GPU

Компания Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для ядра Linux — Xe, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для использования с ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ GPU ΠΈ дискрСтными Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Intel Xe, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ начиная с процСссоров Tiger Lake ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π°Ρ… сСмСйства Arc. Π’ качСствС Ρ†Π΅Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π½Π°Π·Π²Π°Π½ΠΎ прСдоставлСниС основы для обСспСчСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½ΠΎΠ²Ρ‹Ρ… Ρ‡ΠΈΠΏΠΎΠ², Π½Π΅ привязанной ΠΊ ΠΊΠΎΠ΄Ρƒ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ старых ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Π’Π°ΠΊΠΆΠ΅ заявлСно Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ совмСстноС использованиС ΠΊΠΎΠ΄Π° Xe с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ подсистСмы DRM (Direct Rendering Manager).

Код ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ рассчитан Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΈ доступСн для тСстирования Π½Π° систСмах x86 ΠΈ ARM. РСализация ΠΏΠΎΠΊΠ° рассматриваСтся ΠΊΠ°ΠΊ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для обсуТдСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Π΅Ρ‰Ρ‘ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π² основной состав ядра. Π Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ старым Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² i915 Π½Π΅ останавливаСтся ΠΈ Π΅Π³ΠΎ сопровоТдСниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒΡΡ. ДовСсти Π½ΠΎΠ²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Xe Π΄ΠΎ готовности планируСтся Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 2023 Π³ΠΎΠ΄Π°.

Π’ Π½ΠΎΠ²ΠΎΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ большая Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° для взаимодСйствия с экранами, заимствована ΠΈΠ· Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° i915 ΠΈ Π² дальнСйшСм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ совмСстноС использованиС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΎΠ±ΠΎΠΈΡ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ дублирования Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (сСйчас ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ просто пСрСсобираСтся Π΄Π²Π° Ρ€Π°Π·Π°, Π½ΠΎ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ совмСстного использования ΠΊΠΎΠ΄Π°). МодСль памяти Π² Xe Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π±Π»ΠΈΠ·ΠΊΠ° ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ памяти i915, Π° рСализация execbuf ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° execbuf3 ΠΈΠ· ΠΊΠΎΠ΄Π° i915.

Для обСспСчСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈ графичСских API OpenGL ΠΈ Vulkan ΠΏΠΎΠΌΠΈΠΌΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для ядра Linux ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ измСнСния для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Mesa-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Iris ΠΈ ANV Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Xe. Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ связка Xe с Mesa ΡƒΠΆΠ΅ достаточно Ρ€Π°Π·Π²ΠΈΡ‚Π° для запуска GNOME, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ³Ρ€ Π½Π° Π±Π°Π·Π΅ OpenGL ΠΈ Vulkan, Π½ΠΎ ΠΏΠΎΠΊΠ° ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ошибки, срСди ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ приводящиС ΠΊ Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru