Rehber GNU/Linux ile oyunlarda Windows'tan daha fazla FPS almak!

EldrithcWraith

Kilopat
Katılım
30 Ağustos 2018
Mesajlar
2.948
Makaleler
6
Çözümler
27
Daha fazla  
Cinsiyet
Erkek
Arch Linux, Gentoo ya da Ubuntu base-iso gibi bir baştan, sıfırdan kurulum yapabileceğiniz bir ISO'ya ihtiyacınız olacak. Ayrıca ekran kartınızın kesin olarak Vulkan desteklemesi gerek.

Bunu yapmamızın temel sebebi, paketleri kendimiz seçebilmemiz, fazlalık paketlere gerek duymadan sistemi kurabilmemiz. Ayrıca fazladan servis çalışmıyor, bu da Input Lag değerini düşürüyor ve FPS'inizi yükseltiyor.
Input Lag, GNU/Linux üzerinde çok yaygın, çok fazla yaşanılan bir durum. Ancak bu değerden ibaret giriş gecikmesinin tek bakış noktası kullandığınız DE, WM. Şu anda en stabil, en iyi LXDE çalışıyor ancak LXDE artık desteklenmiyor. Bu yüzden tam ekran problemleri vs. oluyor. 1-2 milisaniye fark ettiren KDE'nin compositorsüz hali, hem güncel hem iyi şekilde çalışıyor.

Compositor, bulanıklık, animasyon gibi efektlerin oluşmasını sağlıyor. Ayrıca VSync'in çalışmasını zorlayarak monitör input lagını aşırı derecede arttırıyor. VSync ise ekranı güncellemek için diğer kareyi bekliyor diyebiliriz, tam bir açıklama sağlayamadım ama anlamışsınızdır umarım.

Bu esnada, size Arch'ı tavsiye ederim. Gentoo'nun kurulumunun Arch'a göre biraz daha zor olduğunu düşünüyorum. Ayrıca Arch'ın paket yöneticisinin daha iyi olduğunu düşünüyorum. Ubuntu'nun paket yöneticisinden nefret ediyorum, ama isteyen base iso'dan kurabilir.

Gelelim Arch kurulumuna, burada @Kernelginar'ın rehberini tavsiye ederim, güncel ve detaylı bir biçimde anlatılmış:

Gentoo'nun Türkçe bir rehberi yok, ama ana dökümanlarında anlaşılır biçimde anlatılmış:


Hiç Gentoo kullanmadığım, kullanmaya ya da kurmaya vaktim olmadığı için Arch üzerinden devam edeceğim. Bazı paketler Ubuntu'da olmayabilir, zorunlu olarak işaretlemediklerim dışındakilerini yüklemeseniz de olur, yüklü geliyor çoğu.

Kesinlikle zen kernel kullanmalısınız. Performans artışı ve çeşitli güvenlik güncellemeleri sağlar.
Arch üzerinde chaotic-aur ve multilib depolarını aktifleştirmenizi öneririm. Aksi taktirde, chaotic-aur'u aktifleştirmezseniz:
1- Derlemeler çok uzun sürecek.
2- Ana depolamadan indireceği için süreç daha hızlı olacak.

multilib aktifleştirmezseniz:
1- Girilen çoğu paketi yükleyemeyeceksiniz.

Ayrıca yay adlı AUR yardımcısını da indirmeniz gerekiyor:
https://github.com/Jguer/yay cd yay makepkg-si
İlk olarak KDE kuracağız. Bunu da şöyle yapmalıyız:
sudo pacman -S xorg xorg-xinit plasma dolphin konsole sddm sudo systemctl enable sddm reboot

Kod:
AMD (Yeni kartlar için):
sudo pacman -S --needed lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader
AMD (Çok eski kartlar için, DX12 desteklemeyenler için):
sudo pacman -S --needed lib32-mesa amdvlk lib32-amdvlk vulkan-icd-loader lib32-vulkan-icd-loader

Kod:
NVIDIA(Yeni kartlar için)
sudo pacman -S --needed nvidia-dkms nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader
Yukarıdaki NVIDIA driverları yeni kartlar için %100 uygun.
https://nouveau.freedesktop.org/CodeNames.html şuradan mimarilere ulaşabilirsiniz.
Fermi mimarisi için: nvidia-390xx-dkms
Tesla mimarisi için: nvidia-340xx-dkms
Kepler mimarisi için: nvidia-470xx-dkms
bunun dışında ekran kartınız yeni nesilse ve 470 sürümünün üstünü destekliyorsa direkt olarak nvidia-dkms ya da duruma göre nvidia sürücüsünü kurabilirsiniz. dkms
sudo pacman -S nvidia-settings nvidia-utils opencl-nvidia primus_vk python-pycuda lib32-libvdpau lib32-nvidia-utils lib32-opencl-nvidia lib32-primus_vk python-glfw vkd3d lib32-vkd3d çakışıyor derse kurmayın, çakışan paketi komuttan silip tekrar kurun.
Eski kartlar için NVIDIA hakkında pek bilgim yok, bazısı için farklı farklı driverlar yüklemeniz gerekiyor. O yüzden buraya bakmanızı tavsiye ederim:
https://wiki.archlinux.org/title/NVIDIA

Kod:
sudo pacman -Sy
sudo pacman -S wine-staging winetricks
yay -S --needed lutris lutris-wine-git
yay -S --needed vkd3d wine-mono lib32-vkd3d wine-staging winetricks bottles proton-ge-custom protontricks-git protonup-qt wine-lol dxvk-bin
yay -S --needed steam steam-native-runtime bottles llvm-proton-bin proton-ge-custom protontricks-git protonup-qt vkd3d-proton-mingw-git
sudo pacman -S lib32-libldap giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama lib32-libxinerama ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader cups samba dosbox libwrap lib32-libwrap lib32-pipewire pipewire wireplumber pipewire-pulse gamemode innoextract lib32-gamemode lib32-vkd3d vkd3d

Geçen rehber hazırladığımda, bunların ne işe yaradığını soran olmuştu. Bunlar, wine'ın çalışması için gereken, wine tarafından yüklenmesi önerilen paketler. "Wine dependency hell" şeklinde araştırarak daha detaylı bilgiye ulaşabilirsiniz.
Paketleri yüklemiş olduk. Şimdi ise terminale winecfg yazıp Kütüphane kısmına gelip d3d10, d3d11, d3dcompiler_47.dll'yi ekleyin(eski fotoğraf, bende az ama siz hepsini ekleyin):
1675977600838-png.png

Bunu yaptıktan sonra da tek yapmanız gereken Steam'e girip:
Ayarlar kısmından:
1683227982109.png

Ayarları bu şekilde yapın.
Artık sadece Windows destekleyenleri dahil bütün oyunları indirebileceksiniz. Ancak şöyle bir sorun var, Proton desteği...
https://www.protondb.com/ Buradan hangi oyunun nasıl çalıştığını kontrol edebilirsiniz. Ama şöyle söylemeliyim ki, bu uyumluluk katmanı gerçekten çok gelişti. EAC dediğimiz şeyi yavaş yavaş çalıştırmaya başladı. Çalışmayan Hunt: Showdown, Dead by Daylight(DBD, sadece Heroic/Epic games versiyonunda çalışıyor) gibi oyunlar şu anda çalışır durumda.

Platin en iyi şekilde çalışır, Altın düzenleme yaptıktan sonra çok iyi çalışır, Gümüş oynanabilir ama buglar/sorunlar da olabilir, Bronz çalışıyor ama oyun deneyimi etkileyen şeyler var, Olmamış ise hiç açılmayanlar.

Lutris'den ise LoL, Overwatch 2 gibi oyunları indirebilirsiniz. Ayrıca buradan korsan oyun da çalıştırılabilir. Bir çok oyuna destek veriliyor, ancak en bilinenleri LoL.
Son yapmanız gereken ise:
/etc/X11/xorg.conf.d/20-amdgpu.conf dosyasını açıp(nano text editor ile açabilirsiniz, dosya yolunun başına başına nano koyun) içine bunu yazmak olabilir:
Section "Device" Identifier "AMD" Driver "amdgpu" Option "TearFree" "false" Option "EnablePageFlip" "false" EndSection

EnablePageFlip, smooth yani yumuşak animasyonlar sağlar ancak performansını arttırır. TearFree ise ekranda oluşan yırtılmaları düzeltmeyi amaçlar. Ancak performansı arttırmak için bunları girerseniz, performansınız artabilir. Kodu denemedim, ama performans artışı sağlayacaktır.
Şimdi gamemode adlı güzelliğe gelelim. Bu, sisteminizi oyun için optimize ediyor. Tek yapmanız gereken oyunun başlangıç parametrelerine ya da başlatma seçeneklerine gamemoderun %command% yazmanız. VAC olan oyunlarda tavsiye etmem. %10 artış sağlayacağını söyleyebilirim.

gamescope oyunu Virtual yani sanal bir ekranda çalıştırıp tam ekran'da oluşan problemler gibi sorunları çözmenizi sağlıyor. Tam ekran, Pencereli, Tam Ekran Pencereli'de sorun yaşıyorsanız:

vkBasalt bir Vulkan katmanıdır. Oyunun üstüne renk ve kalite düzeltmeleri yaparak oyunun kalitesini FPS değerini neredeyse hiç düşürmeden arttırıyor:

FSR, oyunun çözünürlüğünü ölçekleyip kalan piksellerin yapay zeka ile doldurulmasını sağlayan bir teknolojidir. Başlatma seçeneklerine, ortam değişkenlerine böyle yazarak kullanabilirsiniz: WINE_FULLSCREEN_FSR=1

CoreCtrl, Fan hızını, overclock gibi işlemleri yönetmenizi sağlar:

DXVK-NVAPI, NVIDIA kartlarda DLSS gibi teknolojilerin kullanılmasını sağlar:

DXVK-ASYNC, singleplayer oyunlarda kullanmanız gereken performans artışı sağlayan forklanmış bir DXVK versiyonu:

LatencyFlex, input lag gibi giriş gecikmelerini vs. düşüren bir teknoloji:
Compositor, oyun oynamadan önce kapatılmalı. Bunu da Alt+Shift+F12 ile yapacağız. Oyun oynamadan önce kapatın, bittikten sonra açın. Bunun otomasyon ve terminal halini de göstereceğim.

KDE'de Compositor kapatmak için:
qdbus org.kde.KWin /Compositor suspend
Compositor'ü geri açmak için:
qdbus org.kde.KWin /Compositor resume

Steam'de başlatma seçeneklerine bunu yazarsanız oyuna girişinizde kapatır, oyunu kapatınca geri açar:
qdbus org.kde.KWin /Compositor suspend; %command%; qdbus org.kde.KWin /Compositor resume
Lutris'de ise System Options'a gelip(Advanced kısmını aktifleştirmeniz gerekiyor) Post-exit kısmına açma kodunu, Pre-launch kısmına kapatma kodunu yazın.

Bunlarla uğraşmak istemezseniz AutoComposer diye bir program var. Ancak sadece tam ekran oyunlarda çalışıyor. AutoComposer direkt olarak kapatıp açıyor.

Ben size sadece Alt+Shift+F12 ile manuel olarak açıp kapatmanızı öneririm.

Rehber bu kadar, buraya kadar geldiyseniz teşekkür ederim :D.
 
Son düzenleyen: Moderatör:
Son bir güncelleme daha yapayım, Dead by Daylight'da çalışmaya başlamış! Wayland ile birlikte gelen tam ekran sorunları Proton 8 ile düzelmiş ancak hala input lag oluşmakta. Wayland compositor zorunluluğu barındırmaktadır.
 
Orta-Üst segment bir bilgisayarda ortalama ne kadar performans artışı oluyor?
Bu tür bilgisayarlarda daha fazla FPS artışı olur, sistem özelliklerinize göre değişim gösterir. Ben de işlemci odaklı oyunlarda 100'den fazla FPS arttı, GPU isteyen oyunlarda %1-2 değişim oldu. Ancak bazı oyunlarda daha kötü de olabiliyor. Ancak çoğu oyunda daha iyi benim için, desktop performansı harika olduğu için karşılıyor.
 
Olur bayağı. Kahin değiliz o yüzden tam bir şey diyemeyiz.
Kahinlik yapmanızı beklemiyorum zaten, sorudan kastım üst seviye sistemlerdeki etkisi de dikkate değer mi oluyor yoksa daha çok Windows ortamında ortalama altı performans veren sistemlerde mi etkili oluyor idi.

Linux ortamından çok anlamadığım için bahsettiğiniz kurulum üzerinde yapılan oyun testlerini bulamadığım için sordum zaten.
 
Kernel parametreleri de kullanabilirsiniz fazladan performans için. :)
Bayağı fark ediyor bu arada. Bence eklense güzel olurdu.

Elinize sağlık bu arada. Linux'ta oyun oynamak bence daha keyifli. Umarım bir gün herkes farkına varır. Drop bile yaşanmıyor.

Kahinlik yapmanızı beklemiyorum zaten, sorudan kastım üst seviye sistemlerdeki etkisi de dikkate değer mi oluyor yoksa daha çok Windows ortamında ortalama altı performans veren sistemlerde mi etkili oluyor idi.

Linux ortamından çok anlamadığım için bahsettiğiniz kurulum üzerinde yapılan oyun testlerini bulamadığım için sordum zaten.
Oyun testlerine denk gelmen zor. Dünyanın %0,56'sı Linux kullanıyor. Linux ile genelde her daim yüksek performans alırsın ama Arch gibi base'den inşa ettiğin dağıtımlarda. Zor gelse de değiyor.
 
Ben Xubuntu Core kullanıyorum. Performansı müthiş.
Xanmod ve Oibaf ile bir çok Windows oyunundan daha iyi FPS alıyorum.
Örneğin; GoW, Cyberpunk 2077, Zelda BotW.

Genel olarak oyun geliştirme için kullanıyorum Linux'u.
 
Kahinlik yapmanızı beklemiyorum zaten, sorudan kastım üst seviye sistemlerdeki etkisi de dikkate değer mi oluyor yoksa daha çok Windows ortamında ortalama altı performans veren sistemlerde mi etkili oluyor idi.

Linux ortamından çok anlamadığım için bahsettiğiniz kurulum üzerinde yapılan oyun testlerini bulamadığım için sordum zaten.
Oyun testlerini atamıyorum, ancak hatırladıklarımı yazabilirim:
LoL (Windows 240, Linux 330-340)
GOW (Windows 40-60, Linux 45-50-60)
GOW3 (RPCS3, Windows 70, Linux 80-90)
Hunt Showdown gibi yeni desteklenen oyunlarda bazen iyi bazen kötü oluyor. Desktop performansı harika olduğu için çoğu oyunu karşılıyor.
Ben Xubuntu Core kullanıyorum. Performansı müthiş.
Xanmod ve Oibaf ile bir çok Windows oyunundan daha iyi FPS alıyorum.
Örneğin; GoW, Cyberpunk 2077, Zelda BotW.

Genel olarak oyun geliştirme için kullanıyorum Linux'u.
Xubuntu Core'u base-iso'su yok. İstemediğin paketler de geliyor, servislerde geliyor. Ayrıca Arch'da olan paket bolluğu APT'de yok, iki ayda bir kırılıp duruyor da.
 

Geri
Yukarı