Giriş
Uyarı! Bu rehber laptoplar için yazılmıştır ve şu an kullandığım sistemde denenmiştir (sistem özellikleri, kullanılan distro gibi bilgiler aşağıda bulunmaktadır). Laptoplarda GPU passthrough karmaşık bir konudur, ve bir şekilde çalışan ayar başka bir laptopta başka bir şekilde çalışabilir. Eğer sorun yaşarsanız konu açıp etiketleyebilirsiniz, yardımcı olmaya çalışırım.Ayrıca bu rehber Arch tabanlı bir distro kullandığınızı ve halihazırda
virt-managerı kurup ayarladığınızı varsayar.Laptop ile masaüstü arasındaki fark ne?
Laptop ile masaüstü arasındaki fark ilk başta sadece performans ve fiyat farkı olarak gözükebilir, fakat laptoplar donanımsal olarak masaüstü bilgisayarlardan çok daha farklıdır.Mesela tipik bir masaüstüde GPU bu şekilde bağlıdır;
Fakat laptopların neredeyse hepsinde GPU bu şekilde bağlanmamıştır. Ve bu bağlantıların farklı olması işleri laptop için biraz garipleştiriyor.
Mimari değişikliklere bu rehberde bakmayacağım, eğer araştırmak istiyorsanız bu makaleye bakabilirsiniz (İngilizce, üstte kullanılan fotoğraf oradan alınmıştır)
Denenen sistem
- Laptop: MSI GE76 Raider 10ug.
- Distro: Artix Linux openrc.
- Vm'e kurulan Windows sürümü: Windows 11.
İlk adım: NVIDIA kartı passthrough için hazır hale getirme
Bu adımı takip etmeden önce lütfen herhangi bir NVIDIA sürücüsü (nouveau dahil) kaldırın, bu sürücülerin olması sorun çıkarabilir.İlk başta
/etc/mkinitcpio.conf dosyasına gidiyoruz ve MODULES kısmını şöyle değiştiriyoruz;Kaydediyoruz ve
/etc/default/grub dosyasındaki GRUB_CMDLINE_LINUX_DEFAULT kısmına intel_iommu=on ekliyoruz;grub-mkconfig -o /boot/grub/grub.cfg && mkinitcpio -P yazarak Config dosyamızı ve yeni initramfsimizi oluşturuyoruz ve yeniden başlatıyoruz.Yeniden başlattıktan sonra
check_iommu.sh adlı bir dosya oluşturuyoruz ve içine bu kodu yazıyoruz;
Kod:
#!/bin/bash
shopt -s nullglob.
for g in `find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V`; do.
echo "IOMMU Group ${g##*/}:"
for d in $g/devices/*; do.
echo -e "\t$(lspci -nns ${d##*/})"
done;
done;
bash check_iommu.sh yazarak dosyayı çalıştırıyoruz ve çıktıya bakıyoruz. Çıktıda ekran kartımızın olduğu grubu not alıyoruz (PCI bridgeler hariç)./etc/modprobe.d/vfio.conf adında bir dosya açıyoruz ve dosyaya şu kodu yapıştırıyoruz.options vfio-pci ids=idleridler kısmını çalıştırdığımız scriptteki not aldığımız grupta olan kartların sondaki kapalı parantezler içerisindeki idleri ile dolduruyoruz.Örnek;
options vfio-pci ids=10de:249d,10de:228bÖnceden dediğim gibi, PCI bridgeleri önemsemiyoruz.
Sistemimizi yeniden başlatıyoruz.
virt-managerı açıyoruz, istediğimiz özelliklerde olan bir sanal makine oluşturuyoruz.İçine ben Windows 11 kurdum, fakat Windows 10'un da çalışması gerek.
Sanal makineye verdiğimiz ismi not alıyoruz.
virsh edit makineismi yazıyoruz.<domain type='kvm'> bu kodu <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> bununla değiştiriyoruz.Bu linkten ssdt1.dat adlı dosyayı indiriyoruz ve
/ya taşıyoruz.</devices> ile </domain> arasına bu kodu yapıştırıyoruz;
XML:
<qemu:commandline>
<qemu:arg value='-acpitable'/>
<qemu:arg value='file=/ssdt1.dat'/>
</qemu:commandline>
Sanal makineyi başlatıyoruz, daha GPU'yu passthrough etmiyoruz.
Bu ekran görüntüsünde gösterilen "remote desktop" ayarını açıyoruz.
Eğer kullanıcıya şifre ayarlanmadı ise, şifre ayarlıyoruz.
Sanal makineyi kapatıyoruz.
Buraya gelip bu şekilde ayarlamaları yapıyoruz.
Add hardware menüsünü açıp, oradan "PCI host device"ya giriyoruz.
Oradan önceden çalıştırdığımız scriptten not aldığımız gruptaki bütün PCI kartları ekliyoruz (PCI bridgeler hariç).
Displayi "spice" yapıp, videoyu "none" yapıyoruz.
Uygulaya basıp sanal makinemizi başlatıyoruz.
Bilgisayara
freerdp kurup, üstteki ekran görüntüde olan menüde çıkacak IP adresi ile sanal makineye giriyoruz.xfreerdp /v:ipadresi:3389 /w:1600 /h:900 /bpp:32 +clipboard +fonts /gdi:hw /rfx /rfx-mode:video /u:kullanıcıadı /sound:sys:pulse +menu-anims +window-dragBunu yapmamızın sebebi görüntü almayacağımızdan dolayıdır.
Sürücüleri kuruyoruz.
Looking Glass kurulumu
Sürücüleri kurduk, kartın şu anda çalışması lazım. Fakat RDP ile doğru düzgün oyun performansı alınmıyor.Looking Glass'ı wikisinde olan kurulum aşamalarını takip ederek kurabilirsiniz.
Looking Glass için şu driveri kurmanız gerekecek. Zaten orada nasıl kurulacağı anlatılmış, bu yüzden boşu boşuna yazıyı uzatmıyorum.
Sorunuz varsa yazabilirsiniz, yanlışım varsa belirtin. Eğer yeteri kadar istek gelirse Looking Glass kurulumu için de rehber yazacağım.
Son düzenleme: