X11 / X Window System
X11 (X Window System) adalah sistem tampilan grafis yang digunakan pada banyak sistem operasi Unix dan Linux. X11 memungkinkan aplikasi untuk menampilkan antarmuka grafis di layar, mengelola input perangkat (seperti keyboard dan mouse), serta menangani interaksi antar aplikasi. Meskipun sudah lama digunakan, X11 memiliki beberapa kekurangan, seperti kompleksitas dan keterbatasan dalam mendukung efek grafis modern. Dalam beberapa kasus, seperti aplikasi GTK4, masalah seperti black border dapat muncul karena cara X11 menangani rendering grafis.

Untuk menangani masalah black border pada X11 cukup sederhana, hanya membutuhkan compositor
.
Compositor
Compositor pada X11 adalah program yang bertanggung jawab untuk mengelola dan merender tampilan window di layar. Fungsinya untuk menggabungkan berbagai elemen grafis dari aplikasi (seperti transparansi, dan efek visual) menjadi satu gambar akhir yang ditampilkan kepada pengguna.
Karena X11 memiliki arsitektur yang lebih tua, compositor sering menghadapi masalah seperti latensi tambahan atau masalah performa untuk berinteraksi dengan protokol X11 yang kompleks. Hal ini menjadi salah satu alasan utama pengembangan Wayland, yang mengintegrasikan compositor langsung dalam desainnya untuk efisiensi yang lebih baik.
Fungsi Utama Compositor
Rendering Window
: Compositor bertanggung jawab untuk merender window aplikasi dan menggabungkannya menjadi satu tampilan akhir.Efek Visual
: Compositor dapat menambahkan efek visual seperti bayangan, transparansi, dan animasi saat window dibuka atau ditutup.Manajemen Window
: Compositor membantu dalam mengelola posisi dan ukuran window, serta memastikan bahwa window tidak saling tumpang tindih secara tidak diinginkan.
Aplikasi Compositor pada X11
fastcompmgr
: Compositor yang sangat ringan (fork dari xcompmgr)Mutter
: Digunakan oleh GNOME.KWin
: Digunakan oleh KDE Plasma.Picom
: Sering digunakan pada sistem desktop ringan atau distribusi Linux berbasis tiling window manager
Composite Extensions
Sebelum menginstal compositor, pastikan sudah mengaktifkan ekstensi Composite pada Xorg. Untuk memastikan ekstensi Composite diaktifkan untuk X Server, jalankan:
xdpyinfo | grep Composite
Pastikan output Composite
muncul seperti ini:
rmdhnreza ~ % xdpyinfo | grep Composite Compositermdhnreza ~ %
Jika tidak ada output, tambahkan opsi Composite
ke bagian Extensions
pada konfigurasi Xorg
:
- Buat file di folder
/etc/X11/xorg.conf.d/
dengan nama10-composite.conf
- Tambahkan baris ini untuk mengaktifkan ekstensi
Composite
Section "Extensions" Option "Composite" "true"EndSection
- Restart
Install Compositor
Secara pribadi, tidak menyukai compositor atau efek eye candy, karena lebih menyukai segala sesuatunya serba instan. Oleh karena itu, disini memilih compositor yang paling ringan yang tersedia dan menonaktifkan semua efek eye candy (fade, opacity, shadow, dll.). Pilihannya ada 2:
- xcompmgr: Compositor paling ringan, tetapi tidak memiliki banyak fitur.
- fastcompmgr (fork dari xcompmgr dengan beberapa perbaikan)
Sebagian besar distribusi menyertakan xcompmgr
di dalam package manager mereka. Untuk fastcompmgr
, perlu mengkompilasinya sendiri atau mengunduh file binary-nya dari GitHub Releases. Buatlah fastcompmgr
dapat dieksekusi dengan cara chmod +x ./fastcompmgr
dan pindahkan ke $PATH
.
Autostart Compositor
Pada dasarnya, xcompmgr
dan fastcompmgr
memiliki konfigurasi yang sama, jadi apa pun compositor yang digunakan, perintahnya akan sama.
Untuk membuat compositor berjalan otomatis saat startup, cukup letakkan perintah ini di
.xinitrc
jika tidak menggunakan LightDM.xprofile
jika menggunakan LightDM
fastcompmgr -C -l0 -t0 -r0 -o0 -I0 -O0 -D0 &exec dbus-run-session $(which i3)
Jika semua langkah diatas sudah benar, maka hasilnya tidak akan ada lagi black border yang biasanya muncul pada jendela pop-up