Phoenix Muncul sebagai Server X Modern yang Ditulis dari Awal menggunakan Zig


Phoenix adalah server X baru yang ditulis dari nol menggunakan Zig, dengan tujuan memodernisasi X11 tanpa bergantung pada kode Xorg.

Meskipun Wayland sebagian besar telah menggantikan Xorg, dan sebagian besar distribusi Linux serta lingkungan desktop utama telah atau sedang menghentikan dukungan untuk protokol tampilan yang tua ini, upaya untuk memperpanjang umur Xorg atau menggantikannya dengan alternatif serupa terus berlanjut. Contoh terbaru termasuk proyek seperti XLibre Xserver dan Wayback. Dan sekarang, ada nama baru yang bergabung dengan kelompok ini: Phoenix.

Ini adalah proyek server X baru yang mengambil pendekatan yang secara fundamental berbeda terhadap X11. Ditulis sepenuhnya dari awal dalam bahasa pemrograman Zig, ini bukan sekadar fork lain dari basis kode Xorg dan tidak menggunakan kembali kode warisannya. Sebaliknya, menurut para pengembang, Phoenix bertujuan untuk menunjukkan bahwa protokol X11 itu sendiri tidak secara inheren usang dan dapat diimplementasikan dengan cara yang lebih sederhana, lebih aman, dan lebih modern.

Phoenix dirancang untuk penggunaan desktop dan profesional yang nyata, bukan untuk cakupan protokol lengkap. Ini hanya mendukung fitur X11 yang dibutuhkan oleh aplikasi modern, termasuk perangkat lunak lama seperti program berbasis GTK2. Dengan menghilangkan bagian yang jarang digunakan atau usang, Phoenix menjaga kesederhanaan sambil tetap mendukung banyak aplikasi.

Saat ini, Phoenix masih bersifat eksperimental dan belum siap untuk digunakan sehari-hari. Ini dapat menjalankan aplikasi sederhana yang dipercepat perangkat keras menggunakan GLX, EGL, atau Vulkan, tetapi hanya dalam pengaturan bersarang di bawah server X lain. Hal ini akan tetap seperti ini sampai proyek ini siap untuk digunakan yang lebih menuntut.

Di sisi keamanan, yang sebenarnya merupakan salah satu aspek yang paling banyak dikritik dari Xorg, Phoenix mengisolasi aplikasi secara default, dan akses ke kemampuan sensitif seperti perekaman layar atau tombol pintas global diatur melalui mekanisme izin yang eksplisit. Yang penting, ini dilakukan tanpa merusak klien yang sudah ada, karena upaya akses yang tidak sah akan mengembalikan data tiruan daripada kesalahan protokol.

Di balik layar, Phoenix menyertakan compositor bawaan yang memungkinkan rendering bebas robekan secara default, mendukung penonaktifan kompositing untuk aplikasi layar penuh, dan dirancang untuk mengurangi latensi compositor serta vsync. Dukungan multi-monitor yang tepat menjadi prioritas, memungkinkan berbagai tingkat penyegaran, tampilan dengan tingkat penyegaran variabel, dan dukungan HDR di masa depan tanpa mengandalkan satu framebuffer global.

Phoenix juga mempertimbangkan untuk memperluas protokol jika diperlukan. Misalnya, fitur baru seperti pelaporan DPI per-monitor direncanakan untuk memastikan aplikasi dapat menyesuaikan skala dengan baik di pengaturan DPI campuran. Jika diperlukan, Phoenix akan menambahkan ekstensi protokol untuk hal-hal seperti HDR, sambil tetap bekerja dengan perangkat lunak yang ada.

Penting untuk menjelaskan bahwa proyek ini tidak bertujuan menggantikan Xorg. Phoenix sengaja menghindari dukungan untuk perangkat keras lama, fitur protokol yang jarang digunakan, dan konfigurasi seperti beberapa layar X11 atau rendering GLX tidak langsung, serta sepenuhnya fokus pada sistem modern.

Kompatibilitas Wayland adalah bagian dari rencana jangka panjang. Para pengembang mengatakan bahwa Phoenix mungkin nantinya akan mendukung klien Wayland secara langsung atau menggunakan alat jembatan untuk menjalankan aplikasi khusus Wayland di lingkungan X11. Menjalankan Phoenix secara bersarang di bawah Wayland, sebagai alternatif dari Xwayland, juga sedang dipertimbangkan.

Akhirnya, seperti yang saya sebutkan, proyek ini masih dalam tahap awal, dan masih harus dilihat apakah akan berkembang menjadi versi stabil yang siap produksi dan diterima untuk digunakan secara luas. Sampai saat itu, untuk informasi lebih lanjut tentang inisiatif baru ini, cek di sini.