NetBSD ΠΏΠ΅Ρ€Π΅ΡˆΡ‘Π» Π½Π° ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ CTWM ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ экспСримСнтируСт с Wayland

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ NetBSD объявил ΠΎ смСнС ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² сСансС X11 ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° с twm Π½Π° CTWM. CTWM прСдставляСт собой Ρ„ΠΎΡ€ΠΊ twm, ΠΎΡ‚Π²Π΅Ρ‚Π²ΠΈΠ²ΡˆΠΈΠΉΡΡ 1992 Π³ΠΎΠ΄Ρƒ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Π²ΡˆΠΈΠΉΡΡ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ создания лСгковСсного ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настраиваСмого ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° свой вкус.

ΠžΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ twm прСдлагался Π² NetBSD послСдниС 20 Π»Π΅Ρ‚ ΠΈ Π² соврСмСнных условиях выглядСл Π°Ρ€Ρ…Π°ΠΈΡ‡Π½ΠΎ. НСгативная рСакция людСй Π½Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ twm заставила Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ CTWM для формирования окруТСния, друТСствСнного для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах.

CTWM ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ столы, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ развиваСтся ΠΈ поставляСтся ΠΏΠΎΠ΄ совмСстимой с NetBSD Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ. Из Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° Π±Π°Π·Π΅ CTWM Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй отмСчаСтся автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ мСню ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ управлСния Π±Π΅Π· ΠΌΡ‹ΡˆΠΈ, адаптация для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ экрана (Π² Ρ‚ΠΎΠΌ числС HiDPI послС добавлСния ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ²), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ быстрых систСм ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π‘Ρ‹Π»ΠΎ:

NetBSD ΠΏΠ΅Ρ€Π΅ΡˆΡ‘Π» Π½Π° ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ CTWM ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ экспСримСнтируСт с Wayland

Π‘Ρ‚Π°Π»ΠΎ:

NetBSD ΠΏΠ΅Ρ€Π΅ΡˆΡ‘Π» Π½Π° ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ CTWM ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ экспСримСнтируСт с Wayland

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ° ΠΎ состоянии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² NetBSD ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ сСрвСра swc Π½Π° Π±Π°Π·Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland. ΠŸΠΎΡ€Ρ‚ ΠΏΠΎΠΊΠ° Π½Π΅ Π³ΠΎΡ‚ΠΎΠ² для повсСднСвного использования, Π½ΠΎ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π΅Π½ для экспСримСнтов ΠΈ запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Qt5, GTK3 ΠΈΠ»ΠΈ SDL2. Из ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ отмСчаСтся Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ прилоТСниями, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Firefox, отсутствиС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ X11, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с GPU Intel для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… имССтся Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠΎΠ² Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра.

Из особСнностСй Wayland, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² NetBSD, упоминаСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ большого ΠΎΠ±ΡŠΡ‘ΠΌΠ° спСцифичного для ОБ ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹Ρ… ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°Ρ…, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ экраном, Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΊΠ½Π°ΠΌΠΈ. Wayland Π½Π΅ прСдоставляСт Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ для Ρ‚Π°ΠΊΠΈΡ… возмоТностСй, ΠΊΠ°ΠΊ созданиС ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ², Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° экрана ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°ΠΌΠΈ, ΠΈ ΠΏΠΎΠΊΠ° отстаёт ΠΎΡ‚ X-сСрвСра Π² Ρ‚Π°ΠΊΠΈΡ… областях, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ стандартизация.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ силами ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ. Π­Ρ‚Π°Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΉ сСрвСр Weston сильно завязан Π½Π° API ядра Linux. НапримСр, привязка ΠΊ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° epoll Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ kqueue. ΠŸΠ°Ρ‚Ρ‡ΠΈ для использования kqueue ΡƒΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ BSD-систСм, Π½ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ приняты Π² основной состав.

Код эталонного ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ сСрвСра ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ написан с оглядкой Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Linux ΠΈ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ особСнности Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ «#include <linux/input.h>» ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ libinput). Π’ΠΎ FreeBSD Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ»ΠΎΠ½ API Π²Π²ΠΎΠ΄Π° Linux, Π½ΠΎ Π² NetBSD примСняСтся ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ½ΠΎΠΉ API для управлСния Π²Π²ΠΎΠ΄ΠΎΠΌ — wscons. Π’ настоящСС врСмя ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° wscons ΡƒΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² swc ΠΈ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π° для пСрСноса Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΠΈ NetBSD Π½Π°ΠΌΠ΅Ρ€Π΅Π½Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Wayland Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ привязку ΠΊ epoll, Π° ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΡƒΡŽ прослойку, Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ libevent. Из ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ отмСчаСтся ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ DRM/KMS стСка ядра NetBSD ΠΈ графичСских Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², Π² Ρ‚ΠΎΠΌ числС с ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° ΠΈΠ· ядра Linux, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠΎΠ², Π½ΠΎΠ²Ρ‹Ρ… вСрсий DRM ΠΈ API Glamor (для запуска X11-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ xwayland). Π’ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΉ сСрвСр Π½Π° Π±Π°Π·Π΅ Wayland планируСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€ΠΎΠ².

NetBSD ΠΏΠ΅Ρ€Π΅ΡˆΡ‘Π» Π½Π° ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ CTWM ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ экспСримСнтируСт с Wayland

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ