Pardus Nvidia Ekran Kartı Kurulumu - Dual Monitor

Mert Yasar Karadağ - May 29 '20 - - Dev Community


Modern ekran kartlı bilgisayarlarda Pardus kurulumu yaptığımızda sistem açılmayabilir ya da HDMI kablosu taktığımızda görüntü gelmeyebilir. Bunun için ekran kartı sürücüsünü kurmak gerekir. Ekran kartı sürücüleri açık kaynak ve kapalı kaynak olarak kurulabilir.

Neden ekran kartı sürücüsü kurmalıyım?

-Pardus işletim sistemi bilgisayara ilk defa kurulduysa ve sistem açılmıyorsa;
-Ekran dalgalanma problemi yaşanıyorsa;
-Sistemin performansı artırılmak isteniyorsa;

Neden kapalı kaynak ekran kartı sürücüsü kurmalıyım?

Kapalı kaynak olarak tabir ettiğimiz sürücü Nvidia'nın kendi sitesinden indirmiş olduğumuz sürücüdür.
-Birden fazla ekran kullanılmıyorsa;

Neden kapalı kaynak ekran kartı sürücüsü kurmalıyım?

-Birden fazla ekran kullanılıyorsa;

Nvidia Kapalı Kaynak Driver Kurulumu

Aşağıdaki komutla Nvidia'nın resmi sitesinden sürücüyü indirelim.

wget http://tr.download.nvidia.com/XFree86/Linux-x86_64/440.82/NVIDIA-Linux-x86_64-440.82.run

İndirdikten sonra aşağıdaki komutları sırasıyla uygulayınız.

sudo apt update

sudo apt upgrade

sudo dpkg --add-architecture i386

sudo apt update

sudo apt install libc6-i386

sudo apt install linux-headers-$(uname -r)

sudo apt install build-essential

sudo bash -c 'echo "options nouveau modeset=0" > /etc/modprobe.d/blacklist-nouveau.conf'

sudo update-initramfs -u

sudo reboot

Bilgisayarınız yeniden başladıktan sonra grafik arayüz açılıyorsa "Ctrl+Alt+F1" tuş kombinasyonuyla tty ekranına giriş yapılır ve aşağıdaki komut yazılır.

sudo systemctl stop ligtdm.service

chmod +x NVIDIA-Linux-x86_64-440.82.run

sudo ./NVIDIA-Linux-x86_64-440.82.run


Yukarıdaki ekran geldikten sonra "Nvidia Software Installer for Unix/Linux" açılacak ve burada gelen pencereleri direk enter'e basıp geçebilir ve yüklemeyi tamamlayabilirsiniz.

Yüklemeyi tamamladıktan sonra sistemi başlatınız. Komut satırına girip "nvidia-settings" komutunu çalıştırınız. Eğer başlamıyor ve "ERROR: Unable to load info from any available system" hatası veriyorsa aşağıdaki adımları uygulayınız.

sudo nvidia-xconfig

sudo reboot

"/etc/X11/xorg.conf" dosyasının içeriği aşağıdaki gibi olmalıdır. Zaten yukarıdaki komut xorg.conf dosyasını kendi oluşturmaktadır.

Section "Device"
    Identifier "Device1"
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
EndSection

Nvidia Açık Kaynak Driver Kurulumu (Bumblebee Kurulumu)


Modern ekran kartlarında HDMI kablosu ile ekranı çoğaltmak istediğimizde Pardus'un ekranı algılamayadığı durumlar olabiliyor. Bunun için sistemimize açık kaynak sürücüyü(bumblebee) kurup konfigüre edeceğiz.
Öncelikle varsa sisteminizde kurulu nvidia sürücülerini kaldırınız.

sudo apt remove --purge nvidia-* & sudo apt purge nvidia* & sudo apt purge nvidia-current

"lspci" komutu ile sisteminizdeki aygıtlarını görüntüleyiniz. Eğer komutu yazdıktan sonra işlem bekliyorsa ve aygıtlar görüntülenmiyorsa aşağıdaki işlemleri yapınız.

sudo nano /etc/default/grub

Dosyayı açtıktan sonra GRUB_CMDLINE_LINUX_DEFAULT satırını aşağıdaki gibi değiştiriniz.

GRUB_CMDLINE_LINUX_DEFAULT="quiet rcutree.rcu_idle_gp_delay=1"

Değişiklik işlemini yaptıktan sonra aşağıdaki komutları çalıştırınız.

sudo update-grub

sudo reboot

Bilgisayar açıldıktan sonra "lspci" komutu ile ekran kartı ile birlikte aygıtların listelendiğini göreceksiniz.
Şimdi bumblebee kurulumuna geçebiliriz.

sudo apt install bbswitch-dkms intel-microcode firmware-linux-nonfree bumblebee bumblebee-nvidia primus primus-libs linux-headers-$(uname -r)

Yükledikten sonra yolunu belirttiğim dosyaları aşağıdaki gibi düzenleyiniz.

/etc/bumblebee/bumblebee.conf

# Configuration file for Bumblebee. Values should **not** be put between quotes

## Server options. Any change made in this section will need a server restart
# to take effect.
[bumblebeed]
# The secondary Xorg server DISPLAY number
VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all.
KeepUnusedXServer=false
# The name of the Bumbleblee server group name (GID name)
ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
# server exits.
TurnCardOffAtExit=false
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored.
NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=
# Directory with a dummy config file to pass as a -configdir to secondary X
XorgConfDir=/etc/bumblebee/xorg.conf.d
# Xorg binary to run
XorgBinary=/usr/lib/xorg/Xorg

## Client options. Will take effect on the next optirun executed.
[optirun]
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
# primus.
Bridge=auto
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv.
VGLTransport=proxy
# List of paths which are searched for the primus libGL.so.1 when using
# the primus bridge
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus:/usr/lib/primus:/usr/lib32/primus
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available?
AllowFallbackToIGC=false


# Driver-specific settings are grouped under [driver-NAME]. The sections are
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
# detection resolves to NAME).
# PMMethod: method to use for saving power by disabling the nvidia card, valid
# values are: auto - automatically detect which PM method to use
#         bbswitch - new in BB 3, recommended if available
#       switcheroo - vga_switcheroo method, use at your own risk
#             none - disable PM completely
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods

## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia-current
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/i386-linux-gnu/nvidia:/usr/lib/nvidia
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia/nvidia,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia
# If set to true, will always unload the kernel module(s) even with
# PMMethod=none - useful for newer Optimus models on which the kernel power
# management works out of the box to power the card on/off without bbswitch.
AlwaysUnloadKernelDriver=false

## Section with nouveau driver specific options, only parsed if Driver=nouveau
[driver-nouveau]
KernelDriver=nouveau
PMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau

/etc/bumblebee/xorg.conf.nouveau

Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "false"
    Option      "AutoAddGPU" "false"
EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nouveau"

#   If the X server does not automatically detect your VGA device,
#   you can manually set it here.
#   To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
#   as you see in the commented example.
#   This Setting is needed on Ubuntu 13.04.
#   BusID "PCI:01:00:0"

EndSection

/etc/bumblebee/xorg.conf.nvidia

Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "true"     # Bumblebee defaults to false
    Option      "AutoAddGPU" "false"
EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"
    Option "ProbeAllGpus" "false"
    Option "NoLogo" "false"
   # Option "ConnectedMonitor" "DFP"
    #Option "UseEDID" "true"                 # Bumblebee defaults to false
    Option "AllowEmptyInitialConfiguration" "true" # Add this line
#   Option "UseDisplayDevice" "none"        # Remove or comment out this line
EndSection

Section "Screen"                            # Add this section
    Identifier "Screen0"
    Device "DiscreteNvidia"
EndSection

/etc/X11/xorg.conf

Section "ServerLayout"
    Identifier "Layout0"
EndSection

Section "Device"
    Identifier "Device1"
    Driver "intel"
    VendorName "Intel"
    Option "NoLogo" "false"
    Option "ConnectedMonitor" "DFP"
EndSection

#For the configuration with bumblebee installed
#Section that follows come from archlinux adapt it from your distro if necessary.
Section "Files"
  ModulePath   "/usr/lib/nvidia/xorg/"
  ModulePath   "/usr/lib/xorg/modules/"
EndSection

Bu ayarları yaptıktan sonra bilgisayarınızı yeniden başlatınız. Halen monitörünüze görüntünün gelmediğini göreceksiniz. Görüntünün gelmesi için aşağıdaki komutu çalıştırınız.

intel-virtual-output

Görüntünün monitore geldiğini göreceksiniz. Her seferinde bu işlemi tekrarlamamanız için aşağıdaki ayarı yapıp kurulumu tamamlıyoruz.

nano /etc/lightdm/lightdm.conf komutu ile dosyanın içine giriniz ve #display-setup-script satırını bulup aşağıdaki gibi yapınız.

display-setup-script=intel-virtual-output

Yorum satırı olmamasına dikkat ediniz.

Teşekkürler..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .