Selamunaleyküm
Bildiğiniz üzer nvidia sürülerini yüklemek gerçekten sıkıntı bir konu. En basitinden yabancı forumlar dahil tam bir çözüm maalesef yok gibi ubuntuda da arayüzle yükleme denemem başarısız olunca(yüklendi ama istediğim performansta değil) bunun ilgili bir şeyler paylaşıp topluluk olarak çözüm bulmak istedim.
github linki
kod ve çalışma mantığı
kod kısaca
- gerekli çekirdek ve paket bağımlılıklarını yükleyip
- tersine mühendislikle oluşturulan sürücülerini kaldırıp
- gerekli config ayarlarını yaptıktan sonra
- sistemi yeniden başlatıp
- masaüstü ortamına göre xOrg’u durdurup
- sürücüyü yüklüyor
- arada tekrarlamasın diye ve işlem adımlarını hataya karşı kayıt alıp ana klasörde kayıt tutuyor
#!/bin/bash
##
user=$(whoami)
FILE=/home/$user/pars_nvidia_log.txt
ENVI=""
LOG=""
if test -f "$FILE"; then
sudo bash -c -i '
DESKTOP=(""$(cat /etc/X11/default-display-manager))
modprobe -r nouveau &&
LOG+="
modprobe -r nouveau işlemi yapıldı
" &&
## nvidia yazılımı çalışırken x org ile çakkışmasın diye
## servisi durduruyoruz
## bu xfce sistemi için geçerli
## gnome için lightdm yerine gdm kullanılamsı gerekiyor
case $DESKTOP in
"/usr/sbin/lightdm")
ENVI="lightdm"
;;
"/usr/sbin/gdm3")
ENVI="gdm3"
;;
"/usr/sbin/sddm")
ENVI="sddm"
;;
"/usr/sbin/gdm3")
ENVI="gdm3"
;;
*)
echo "hatalı giriş yapıldı"
exit
;;
esac
LOG+="
case ile masaüstü seçildi $DESKTOP
" &&
service $ENVI stop
LOG+="
x11 duruduruldu
" &&
sh NVIDIA-Linux-x86_64* &&
LOG+="
yükleme bitti" &&
echo "
$LOG
" >> $FILE ;
reboot
'
else
sudo bash -c -i '
dpkg --add-architecture i386 &&
apt update -y &&
apt upgrade -y &&
LOG+="
güncellemeler yapıldı" &&
##derleme için gerekli karnel paketleri yüklemesi
apt install linux-headers-$(uname -r) -y &&
LOG+="
kerenel başlıkları yüklendi" &&
apt install linux-source dkms build-essential -y &&
LOG+="
kernel bağımlılıkları yüklendi" &&
##nvidia sitesindeki gereklilikler
apt install libglvn* libvdpau* libvulkan* make gcc -y &&
LOG+="
nvidia gereklilikleri yüklendi" &&
##pardus nvidianın nouveau driveri ile çalışmasını engellemek için
apt purge nvidi* xserver-xorg-video-nouveau -y &&
LOG+="
eski nvidia bağımlılıkları silindi"
'
echo "
blacklist nouveau
options nouveau modeset=0
" > blacklist.conf
## gerekli temel ayarlar yapıldıktan sonra tekrar aynı yerden başlamaması için
## kullanıcıda bir log oluşturyor hata veya yapılandırma
## kayırtları eklenir
echo "
$LOG
" >> $FILE
sudo bash -c -i '
##configin taşınması
cp blacklist.conf /etc/modprobe.d/blacklist.conf &&
##gerekirse bazı güncellemeleri yapması için
update-initramfs -u &&
echo "bilgisayar birazdan yeniden başlayacaktır" &&
sleep 2 &&
echo "
$LOG
" >> $FILE ;
reboot
'
fi
echo "
$LOG
" >> $FILE
konular
- özet ve resimler
- yedek uyarısı
- kurulum hazırlığı
- sürücü kurulumu
- sonuç
- eksikler ve yapılması gerekenler
- son olarak
özet ve resimler
velhasıl benim gelebildiğim nokta
xfce, gnome, kde, cinamon masaüstü ortamları olan Pardus veya Debian tabanlı sistemleri için kapalı kaynak sürcü kurulum
nvidianın kendi ayarları
davinci 18
blender ve nvidia-smi
Pardus hakkında ve neofetch
yedek uyarısı
!!!
!!! Kurulum yapmak isterseniz öncelikle yedek almanızı kesinlikle tavsiye ederim. Herhangi hata çıkınca yardım etmeye çalışırız ancak sorumluluğun sizin üzerinizde olduğunu unutmayın!!!
!!!
yedek almak için de mağzadan timeshift programını yükleyerek yapabilirisiniz
time shift kullanımı
Timeshift ile sisteminiz donanımsal hariç çökmeler hariç eski haline gelebilir(siyah ekran alsanız bile)
arayüzle yedek alıp yediği geri alma
180 -Pardus Dersleri- timeshift ile sistem ve dosya yedekleme - YouTube
siyah ekran çıkarsa uç birimden yedeği gere alma
How to Use Timeshift in Linux from the Terminal | System Backup and Restore - Fast & Easy Way - YouTube
How to Backup and Restore Your Linux Installation – Timeshift – RSYNC ⁄ BTRFS – Arch ⁄ Ubuntu - YouTube
kurulum hazırlığı
kurulum için arşivi indirip ev veya kullanıcı klasörünüze çıkarmanız gerekiyor ve nvidianın sitesinden kendinize uygun olan sürcüyü indirip ev veya kullanıcı klasörüne eklemeniz gerekiyor
örneğin
bu işlemleri yaptıktan sonra
-
öncelikle dosyaların olduğu yerde uç birimi açıp dosyaları çalışabilir yapmak için
chmod +x pars_nvidia.sh NVIDIA-Linux-*
komutunu çalıştırmanız gerekiyor -
sonrasında crl alt f3 tuşlarına aynı anda basarak tty ekranını açıyoruz
-
kullanıcı ismimimzi yazıp sonrasında parolamizi yazıyoruz
-
burada
./pars_nvidia.sh
yazmamız gerekiyor bunu yaparken tab tuşu ile tamamlama yapabiliriz -
bilgisayar yeniden başlayınca giriş yapmadan ctrl alt f3 tuşlarına aynı anda basıp tty ekranına geçiyoruz
-
tekrardan
./pars_nvidia.sh
komutunu çalıştırıyoruz
nvida kurulum ekranı gelince
-
kernel modulünü dkms ile yükleyelim mi diye soruyor burada ok tuşları ile yes diyoruz
-
sonrasında 32 bit paketlerini yüklemek istiyor muyuz onu soruyor isteğinize göre yükleyebilirsiniz
- sonrasında zaten yüklenmeye başlayıp bitince de hata çıkazsa yeniden başlayacaktır diye düşünüyorum.
eksikler ve yapılması gerekenler
Ama bu gibi sürücü yüklemelerinin daha da kolaylaşması gerekiyor normalde gtk ile komut ile bir şeyler yapmak istiyordum ama sudo’lu yani root gerektiren komutlar çok olduğu için internette araştırdığımda kullanıcıdan şifreyi alıp direk komut çalıştıran denemeler gördüm bazıları history (geçmişe) kaydedildiği için güvenlik zafiyeti olur diyordu bu yüzden yapmak istemedim
- bu root gerektiren işlemleri python da nasıl yapabilirim
- nvidia dökümantasyonunda işlemleri yaparken xorg opengl veya cl idi bunlarala çalışan bir uygulama olmasını istemiyor kısaca grafik arayüzü kaptamazı istiyior yanlış anlamadıysam çünkü yükleme denemelerimde direk x11 kapa diya hata veriyordu bunu nasıl çözebilirim
- çözüm olarak kod ikiye ayırdım bağımlıkların yüklendiği birde sürücünün hazırlanıp yüklendiği diye ama bunu başlangıçta init veya systemd ile ayarlasam bile nvidia sürcüsü yüklenirken seçenekler çıkartıyor malesef bunun için de bir şey yapamıyorum
- en azından başta systemd ile başlangıçta tty gidip(
sudo chvt 3
) otomatik giriş yapıp nasıl betik çalıştırabilirim
buraya kadar okuduğunuz için teşekkür ederim eğer ki bu sıkıntılar çözülürse inşAllah ilerisi için nvidia github kodundan açık kaynak sürücü yükleme, nvidia docker kurulumu, amd sürücü kurulumu, belki yazıcı kurulum gibi sürücü kurulumların daha kolaylaştıran araçlar yapılabilir.
son olarak
- eğer kodu deneyip hata alırsanız buradan veya githubdan dönüş yaparsanız yardımcı olmaya çalışırım
- eğer koda bakarsanız acemiliğimi görebilirsiniz bu konuda kod düzeltmeleri veya yorumlarınıza açığım
- eklemek istediğiniz veya çıkramak istediğiniz bir kısım olarsa da yorumlardan yazabilirisiniz