ΠΡΠΎΠ΅ΠΊΡΡΡ Frame ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π½ΠΎΠ² X ΡΡΡΠ²ΡΡ, Π½Π°ΠΏΠΈΡΠ°Π½ ΠΈΠ·ΡΡΠ»ΠΎ Π½Π° NASM Π°ΡΠ΅ΠΌΠ±Π»Π΅Ρ Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° x86_64 ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π² Linux ΠΡΠΌΠ° Π²ΡΠ½ΡΠ½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΡΠ΄ΡΠΎΡΠΎ. Linux, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈΡΠ΅ DRM/KMS ΠΈ evdev, ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ, Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠ°ΡΠΎ libc, Mesa ΠΈ FreeType. ΠΠΎΠ΄ΡΡ Π½Π° Frame ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π°ΡΠΈΡΡΠ΅Π½ΡΠ° ΠΏΠΎ ΠΈΠ·ΠΊΡΡΡΠ²Π΅Π½ ΠΈΠ½ΡΠ΅Π»Π΅ΠΊΡ ΠΠ»ΠΎΠ΄ ΠΠΎΠ΄.
Π¦Π΅Π»ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° X11 ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ Π·Π° Π΄Π΅ΡΠΊΡΠΎΠΏΠ° CHasm, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΎΡ ΡΡΡΠΈΡ Π°Π²ΡΠΎΡ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π°ΡΠ΅ΠΌΠ±Π»Π΅Ρ. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ X11 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Firefox, VS Code, GIMP ΠΈ Inkscape, Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½Π° ΠΊΠ°ΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅. ΠΠ»Π°Π½ΠΈΡΠ°Π½ΠΈΡΠ΅ Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° X11 Π²ΠΊΠ»ΡΡΠ²Π°Ρ SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 ΠΈ XVideo.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° 14 Π΅ΡΠ°ΠΏΠ°. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΡΡ Π΅ Π½Π° Π΅ΡΠ°ΠΏ 7, ΠΊΠΎΠΉΡΠΎ Π²Π΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ Π½ΡΠΊΠΎΠΈ X11 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ°ΠΏ 14 ΡΠ΅ Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π°Ρ, ΠΊΠΎΠ³Π°ΡΠΎ Π±ΡΠ΄Π°Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Firefox. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅ ΠΎΠ±ΡΠ²Π΅Π½ΠΎ, ΡΠ΅ ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏ CHasm, GIMP ΠΈ Firefox (Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ).
ΠΠ΅ΡΠ΅ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Ρ: ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° X11 Π·Π°ΡΠ²ΠΊΠΈ ΡΡΠ΅Π· Unix ΡΠΎΠΊΠ΅Ρ, ΡΠΎΡΡΡΠ΅ΡΠ½ΠΎ ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅ ΡΡΠ΅Π· ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ DRM/KMS, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²Ρ ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· evdev, API Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ X11 ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ pixmap, Π°ΡΠΎΠΌΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΠ΅ΠΊΡΡ Π·Π° ΠΊΠ»ΠΈΠΏΠ±ΠΎΡΠ΄Π° ΠΈ X11 ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΡΠ° SHAPE, RANDR, XKB, XInput2 ΠΈ MIT-SHM. ΠΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ Π·Π° Π²Π΅ΠΊΡΠΎΡΠ½ΠΎ ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅, Π°ΡΠΎΠΌΠ½ΠΎ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΡΠ΅ΠΆΠΈΠΌ, ΠΊΠ»ΠΈΠΏΠ±ΠΎΡΠ΄ΡΡ, ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΡΠ΅Π΄Π±Π°ΡΠ° Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΡΠ°, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΡΡΡΠΎΡΠ° ΠΈ X11 ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΡΠ° RENDER, DAMAGE ΠΈ COMPOSITE Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ.
Π Π°Π±ΠΎΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π° CHasm ΡΡΠ΄ΡΡΠΆΠ° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 100 000 ΡΠ΅Π΄Π° ΠΊΠΎΠ΄ ΠΈ Π²ΠΊΠ»ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅Π½ Π΅Π·ΠΈΠΊ: ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ Tile, Π»Π΅Π½ΡΠ°ΡΠ° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Strip, Π·Π°ΠΊΠ»ΡΡΠ²Π°ΡΠΈΡ Π΅ΠΊΡΠ°Π½ Bolt, ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°ΡΠ° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Bare ΠΈ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Glass. Π’Π΅Π·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠ° Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ ΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ, ΡΡΡΡΠΎΡΡ ΡΠ΅ ΠΎΡ gdm, X11 Server, i3, conky, wezterm ΠΈ zsh.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π΅ ΡΠΎΠΊΡΡΠΈΡΠ°Π½Π° Π²ΡΡΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡ Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΡ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π»Π°ΠΏΡΠΎΠΏ. Π ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ, ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΡΡ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ Tile ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΡ Glass ΠΈΠ·ΠΎΠ±ΡΠΎ Π½Π΅ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ°Ρ ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Ρ ΡΠ°ΠΌΠΎ ΠΎΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. ΠΠΎΠ³Π°ΡΠΎ Π΅ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ, Frame ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΡΡΠΈ ΡΡΠΈ ΠΏΡΡΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΎΡ X.Org Server.
ΠΠ°Π·ΠΈΡΠ°Π½Π°ΡΠ° Π½Π° Frame ΠΈ CHasm ΡΡΠ΅Π΄Π° Π²Π΅ΡΠ΅ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΡΡΠ°Π±ΠΈΠ»Π½Π°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π°Π²ΡΠΎΡΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π° Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Π°ΡΠ° ΡΠΈ ΡΠ°Π±ΠΎΡΠ°. ΠΠΎΠ³Π°ΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎ Π»ΠΈΠΏΡΠ²Π°, Π°Π²ΡΠΎΡΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Claude, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° Π³ΠΈ ΠΎΡΡΡΡΠ°Π½ΠΈ. Π’ΠΎΠΉ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ ΡΠ΅Π΄, fe2o3, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Rust ΠΈ ΠΏΠΎΠΊΡΠΈΠ²Π°ΡΠΈ Π²ΡΠΈΡΠΊΠΈ Π½Π΅Π³ΠΎΠ²ΠΈ Π½ΡΠΆΠ΄ΠΈ, Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡ. fe2o3 Π²ΠΊΠ»ΡΡΠ²Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Ρ Π΄Π²Π° ΠΏΠ°Π½Π΅Π»Π° Pointer, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ rush, ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Scribe, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° vim, RSS ΡΠ΅ΡΠ΅ΡΠ° Gazette, ΠΈΠΌΠ΅ΠΉΠ» ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΠΌΠ΅ΡΠΈΠ½Π΄ΠΆΡΡΠ° Kastrup, ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΠ½ΠΈΡ ΠΏΠ»Π°Π½Π΅Ρ Tock, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Crush ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ Viewer.


ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
