Ujicoba OpenGL 4.3 di Mesa 12.x

Submitted by w41lf0x on Mon, 07/25/2016 - 08:59

slackwareSetelah disibukkan dengan perbaruan website serta beberapa kegiatan kantor dan pribadi, saya sempatkan untuk menuliskan soal ujicoba fitur OpenGL 4.3 di Slackware. Daripada hilang ditelan waktu, sebaiknya memang ditulis saja. Apalagi sebenarnya saya melakukan hal tersebut sekitar sebulan yang lalu.

Untuk dapat mengaktifkan OpenGL 4.3 saya harus mengganti llvm 3.8 milik Slackware dengan llvm versi git untuk dapat menggunakan llvm versi 3.9 yang merupakan kebutuhan spesifik dari kode OpenGL 4.3 pada Mesa 12.x. Agar kompilasi llvm berhasil, saya harus mengubah sedikit opsi untuk cmake pada skrip llvm.SlackBuild sebagai berikut:

  cmake \
    -DCMAKE_C_COMPILER="clang" \
    -DCMAKE_CXX_COMPILER="clang++" \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DLLVM_LIBDIR_SUFFIX=${LIBDIRSUFFIX} \
    -DLLVM_BUILD_LLVM_DYLIB=ON \
    -DLLVM_DYLIB_EXPORT_ALL=ON \
    -DLLVM_LINK_LLVM_DYLIB=ON \
    -DLLVM_ENABLE_RTTI=ON \
    -DLLVM_ENABLE_FFI=ON \
    -DLLVM_ENABLE_ASSERTIONS=OFF \
    ..

# Disable for testing
#     -DLLVM_BINUTILS_INCDIR=/usr/include \
#     -DCLANG_RESOURCE_DIR="../lib${LIBDIRSUFFIX}/clang/${VERSION}" \

Setelah proses pembangunan llvm selesai, saya lanjutkan dengan membangun kernel 4.7.0 yang pada waktu itu masih berada pada status RC5. Sebenarnya saya cukup menggunakan versi 4.6.x, tetapi sekalian saja untuk menguji fitur baru di versi 4.7. Sila lihat daftar commit di repo git linux untuk mengetahui perubahan-perubahan pada kernel. Setelah instalasi llvm dan kernel selesai. Saya lanjutkan untuk instalasi Mesa 12.0.1 menggunakan mesa.SlackBuild milik Slackware yang saya ubah sedikit.

Berikut ini adalah hasil benchmark menggunakan program benchmark Unigine Heaven sebelum dan sesudah saya mengaktifkan OpenGL 4.3:

heaven-20160529_2341
Konfigurasi: Linux 4.4.11, llvm 3.8.0, Mesa 11.2.x, OpenGL 4.1.

heaven-20160712_1003
Konfigurasi: Linux 4.7.0-rc5, llvm 3.8.0, Mesa 12.0.x, OpenGL 4.1.

heaven-20160725_0833 Screenshot_20160725_090128
Konfigurasi: Linux 4.7.0-rc5, llvm 3.9-git, Mesa 12.0.x, OpenGL 4.3.

Catatan: GPU model seharusnya Saturn XT [FirePro M6100]. Tampil sebagai GPU Intel karena saya menggunakan mesin dengan hybrid GPU.

Dapat kita lihat bahwa terdapat perbaikan kinerja GPU Radeon sejak Linux 4.4.11 ke Linux 4.7.0-rc5 dan Mesa dari versi 11.x ke 12.x. Rerata frame per second (FPS) naik secara signifikan ~100% hanya dengan mengganti kernel dari versi 4.4.x ke 4.7.x meskipun versi OpenGL sama. Kinerja gpu semakin membaik setelah versi OpenGL saya naikkan dari versi 4.1 ke 4.3. Saya lihat perbaikan di sektor grafik pada Linux semakin hari semakin bagus serta perubahannya sangat signifikan. Saya berharap pada akhir tahun ini Linux sudah mendukung OpenGL 4.5. Aaamiin.

Bagaimana? Tertarik untuk mencoba?