Rilis Glibc 2.36 telah menciptakan gangguan signifikan di komunitas gaming Linux, membuat banyak game tidak dapat dimainkan dan memicu kembali perdebatan tentang stabilitas application binary interface (ABI) di platform tersebut. Masalah ini berasal dari perubahan cara GNU C Library menangani tabel hash simbol, yang mempengaruhi game-game yang menggunakan Easy Anti-Cheat ( EAC ) dan Epic Online Services ( EOS ), serta perangkat lunak lainnya.
Akar Masalah Teknis
Masalah ini berpusat pada dua metode untuk menyediakan tabel hash simbol dalam format ELF : DT_HASH dan DT_GNU_HASH . Sementara DT_HASH adalah bagian dari standar SYSV generic ABI dan terdokumentasi dengan baik, DT_GNU_HASH adalah pengganti yang lebih baru dan lebih cepat namun kurang dokumentasi yang memadai. Selama bertahun-tahun, Glibc mempertahankan kompatibilitas dengan menyertakan kedua format tabel hash, tetapi versi 2.36 menghapus persyaratan ini, dan sebaliknya mengandalkan pengaturan default yang mungkin hanya menyertakan varian GNU .
Perubahan ini telah merusak beberapa game terkenal termasuk yang menggunakan proteksi EAC EOS , game indie Shovel Knight , dan proyek open-source seperti frame rate limiter libstrangle . Dampaknya diperkirakan akan bertambah seiring lebih banyak distribusi mainstream mengadopsi Glibc 2.36 .
Catatan: ELF (Executable and Linkable Format) adalah format file standar untuk executable dan library pada sistem Linux .
Perbandingan Hash Table
- DT_HASH: Bagian dari SYSV generic ABI, terdokumentasi dengan baik, standar wajib
- DT_GNU_HASH: Pengganti yang lebih baru, lebih kecil dan cepat, dokumentasi kurang memadai
- Penghematan Ruang: Menghapus DT_HASH menghemat ~16KB per binary (kurang dari 1% dari total ukuran)
- Kompatibilitas: GNU linker default ke "both", mold linker default ke "sysv"
Respons Komunitas dan Solusi Sementara
Komunitas gaming Linux merespons dengan reaksi beragam terhadap perkembangan ini. Beberapa developer berpendapat bahwa fokus seharusnya beralih sepenuhnya untuk memastikan game bekerja dengan sempurna melalui Proton (lapisan kompatibilitas Windows milik Valve ) daripada mempertahankan versi Linux native. Sentimen ini mencerminkan frustasi yang berkembang dengan tantangan pengembangan game Linux native.
Developer game seharusnya 100% fokus memastikan game mereka berjalan sempurna di Proton daripada merilis versi Linux setengah matang.
Yang lain mengadvokasi praktik pengembangan lintas platform yang lebih baik dari awal, menyarankan agar developer menghindari teknologi spesifik platform seperti DirectX demi alternatif lintas platform seperti Vulkan . Namun, kenyataannya adalah banyak game yang sudah ada tidak dapat dengan mudah dimodifikasi atau dikompilasi ulang untuk mengakomodasi perubahan ini.
Perangkat Lunak yang Terdampak
- Game yang menggunakan Easy Anti-Cheat ( EAC ) dan Epic Online Services ( EOS )
- Shovel Knight (game indie)
- libstrangle (pembatas frame rate open-source)
- Perangkat lunak tambahan diperkirakan akan terdampak seiring Glibc 2.36 mencapai distribusi mainstream
Implikasi yang Lebih Luas
Insiden ini menyoroti ketegangan fundamental dalam pengembangan Linux antara kemajuan teknis dan kompatibilitas mundur. Meskipun perubahan ini secara teknis menghemat ruang (sekitar 16KB per binary) dan tidak dianggap sebagai pelanggaran ABI resmi, namun memiliki konsekuensi dunia nyata bagi pengguna dan developer. Situasi ini diperumit oleh fakta bahwa distribusi yang berbeda mungkin menangani perubahan ini secara berbeda, berpotensi meningkatkan fragmentasi.
Kontroversi ini juga menggarisbawahi mengapa beberapa developer merasa pengembangan Windows lebih dapat diprediksi, meskipun Linux memiliki keunggulan teknis. Menariknya, beberapa anggota komunitas mencatat bahwa Proton terkadang memberikan performa game yang lebih baik daripada Windows native, dengan menyebutkan contoh seperti Elden Ring di mana perbaikan terjemahan DirectX 12 diimplementasikan lebih cepat di VKD3D milik Wine daripada di Windows itu sendiri.
Kesimpulan
Situasi Glibc 2.36 berfungsi sebagai pengingat akan tantangan berkelanjutan yang dihadapi Linux sebagai platform gaming. Meskipun manfaat teknis dari perubahan ini dapat diperdebatkan, dampaknya pada perangkat lunak yang sudah ada menunjukkan keseimbangan yang rumit antara inovasi dan stabilitas dalam ekosistem open-source. Seiring lanskap gaming Linux terus berkembang, insiden ini mungkin mempercepat tren menuju lapisan kompatibilitas seperti Proton daripada pengembangan native, yang secara fundamental mengubah cara game mencapai pengguna Linux .
Referensi: Win32 Is The Only Stable ABI on Linux
