Beberapa aplikasi dan game yang dibuat dengan dukungan OpenGL dan dikemas sebagai Flatpak tidak dapat dimulai dengan driver Nvidia berpemilik. Artikel ini menjelaskan cara meluncurkan aplikasi atau game Flatpak tersebut tanpa menginstal driver open source (Nouveau).
Berikut adalah contoh. Saya menggunakan driver Nvidia berpemilik di desktop Ubuntu 18.04 saya (nvidia-driver-390
) dan ketika saya mencoba untuk memulai Krita 4.1 terbaru yang diinstal sebagai Flatpak (yang dibangun dengan dukungan OpenGL) saya mendapatkan kesalahan berikut:
$ /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=krita --file-forwarding org.kde.krita
Gtk-Message: Failed to load module "canberra-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Could not initialize GLX
Game Winepak (game Windows yang dibundel dengan Wine sebagai paket Flatpak) juga tampak terpengaruh dari keluaran Flatpak ini yang telah dibuka sejak 2016.
Untuk memperbaiki game dan aplikasi Flatpak yang tidak dapat dijalankan saat menggunakan OpenGL dengan driver grafis Nvidia berpemilik, Anda perlu menginstal runtime untuk driver Nvidia berpemilik yang saat ini terinstal. Begitulah caranya.
1. Tambahkan repositori FlatHub jika Anda belum melakukannya. Anda dapat menemukan petunjuk rinci untuk distribusi Linux Anda di sini.
2. Sekarang Anda perlu mengetahui versi yang tepat dari driver Nvidia berpemilik yang diinstal pada sistem Anda.
Langkah ini tergantung pada distribusi Linux yang Anda gunakan dan saya tidak dapat membahas semua kasus. Petunjuk di bawah ini berorientasi pada Ubuntu (dan varian Ubuntu), tetapi semoga Anda dapat mengetahui sendiri versi driver Nvidia mana yang diinstal pada sistem Anda.
Untuk melakukan ini di Ubuntu, buka Software & Updates
, alihkan ke Additional Drivers
Tab dan tulis nama paket driver Nvidia.
Sebagai contoh ini adalah nvidia-driver-390
Dalam kasus saya, seperti yang Anda lihat di sini:
Itu tidak semua. Kami hanya mengetahui versi utama dari driver Nvidia, tetapi kami juga perlu mengetahui versi minornya. Untuk mendapatkan versi driver Nvidia yang tepat yang kita perlukan untuk langkah selanjutnya, jalankan perintah ini (harus bekerja di semua distribusi Linux berbasis Debian seperti Ubuntu, Linux Mint, dll.):
apt-cache policy NVIDIA-PACKAGE-NAME
Di mana NVIDIA-PACKAGE-NAME adalah nama paket driver Nvidia yang tercantum di Software & Updates
. Misalnya, untuk mengetahui versi yang tepat dari nvidia-driver-390
Paket, jalankan perintah ini:
$ apt-cache policy nvidia-driver-390
nvidia-driver-390:
Installed: 390.48-0ubuntu3
Candidate: 390.48-0ubuntu3
Version table:
*** 390.48-0ubuntu3 500
500 https://ro.archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages
100 /var/lib/dpkg/status
Pada output dari perintah ini, cari Installed
Bagian dan tulis nomor versi (kecuali -0ubuntu3
dan serupa). Sekarang kita tahu versi pasti dari driver Nvidia yang terinstal (390.48
dalam contoh saya). Ingat karena kita membutuhkannya untuk langkah selanjutnya.
3. Terakhir, Anda dapat menginstal Nvidia runtime untuk driver grafis Nvidia milik Anda yang diinstal dari FlatHub
Untuk membuat daftar semua paket runtime Nvidia yang tersedia di FlatHub, Anda dapat menggunakan perintah ini:
flatpak remote-ls flathub | grep nvidia
Semoga runtime untuk driver Nvidia yang Anda instal akan tersedia di FlatHub. Anda sekarang dapat melanjutkan untuk menginstal lingkungan runtime dengan menggunakan perintah ini:
- Untuk sistem 64bit:
flatpak install flathub org.freedesktop.Platform.GL.nvidia-MAJORVERSION-MINORVERSION
Ganti MAJORVERSION dengan versi mayor dari driver Nvidia yang terinstal di komputer Anda (390 dalam contoh saya di atas) dan
VERSI MINOR dengan versi minor (48 dalam contoh saya dari langkah 2).
Misalnya, untuk menginstal runtime driver grafis Nvidia versi 390.48, Anda perlu menggunakan perintah ini:
flatpak install flathub org.freedesktop.Platform.GL.nvidia-390-48
- Untuk sistem 32-bit (atau untuk dapat menjalankan aplikasi atau game 32-bit pada 64-bit), instal runtime 32-bit dengan:
flatpak install flathub org.freedesktop.Platform.GL32.nvidia-MAJORVERSION-MINORVERSION
Sekali lagi, ganti MAJOR VERSION dengan versi mayor dari driver Nvidia yang terinstal di komputer Anda (390 dalam contoh saya di atas) dan MINORVERSION dengan versi minor (48 dalam contoh saya dari langkah 2).
Misalnya, untuk menginstal runtime 32-bit untuk driver grafis Nvidia versi 390.48, Anda perlu menggunakan perintah ini:
flatpak install flathub org.freedesktop.Platform.GL32.nvidia-390-48
Hanya itu yang perlu Anda lakukan untuk mendapatkan aplikasi atau game paket Flatpak yang dibuat dengan OpenGL.