Cara Install Driver NVIDIA OPTIMUS di Linux

cara install nvidia optimus vga bumblebee arch linux

NVIDIA Optimus technology

Teknologi terbaru dari NVIDIA yang diberinama Optimus ini mampu meyensuaikan pemakaian GPU sesuai kebutuhan, jika aplikasi yang dijalankan adalah aplikasi 3D seperti game maka otomatis aplikasi 3D tersebut akan dirender menggunakan GPU NVIDIA dan jika GPU NVIDIA tidak dipakai makan akan dimatikan untuk menghemat konsumsi energi khususnya pada Laptop.

  • Switchable Graphic
    setiap komputer pasti ada integrated GPU yang berada di dalam CPU itu sendiri ,sedangkan dedicated GPU terpasang terpisah secara fisik,GPU konvensional (belum menggunakan optimus technology) perlu tindakan user (manual) untuk mengaktifkan nya. misalnya ketika ingin main game maka kita switch ke Dedicated GPU (NVIDIA /ATI) dan kita balikin lagi manual ke integrated GPU kalau sudah selesai main game dengan tujuan biar hemat listrik .
    Dedicated GPU akan tetap menyala dan mengonsumsi daya walau kita hanya menggunakan Integrated GPU .
  • Optimus Technology
    NVIDIA Optimus technology bekerja secara otomatis sesuai aplikasi yang dijalankan dan memilihkan GPU yang tepat. jika dedicated GPU tidak  digunakan maka Optimus technology akan mematikan nya untuk menghemat daya.
    sebagai contoh ketika kamu main game kamu gak perlu manual pindah ke dedicated GPU, tinggal jalanin game nya lalu secara otomatis optimus akan menghidupkan dedicated GPU dan menggunakan nya. dan akan mematikan dedicated GPU jika sudah tidak digunakan.

Bumblebee | NVIDIA Optimus untuk Linux

Bumblebee Project adalah projek yang berasal dari komunitas linux untuk menginplementasikan Optimus technology pada sistem operasi Linux , tutorial ini bukan hanya untuk arch linux tetapi bisa diigunakan untuk semua distro arch linux seperti antergos dan manjaro linux.

Hal penting Sebelum install Bumblebee (NVIDIA Optimus Untuk Linux)

Ada beberapa pengaturan dan kondisi yang harus kamu ketahui ketika menggunakan teknologi optimus ini .

  • Cek Apakah Laptop kamu mempunyai teknologi Optimus
    gunakan perintah : lspci -vnn | grep '\''[030[02]\]'nvidia-optimus-laptop-teknologi Jika ada 2 baris yaitu vga compatible controller dan 3D controller maka bisa dipasitkan kamu mempunyai optimus laptop
  • Enable Optimus pada BIOS /UEFI 
    Teknologi optimus menggunakan controller on board jadi kamu harus mengaktifkan nya di menu BIOS /UEFI .
    setting nvidia optimus pada BIOS UEFI
    Ada 2 Tipe BIOS/UEFI :
    -BIOS/UEFI tidak mengontrol Video card (Tidak ada menu seperti di gambar atas), tipe inilah yang sangat bersahabat  dengan bumblebee
    -BIOS/UEFI mengontrol Video card senhingga kamu harus mengenable nya seperti gambar diatas.
  • Optimus technologi Hanya untuk laptop
    Teknologi Optimus memang didesain khusus untuk laptop dengan tujuan untuk menghemat daya,mengingat laptop menggunakan baterai.
  • Bumblebee Bisa untuk PC dan laptop
    Kamu masih tetap bisa menggunakan bumblebee pada Laptop dan PC tanpa teknologi Optimus , hanya saja dedicated VGA/GPU mu tetap menyala (standby) jika tidak digunakan,sedangkan laptop dengan teknlogi optimus akan mematikan dedicated VGA/GPU jika tidak digunakan (dimatikan total).
  • Monitor Harus terpasang di Integrated graphic card 
    Kalau untuk pengguna laptop ini diskip saja,karena monitor sudah terpasang dari sananya 😀 .
    Jika kamu menggunakan PC maka monitor yang kamu gunakan harus dipasang di colokan VGA/HDMI/DVI yang ada di mainboard (jangan dicolokin di VGA tambahan /dedicated GPU).
  • Hapus Xorg config file
    hapus file /etc/X11/xorg.conf dan file *.conf di folder /etc/X11/xorg.conf.d yang berhubungan dengan dedicated/discrete graphics card yang kamu miliki. bisanya file nya mengandung merek semisal mengandung  “nvidia /ati”
  • Hapus Nouveau driver (Opensource NVIDIA driver)
    Gunakan perintah : sudo pacman -Rc xf86-video-nouveau
    untuk menghapus Nouveau Driver
  • Enable Multilib  Repository
    edit file  /etc/pacman.conf dan cari bagian :

    [multilib]
    Include = /etc/pacman.d/mirrorlist

    hilangkan tanda #(pagar) lalu save save

Cara Install NVIDIA Optimus Untuk Linux (bumblebee)

Kamu bisa install melalui pacman atau melalui GUI pamac-manager

  • Melalui terminal
    masukan perintah sudo pacman -S bumblebee lalu enter
    intall bumblebee via terminal
  • Melalui GUI
    masuk ke menu > system >add/remove program (atau lewat terminal ketik pamac-manager)
    masukan kata kunci bumblebee pada kotak pencarian lalu enter
    centang bumblebee,lib32-primusdan primus lalu klik apply untuk menginstall
    isntall bumblebee via pamac-manager

 

Install Integrated GPU Driver

install intel vga driver xf86-video-intel  gunakan pacman atau pamac-manager untuk mencari dan menginstall package tersebut.

install intel vga driver via terminal
Atau menggunakan pamac-manager GUI
intall intel vga driver via pamac-manager

 

Install Discrete/Dedicated  GPU Proprietary Driver

ikuti langkah-langkah dibawah ini dengan benar agar kamu gak salah nginstall VGA driver yang menyebabkan linux mu blank.

  1. Cek Seri dan model GPU yang terpasang 
    gunakan perintah lspci -k | grep -A 2 -E "(VGA|3D)" pada terminal
    cek model dan tipe independen GPU
  2. Mencari driver yang cocok
    -Masukan katakunci nvidia pada kotak pencarian pamac-manager dan lihat versi dari driver yang ada.
    -lihat versi driver yang ada, mulai cari tau dari driver terbaru apakah VGA mu disupport oleh driver tesrsebut.
    caranya masukan versi ke kotak pencarian google dan buka website yang menunjukan informasi tentang driver tersebut
    mencari informasi dukungan driver nvidia
    cari apakah model/type vga mu didukung oleh driver dengan versi tersebut, jika tidak coba cari ke versi driver dibawahnya yang terlisting di pamac-manager
    mencari informasi dukungan nvidia driver
  3. Install library 32bit 
    install lib32-virtualgl  dan lib32-mesa-libgl yang akan digunakan sebagai jembatan agar aplikasi 32bit bisa menggunakan dedicated VGA kita. cara installnya sama dengan diatas, bisa menggunakan pacman atau pamac-manager
  4. Bumblebee tidak bisa berjalan jika kamu menggunakan opensource driver untuk discrete /dedicated GPU mu misalnya menggunakan driver noouveau (driver opensource untuk NVIDIA) , jadi pastikan kamu menghapus opensource dedicated GPU driver.

Install Langsung sekaligus package dengan command line/terminal 

Kamu bisa menginstall sekaligus package yang diperlukan via terminal, cara ini sangat mudah dan menghemat waktu, tetapi kamu harus tetap mengecek BIOS/UEFI dan menentukan Driver yang cocok .

  • Install Bumblebee untuk driver versi  saat ini (Terbaru )
    sudo pacman -S bumblebee mesa xf86-video-intel nvidia lib32-nvidia-utils lib32-virtualgl lib32-mesa-libgl nvidia-settings bbswitch
  • Install Bumblebee (340.xx legacy drivers)
    sudo pacman -S bumblebee mesa xf86-video-intel nvidia-340xx nvidia-340xx-utils lib32-nvidia-340xx-utils lib32-virtualgl lib32-mesa-libgl bbswitch
  • Install Bumblebee (304.xx legacy drivers)

    sudo pacman -S bumblebee mesa xf86-video-intel nvidia-304xx nvidia-304xx-utils lib32-nvidia-304xx-utils lib32-virtualgl lib32-mesa-libgl bbswitch

Mengatur user Group dan bumblebee service

Untuk bisa menggunakan bumblebee user kita harus dimasukan ke group bumblebee dengan perintah
sudo gpasswd -a user bumblebee silakan ganti user sesuai dengan username mu
menambahkan user ke bumblebee group

Enable service bumblebee dengan perintah 
sudo systemctl enable bumblebeed.service
meng enable bumbebee service

POWER MANAGEMENT

tujuan utama dari penggunaan power management adalah mematikan NVIDIA card ketika sudah tidak lagi digunakan oleh bumblebee .Jika bbswitch atau bbswitch-dkms sudah terinstall maka akan berjalan otomatis tanpa harus disetting manual. perlu kamu ketahui bahwa bbswitch tidak akan berfungsi di desktop komputer (Bukan Laptop)

  • Discrete/dedicated GPU off pada baterai state
    jika kamu menghidupkan laptop tanpa memasang AC power / menggunakan baterai maka secara otomatis driver /module NVIDIA tidak akan diload dan kamu tidak bisa menggunakan discrete GPU NVIDIA
  • Reboot untuk menghidupkan kembali Discrete GPU 
    Untuk Laptop biasa tanpa menu Optimus di BIOS/UEFI ,bbswitch /bumblebee tidak bisa menghidupkan kembali GPU yang telah dimatikan. Sebagai solusinya kamu harus mereboot laptop dan pastikan adaptor terpasang ke listrik .

Mencoba /Testing Teknologi NVIDIA Optimus Untuk Linux

Setelah semua diinstall (bumblebee,intel driver,nvidia driver,bbswitch) restart laptop dan jangan lupa untuk memasang power adaptor agar NVIDIA driver diload pada saat booting.

test menggunakan perintah optirun dengan format umum optirun [options] application [application-parameters] untuk maual nya bisa dilihat dengan perintah man optirun
Contoh : optirun glxspheres64
 atau optirun glxspheres32

testing bumblebee render dengan optirun

Jika gambar seperti gambar diatas sudah muncul berarti selamat, anda berhasil menginstall bumblebee Optimus for Linux . pada terminal terlihat Geforce 830M digunakan untuk merender objek tersebut.

Tuning Performa Bumblebee (NVIDIA Optimus Untuk Linux)

Untuk menggunakan bumblebee dapat dilakukan dengan menggunakan VirtualGL sebagai brigde dan menggunakan primusrun sebagai bridge , setiap penggunaan parameter akan menghasilkan performa yang berbeda jadi silakan berexperimen dengan opsi dibawah ini:

  • Optirun 
    format umum optirun [options] application [application-parameters]
    optirun menggunakan virtualGL sebagai bridge secara default .Bumblebee merender frame untuk optimus NVIDIA card di Xserver tersembunyi menggunakan virtualGL dan menampilkan nya di Xserver yang sedang kamu gunakan saat ini. Frame akan dikompres sebelum dikirim ke X server, hal ini dialkukan untuk menghemat bandwidth dan dapat digunakan untuk mempercepat kinerja bumblebee.
    Optirun mempinyai beberapa Compressed parameter dan Uncompressed parameter , tiap parameter ini akan menghasilkan performa yang berbeda.
    Compressed methods : jpeg ,rgb,yuv  Uncompressed methods : proxy ,xv .
    Compressed method akan lebih menggunakan resource CPU daripada GPU sedangkan Uncompressed method akan lebih banyak menggunakan resource GPU dibanding CPU.
    Sebagai contoh :optirun -c yuv glxspheres64(Compressed method) menghasilkan output dengan 108 FPstesting 3drender dengan opsi yuv comression
    optirun -c xv glxspheres64 (Uncompressed method) menghasilkan output dengan 68-77 FPs
    testing 3drender dengan opsi xv comressionSetting Standar compression untuk semua aplikasi 
    Setelah kamu menemukan pilihan metode kompress yang tepat kamu bisa menerapkan nya untuk semua aplikasi tanpa harus memberi paramater secara manual.
    edit file /etc/bumblebee/bumblebee.conf
      dan ubah bagian VGLTransport menjadi compress method yang kamu kehendaki , misalnya VGLTransport=yuv

    [...]
    [optirun]
    VGLTransport=yuv
    [...]
  • Primusrun
    Primusrun lebih hemat daya dan terkadang memberikan performa yang lebih baik dibanding optirun/virtualGL. primus bisa digunakan secara independen tetapi primus juga  dapat dijadikan bridge untuk optirun sehingga lebih flexibel.
    untuk bisa menggunakan primus silakan install package primus dan lib32-primusPrimus Independen 
    Format perintah : primusrun [aplikasi]
    contoh : primusrun glxspheres64

    Primus sebagai Bridge 
    rubah settingan pada /etc/bumblebee/bumblebee.conf
     dan ganti pada bagian Bridge menjadi primus

    [...]
    [optirun]
    bridge=primus
    [...]

    mengubah settingan transport dan bridge bumblebee.conf

Menjalankan aplikasi dengan Optimus technology di Linux

diatas kita telah menentukan compress method dan juga menyeting primus sebagai bridge untuk optirun. setiap kali kita ingin menjalankan aplikasi dengan graphic card NVIDIA kita harus menjalankan nya dengan optirun.
Contoh : kita akan menjalankan game guildwars2 menggunakan graphic card NVIDIA maka kita akan memanggil nya melalui optirun  , karena guildwars2 adalah game windows maka saya akan kemggunakan wine untuk meulator nya sehingga perintah lengkap nya menjadi
optirun wine Gw2-64.exe

menjalankan game dengan optirun bumblebee

 

Kurang jelas? Silakan Bertanya