Desktop Skeuomorfik Itu Masalah Rendering, Bukan Lelucon
Desktop skeuomorfik Wayland seperti DEsk membebani pipeline GPU jauh lebih berat daripada UI flat. Ini biaya nyata ray tracing sebuah desktop.

Ini klaim yang bakal bikin dua kubu sama-sama kesal: skeuomorfisme tidak mati karena pengguna membencinya. Ia mati karena mahal, baik dari sisi piksel, siklus GPU, maupun jam kerja desainer. Desain flat menang karena ekonomi, bukan karena estetika. Proyek baru yang ramai dibicarakan, DEsk, adalah desktop skeuomorfik Wayland untuk Linux, di mana jendela berupa lembaran kertas di atas meja walnut yang di-ray trace. Ini ujian nyata pertama untuk tesis tersebut dalam beberapa tahun terakhir, dan hasilnya membuktikan poinnya dengan cantik: begitu kamu memutuskan seluruh ruangan diterangi satu lampu meja, kamu sudah masuk ke arsitektur rendering yang lebih mirip game engine daripada GNOME Shell.
Apa yang Sebenarnya Harus Dirender Desktop Skeuomorfik
Desain flat itu ramah untuk renderer. Compositor modern seperti Mutter atau KWin menghabiskan hampir seluruh waktunya untuk texture compositing: aplikasi menyerahkan buffer, lalu compositor menggambar quad, menerapkan shader sudut membulat sesekali, dan memasang drop shadow. Selesai. Seluruh frame hampir gratis di GPU mana pun yang dibuat dalam sepuluh tahun terakhir, dan inilah alasan UI flat merajalela. Biayanya nyaris nol dan skalanya ke resolusi apa pun cukup dengan satu transformasi sederhana.
Skeuomorfisme melanggar hampir setiap bagian dari kesepakatan itu. Begitu bahasa desainmu bilang “jendela ini adalah lembar kertas krem dengan serat, ketebalan, dan sudut yang terlipat,” kamu butuh:
- Material shading — kertas itu bukan warna, melainkan respons difus yang mirip subsurface dengan tekstur serat. Ini kerja per-piksel, bukan sekadar fill rect.
- Pencahayaan yang konsisten — setiap objek dalam adegan harus sepakat soal di mana cahayanya. Satu lampu meja berarti satu shadow map (atau ray query) yang diikuti semua objek, termasuk isi jendela yang live.
- Contact shadow — jendela yang “tergeletak di meja” butuh ambient occlusion di titik kertas bertemu walnut, atau ilusinya langsung runtuh.
- Deformasi — DEsk memungkinkanmu mengangkat sudut kertas untuk mengintip bagian belakang lembarannya, dan meremas jendela jadi bola saat ditutup. Itu vertex displacement pada tekstur live, bukan animasi skala.
Tidak ada satu pun dari ini yang sulit secara individu. Game engine sudah melakukannya selama puluhan tahun. Tapi compositor desktop punya batasan yang tidak dimiliki game: isi “lembar kertas” itu adalah output aplikasi yang sembarang dan diperbarui hingga 60fps, dan kamu tidak bisa menghitung apa pun di muka. Kamu sedang men-shading umpan video live seolah-olah itu tinta di atas serat.
Compositor Berubah Jadi Game Engine
Dokumen arsitektur DEsk menjelaskan langkahnya dengan gamblang: ruangan (meja, rak, konsol, kotak pos) di-ray trace di GPU lewat GLES 3, dengan CPU tracer sebagai cadangan, dan hasilnya di-cache per ukuran layar. Satu kalimat itu memuat seluruh strategi rekayasanya, dan layak dibongkar karena inilah satu-satunya cara yang masuk akal untuk melakukannya.
Triknya ada di pemisahan statis/dinamis. Men-ray trace ruangan setiap frame itu konyol. Bahkan path tracer sederhana butuh beberapa detik per frame di hardware kelas menengah. Tapi ruangannya statis. Meja tidak bergerak, lampu juga tidak. Jadi kamu trace sekali saat login (“login pertama menggambar ruangan sekali: beberapa detik di GPU, lebih lama tanpa GPU”), simpan radiance-nya di cache, dan sesudah itu ruangan hanyalah backdrop bertekstur. Objek dinamis seperti jendela kertas, laci, dan surat di kotak pos di-forward-render di atasnya, diterangi agar cocok dengan cache ruangan.
// Sketch of the two-layer architecture a skeuomorphic shell converges on
struct frame {
// Layer 1: the room. Traced once at login, cached per output size.
texture room_cache; // desk, shelf, post box, baked lamp light
// Layer 2: dynamic objects, forward-rendered each frame.
vector<object> paper_windows; // app buffers mapped onto paper quads
vector<object> drawer_items;
vector<object> notifications;
};
void render(frame *f) {
blit(f->room_cache); // one textured quad, nearly free
for (auto &o : f->paper_windows)
draw_paper(o); // fibre shader + fake AO + dog-ear
composite(f->drawer_items, f->notifications);
}
Ini bukan kebetulan: persis begitulah cara Myst bekerja pada 1993, yaitu adegan statis yang dirender sebelumnya dengan sprite dinamis yang dikomposisi di atasnya. Beberapa pengamat menyebut DEsk punya “aura Myst yang kuat”, dan mereka lebih benar dari yang mereka sadari. Ini bukan sekadar kemiripan estetika, tapi arsitektur rendering yang sama, lahir dari batasan yang sama (global illumination yang mahal, compositing yang murah). Sebagai penggemar sejarah, saya suka sekali hal ini. Tiga dekade kemajuan GPU, dan jawaban jujur untuk “bagaimana cara ray-trace desktop saya” masih “jangan, trace sekali lalu berbohonglah.”
Desain multi-monitor menunjukkan pragmatisme yang sama. Alih-alih me-ray trace ruangan yang lebih besar untuk setiap layar, monitor tambahan menampilkan “papan meja yang lebih banyak, yang melanjutkan dari situ”. Backdrop statis meluas, dan cache adegan dibagi rata ke semua output. Layar yang dicabut di tengah sesi cukup membuat jendelanya dipindahkan ke layar yang tersisa. Sederhana, tapi ini menghindari masalah yang benar-benar sulit, yaitu men-trace ulang setiap kali ada event hotplug.
Skeuomorfisme Membebani GPU dengan Cara yang Tidak Pernah Dilakukan UI Flat
Mari konkret soal biayanya, karena “lebih berat” itu banyak dipakai tanpa dasar dalam diskusi gaya ini. Bandingkan apa yang dilakukan compositor flat untuk satu jendela dengan yang dituntut metafora kertas DEsk:
Flat: bind wl_buffer klien sebagai tekstur, gambar satu quad dengan shader yang melakukan sampling, mungkin bulatkan sudut dengan signed-distance function, lalu pasang shadow 9-tap yang murah. Biaya per jendela: beberapa texture read per piksel, semuanya dari area yang ramah cache.
Kertas: buffer klien hanya berperan sebagai “tinta”. Kamu juga butuh lapisan dasar kertas (tekstur serat, penggelapan tepi, bibir ketebalan), sudut terlipat yang berupa geometri terpisah dengan pencahayaannya sendiri, contact shadow ke meja yang bergantung pada posisi jendela di adegan, dan pencahayaan yang cocok dengan lampu yang sudah dibakar di cache ruangan. Dan ketika pengguna menarik tepi untuk “mengeluarkan lebih banyak kertas”, quad kertas mengubah ukuran secara independen dari kontennya. Kamu sudah memisahkan geometri jendela dari geometri permukaan, sesuatu yang tidak dilakukan compositor normal mana pun.

Namun biaya sebenarnya bukan throughput. GPU modern dengan santai menerima beberapa lapisan tekstur tambahan. Biaya sebenarnya adalah kompleksitas pipeline. Anggaran shader compositor flat cukup satu atau dua program untuk seluruh sesi. Shell skeuomorfik butuh sistem material kecil: kertas, walnut, kuningan, kaca (lensa lampu jam), kain. Setiap material adalah varian shader, setiap varian bisa rusak di driver tertentu, dan setiap varian berinteraksi dengan pencahayaan lampu bersama, sehingga keduanya tidak bisa dikerjakan terpisah. Inilah sebabnya era theming klasik Enlightenment dan GTK2 mati, dan ini argumen balasan paling kuat dari para praktisi: window manager adalah bagian yang paling mudah. Setiap aplikasi tetap menggambar kontennya sendiri dengan GTK atau Qt, dan walnut di sisi compositor seberapa pun banyaknya tidak akan membuat aplikasi libadwaita terlihat seperti benda yang memang ada di meja fisik. DEsk hanya menyelesaikan ini sebagian: jendela dengan client-side decoration “ikut duduk di atas kertas juga”, artinya metaforanya membungkus aplikasi, bukan mengubah aplikasinya.
Wayland Membuat Ini Lebih Mudah Sekaligus Lebih Sulit
Ada alasan mengapa proyek seperti ini ada sekarang, bukan di 2010. Taruhan arsitektur inti Wayland, yaitu compositor memiliki seluruh frame dan setiap piksel melewatinya, adalah taruhan yang juga perlu diambil shell skeuomorfik. Di X11, aplikasi bisa menggambar di mana saja, dan yang bisa kamu lakukan hanyalah compositing manager yang putus asa me-reparent jendela sambil berharap. Di Wayland, shell menerima buffer surface yang bersih dan terisolasi, dan punya kebebasan penuh atas cara menampilkannya. Kalau kamu ingin memetakan surface ke lembar kertas yang bisa dideformasi dengan sudut terlipat, Wayland adalah sistem tampilan pertama di mana itu sekadar sulit, bukan tidak koheren.
Tapi Wayland juga menaikkan tagihannya. Desktop environment bukan renderer; ia adalah renderer ditambah dua dekade akumulasi protokol: Xwayland untuk aplikasi lama, bridging IBus untuk input method (DEsk mendukung pengetikan ke indeks rak buku dan memo), PipeWire untuk tombol volume, logind untuk kecerahan dan penanganan tutup laptop, MPRIS untuk halaman media di jam, PAM untuk layar kunci. Setiap item itu adalah permukaan integrasi yang di GNOME dibagi ke ratusan kontributor. DEsk menarik garis tegas, yaitu “apa yang dibuatnya dan apa yang dipinjamnya”, dengan mendelegasikan jaringan, Bluetooth, pencetakan, dan theming aplikasi lain ke perangkat lunak bebas yang sudah ada. Strategi meminjam ini satu-satunya cara tim kecil bisa mengirim desktop utuh, tapi konsekuensinya ilusi skeuomorfik berhenti mendadak di tepinya: pengaturan Wi-Fi-nya adalah panel GTK flat milik orang lain.
Yang layak dicatat bagi siapa pun yang tergoda mencoba: karena ruangan di-cache per ukuran layar dan lapisan dinamis adalah forward rendering GLES 3 biasa, biaya steady-state seharusnya biasa saja, sebanding dengan compositor mana pun yang memakai efek berat. Titik sakitnya ada pada trace saat login di mesin tanpa GPU (fallback CPU memang ada, tapi lambat), dan kekasaran umum dari beta v0.1. Reviewer melaporkan animasi yang tidak konsisten pada kontrol stateful seperti tombol daya di Control Panel. Dalam UI skeuomorfik, ini bukan bug kosmetik. Ketika animasi memutar kunci salah, kamu tidak bisa tahu apakah mesinnya benar-benar akan mati. Skeuomorfisme menaikkan taruhan ketepatan animasi, karena animasinya adalah indikator state. Kelebihan desain flat yang jarang dihargai adalah sebuah toggle switch hanya punya dua state yang bisa digambar dan tidak ada yang di tengah.
Mengapa Kita Berhenti Membangun Seperti Ini
Sejarah standarnya menyebut skeuomorfisme sebagai tongkat bantu, metafora yang terasa nyata untuk mengajari orang memakai layar sentuh, dan begitu pengguna dewasa, jahitan kulitnya dibuang. Cerita itu sebagian besar keliru, dan DEsk berguna justru karena memperlihatkan ekonomi yang sebenarnya. Skeuomorfisme mati ketika dua hal terjadi bersamaan: layar Retina melipatgandakan jumlah piksel yang harus ditutupi tekstur yang dilukis tangan, dan mobile membuat UI berjalan di GPU yang terbatas dan menyedot baterai. UI vektor flat skalanya gratis; tekstur logam sikat di 1x, 2x, dan 3x tidak. Redesign iOS 7 dari Apple bukan selera yang berevolusi, melainkan anggaran rendering yang dipangkas. Kalau kamu pernah membaca bagaimana terminal yang dipercepat GPU berpindah dari grid glyph TTY ke pipeline shader penuh, kamu sudah melihat pertukaran yang sama dari arah sebaliknya: kita menghabiskan GPU dengan bebas di dalam konten aplikasi, tapi chrome-nya sendiri ikut diet.
Ada juga alasan yang lebih dalam dan sama sekali tidak berhubungan dengan GPU: konsistensi tidak bisa dikomposisi. Satu desainer bisa membuat metafora fisik yang indah; seribu developer pihak ketiga tidak bisa. Metafora rak buku bekerja untuk aplikasi DEsk sendiri. Begitu Firefox merender UI abu-abu flat miliknya di atas kertas, kamu sedang melihat tangkapan layar yang ditempel di properti panggung. Thread Hacker News menangkap ini dari dua arah sekaligus. Satu komentator bernostalgia pada era GTK2 yang bisa di-theme, dan yang lain menunjukkan bahwa toolkit modern “seolah dirancang untuk menolak theme”. Desktop bisa menjadi meja, tapi aplikasinya tidak akan pernah. Metafora itu bocor, dan siapa pun yang pernah membangun lingkungan bertema tahu kebocoran itu mematikan bagi ilusinya. Ini celah yang sama yang membuat anti-pattern UX begitu bertahan: permukaannya mudah diperbaiki, ekosistemnya tidak.
Di Mana Klaim Kontrarian Ini Runtuh
Saya bilang skeuomorfisme kalah karena ekonomi, dan saya masih percaya itu. Tapi kejujuran menuntut konsesi, dan titik kasar DEsk sendiri yang menyediakannya.
Pertama, sebagian biayanya sama sekali bukan soal rendering, melainkan ambiguitas interaksi. Metafora fisik meminjam ekspektasi pengguna dari dunia nyata, dan fisika tidak punya undo. Ketika menutup jendela berarti “diremas jadi bola dan dilempar”, itu menyenangkan tepat sekali, lalu sedikit mengkhawatirkan di kali keempat puluh ketika kamu refleks menutup jendela yang salah. Keabstrakan chrome flat itu fitur: tombol × kecil adalah janji, bukan pertunjukan. Kedua, statefulness. Objek fisik harus selalu terlihat seperti apa adanya. Animasi kunci yang macet bukan transisi yang patah-patah, melainkan kebohongan tentang apakah mesinmu akan mati. UI skeuomorfik harus benar di tempat-tempat yang boleh dibuat kira-kira oleh UI flat, dan ketepatan animasi sangat mahal dari sisi waktu QA, seperti yang akan paham siapa pun yang pernah merilis sistem di mana UI harus merefleksikan state terdistribusi dengan setia.
Kelebihan desain flat yang jarang dihargai adalah sebuah toggle switch hanya punya dua state yang bisa digambar dan tidak ada yang di tengah. Kunci kuningan punya tak terhingga banyaknya, dan setiap satunya adalah laporan bug.
Ketiga, aksesibilitas dan kemudahan ditemukan bermata dua. Beberapa komentator menyarankan metafora meja secara harfiah benar-benar bisa membantu pengguna lanjut usia yang tidak pernah membentuk model mental tentang sistem berkas. Mereka belajar di mana harus klik dengan hafalan dan tidak bisa pulih ketika letaknya berubah, karena UI flat “tidak punya logika bawaan bagi mereka”. Meja punya logika: surat masuk kotak pos, dokumen berupa kertas, dan barang yang disimpan masuk laci. Itu argumen nyata, dan menepisnya sebagai nostalgia itu malas. Tapi fisikalitas yang sama yang membantu satu pengguna justru menyembunyikan fungsi dari pengguna lain. Bagaimana kamu tahu bahwa Super+D membuka laci, atau bahwa jendela yang dilipat bisa disimpan di sana? Affordance fisik bekerja selama objeknya ada dalam jangkauan. Pintasan keyboard adalah abstraksi yang murni dipelajari, apa pun wujudnya.

Untuk Apa DEsk Sebenarnya Dibuat
Akan keliru kalau membaca DEsk sebagai usulan agar kita semua bekerja di meja yang di-ray trace sekarang. Itu tidak akan terjadi, dan ekonomi yang saya bahas di awal masih berlaku: vendor platform yang mengirim ke semiliar perangkat tidak mampu menanggung material shader per-piksel untuk chrome, pencahayaan lampu yang disetel tangan, dan kunci kuningan yang animasinya harus akurat. Desain flat tetap default yang tepat untuk perangkat lunak sistem, sama seperti beton adalah default yang tepat untuk jembatan.
Yang sebenarnya ditunjukkan DEsk adalah sesuatu yang sudah lama perlu dibuktikan untuk desktop Linux: lapisan compositor sekarang cukup ekspresif untuk menjadi media. Wayland ditambah GPU modern memberi satu developer yang gigih kanvas full-frame dengan ruang yang cukup untuk merender dunia yang koheren, bukan sekadar menata persegi panjang. Trik era Myst, yaitu memanggang cahaya yang mahal lalu forward-render lapisan dinamis, menutup celah performa yang dulu membuat ini mustahil. Apakah dunia yang dibangun seseorang berupa meja walnut bernostalgia, anjungan kapal Nostromo yang didambakan satu komentator, atau sesuatu yang belum pernah dibayangkan siapa pun, itu soal selera. Kemampuannya yang jadi beritanya.
Ada pola yang terus berulang di dunia komputasi: sebuah teknologi matang, mainstream-nya berkonvergensi ke estetika paling murah yang masih memadai, lalu para hobiis menemukan kembali estetika mahal itu sebagai bentuk kerajinan. Itu terjadi pada keyboard mekanik, pada seni dithering satu-bit, dan pada shader CRT di emulator. Desktop skeuomorfik adalah antrean berikutnya. Mereka tidak akan menggantikan apa pun. Mereka hanya akan mengingatkan kita, seperti satu lampu meja DEsk yang menerangi seluruh ruangan yang di-ray trace, bahwa kotak abu-abu flat itu sejak awal adalah keputusan anggaran, dan anggaran, tidak seperti selera, masih bisa diperdebatkan.


