Arch Linux’ta NVIDIA Optimus

Bu anlatımda bilgisayarımızı sadece NVIDIA ekran kartı ile kullanacağız. Prime yöntemi ve ya Bumblebee yönteminde olduğu gibi Intel ekran kartına dair herhangi bir işlem yapmayacağız. Görüntüyü sadece NVIDIA üzerinden alacağız.

Başmaladan önce bu yöntem KDE ile kdm ve Gnome ile gdm üzerinde test edilmiştir. kdm ile kusursuz çalışmasına rağmen aynı performansı gdm den alamadık ve gnome için iki farklı kullanım yolu çıktı. Gnome kullanacaksanız ya xinitrc ile tty ekranından giriş yapıp xorg’u başlatacaksınız ya da hem gnome’un hem de gdm in başlangıcına NVIDIA optimus için başlangıç dosyası yaratacaksınız. Hangisini kullanmak istediğiniz tercihize kalmıştır. Ben daha hızlı olduğu için xinitrc ile kullanıyorum. Ayrıca bu dökümandakiler sıfır Arch kurulumu üzerinde denenmiştir.

İlk önce NVIDIA ekran kartımızın PCI adresini öğrenmemiz gerekiyor. Bunun için

$ lspci | grep -E "VGA|3D"

ya da sadece NVIDIA kartını görmek için

$ lspci | grep 3D

komutunun çıktısına bakacağız. Örnek olarak benim lspci çıktım aşağıdaki gibidir:

00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)
0a:00.0 3D controller: NVIDIA Corporation GK208M [GeForce GT 740M] (rev a1)

Burada ilk satır Intel ikinci satır ise NVIDIA ekran kartına aittir. Satırların başında yazan 00:02.0 ve 0a:00.0 kartların PCI adresleri. Burada benim NVIDIA kartımın PCI adresi 0a:00.0

PCI adresini xorg.conf dosyasında bu şekilde kullanamıyoruz. Bunun nedeni aldığımız çıktının HEX (Hexadecimal, 16’lık) olması ve xorg.conf da ondalık(decimal) kullanmamız gerekmesidir. Elimizdeki PCI adresini decimal olarak yazarsak

0a = 10, 00 = 0, 0 = 0 olacağından xorg.conf dosyasında PCI adresimize 10:0:0 yazacağız.

 

NVIDIA Optimus için kurulması gerekenler

# pacman -S nvidia nvidia-libgl xorg-xrandr

Eğer xorg-server kurulumunda varsayılan olarak nvidia-libgl i seçerseniz zaten sisteminizde yüklü olacaktır.

Gelelim kullandığım xorg.conf dosyasına:

# nano /etc/X11/xorg.conf

Burada BusID “PCI:10:0:0” bizim HEX’ten ondalığa çevirdiğimiz PCI adresimiz.

 

xinitrc ile kullanmak için

nano ~/.xinitrc
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

 

Giriş Yöneticileri için gerekli scriptlerin oluşturulması

LightDM

# nano /etc/lightdm/display_setup.sh
#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

Scripti çalıştırılabilir yapmak için

# chmod +x /etc/lightdm/display_setup.sh

lightdm.conf dosyasındaki [Seat: *] bölümünü düzenleyerek komut dosyasını çalıştıracak şekilde yapılandırın.

# nano /etc/lightdm/lightdm.conf
[Seat:*]
display-setup-script=/etc/lightdm/display_setup.sh

 

SDDM

# nano /usr/share/sddm/scripts/Xsetup
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

 

GDM

# nano /usr/share/gdm/greeter/autostart/optimus.desktop
[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer

Gnome’u başlatmak için bu tek başına yetersiz kalıyor. Maalesef wikide bu şekilde anlatılmasına rağmen GDM den sonra GNOME başlatılamıyor. Sorunu çözmek için ben Gnome’un başlangıcına da aynı scripti atıyorum.

# nano ~/.config/autostart/optimus.desktop
[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer

NOT: GMD’in X’i varsayılan olarak kullanmasına dikkat edin.

 

KDM

# nano /usr/share/config/kdm/Xsetup
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

 

Hepsini doğru bir şekilde yaptığına eminseniz bilgisayarınız tekrar başlatarak terminale aşağıdaki komutu girip kontrol edebilirsiniz.

$ glxinfo | grep NVIDIA
  • mesa-demos paketinin kurulu olması gerekir.

Arch Linux’ta NVIDIA Optimus” için bir yorum

Bir Cevap Yazın