Seorang developer berhasil mendemonstrasikan bahwa X11 dapat menangani fractional scaling dan pengaturan multi-monitor dengan DPI yang berbeda, menantang kepercayaan umum bahwa fitur-fitur ini mustahil pada protokol display server yang sudah tua. Proof-of-concept ini melibatkan menggambar lingkaran berukuran konsisten 2 inci di beberapa monitor dengan resolusi dan kepadatan piksel yang berbeda.
Demonstrasi ini menggunakan tiga layar berbeda: layar laptop dengan resolusi 2880x1800, monitor desktop 2560x1440, dan TV 4K 3840x2160. Dengan melakukan query pada ekstensi RandR X11 untuk dimensi fisik dan jumlah piksel, aplikasi berhasil mempertahankan ukuran fisik yang sama di ketiga layar.
Spesifikasi Tampilan Pengaturan Pengujian:
- Laptop: resolusi 2880x1800, ukuran fisik 302mm x 189mm
- Monitor Desktop: resolusi 2560x1440, ukuran fisik 590mm x 334mm
- Tampilan TV: resolusi 3840x2160, ukuran fisik 1600mm x 900mm
Implementasi Teknis Menunjukkan Kemampuan Tersembunyi X11
Developer menggunakan OpenGL dengan ekstensi XRandR X11 untuk mengumpulkan informasi layar dan menghitung faktor scaling yang tepat. Kode tersebut mendengarkan event konfigurasi window dan secara otomatis menyesuaikan rendering berdasarkan monitor mana yang menampilkan window. Ketika diseret antar monitor, lingkaran mempertahankan ukuran fisik 2 inci dengan menghitung ulang radius piksel berdasarkan DPI setiap layar.
Pendekatan ini bekerja dengan menggabungkan data dari XRROutputInfo (yang menyediakan dimensi fisik) dan XRRCrtcInfo (yang menyediakan dimensi piksel dan posisi). Aplikasi kemudian menghitung piksel per milimeter dan menyesuaikan rendering sesuai kebutuhan.
XRandR (X Resize and Rotate): Ekstensi X11 yang menyediakan informasi tentang layar yang terhubung dan propertinya
API X11 Utama yang Digunakan untuk Scaling:
XRRGetScreenResourcesCurrent()
- Mendapatkan konfigurasi displayXRRGetOutputInfo()
- Mengambil dimensi fisik displayXRRGetCrtcInfo()
- Mendapatkan dimensi pixel dan positioningConfigureNotify
events - Mendeteksi perpindahan window antar monitor
![]() |
---|
Demonstrasi eksperimental untuk mempertahankan ukuran yang konsisten dalam rendering grafis di berbagai monitor, mirip dengan pencapaian penskalaan fraksional di X11 |
Komunitas Memperdebatkan Tantangan Scaling di Dunia Nyata
Meskipun demonstrasi membuktikan scaling dasar dimungkinkan, komunitas developer menunjukkan tantangan yang lebih kompleks yang membuat scaling X11 bermasalah dalam praktik. Masalah utama muncul dengan aplikasi yang ada yang tidak dirancang untuk scaling awareness, terutama ketika menangani grafik raster, ikon, dan elemen UI yang presisi.
Bagian sulit dari scaling adalah menggambar elemen UI seperti ikon raster atau garis hairline 1px agar terlihat tidak buram.
Window yang membentang di beberapa monitor dengan DPI berbeda tetap bermasalah, karena bagian berbeda dari window yang sama mungkin muncul dalam skala berbeda. Display server modern seperti Wayland menangani ini dengan menggunakan virtualisasi DPI, di mana compositor mengelola transformasi scaling daripada menyerahkannya kepada aplikasi individual.
Konteks Lebih Luas dari Evolusi Display Server
Diskusi mengungkapkan mengapa komunitas desktop Linux beralih ke Wayland meskipun kemampuan teoretis X11. Meskipun X11 secara teknis dapat mendukung fitur canggih melalui ekstensi, implementasi praktis memerlukan upaya signifikan dari developer toolkit dan penulis aplikasi. Banyak aplikasi yang ada tidak mengimplementasikan dukungan scaling yang tepat.
Compositor Wayland kini mendukung fractional scaling melalui protokol khusus, dengan Qt6 dan GTK4 mengimplementasikan dukungan yang tepat. Namun, adopsi masih belum lengkap, dengan beberapa aplikasi masih menggunakan metode scaling lama yang dapat menyebabkan keburaman.
Demonstrasi ini mengingatkan bahwa keterbatasan teknis seringkali lebih tentang koordinasi ekosistem daripada batasan protokol fundamental. Meskipun X11 mungkin mampu lebih dari yang umumnya dipercaya, keputusan komunitas pengembangan untuk memfokuskan upaya pada Wayland mencerminkan pertimbangan praktis tentang membangun pengalaman desktop yang kohesif dan modern.
Virtualisasi DPI: Teknik di mana display server menangani semua kalkulasi scaling, menyajikan aplikasi dengan sistem koordinat yang konsisten terlepas dari resolusi layar aktual
Referensi: forbidden secrets of ancient X11 scaling technology revealed