Problem z uruchamianiem gier na dedykowanej karcie graficznej

Witam, wczoraj zainstalowałem Manjaro XFCE w najnowszej wersji, zrobiłem update kernela do 5.8.1-3 oraz zainstalowałem wszystkie update’y. Jakoż iż podczas instalacji Manjaro zaznaczyłem opcje Drivers: free, to po zrobieniu powyższych czynności zainstalowałem również najnowsze sterowniki do kart graficznych. Niestety, pech chciał, że w moim laptopie (który btw jest w miare dobry) jest coś takiego jak cholerny Optimus. W skrócie, mam 2 karty graficzne, integrowaną z procesora Intel Core i5-4210U, i druga dedykowana nVidia GeForce 840M. Tak więc zainstalowałem stery do tych kart za pomocą opcji Auto Install Propietary Drivers, wcześniej jeszcze zainstalowałem video-modesetting. Tak więc zainstalowało mi stery video-hybrid-intel-nvidia-450xx-prime, czyli poprawnie wykryło dwie karty, zrestartowałem kompa i od tego momentu zaczęła dziać się magia, zainstalowałem program Natron, to taka alternatywa dla After Effectsa, w programie pokazuje, która karta obsługuje renderowanie obrazu, więc łatwo sprawdzić, czy komendy DRI_PRIME=1 działa… problem jest w tym, że nie działa… I to w programie Natron i też w innych programach, również DRI_PRIME=1 %command% na steamie nie działa, gry odpalają się na karcie od Intela, warto dodać, że gdy w terminalu odpalamy jakiś program za pomocą tej komendy to dostajemy taki błąd:
libGL error: failed to create dri screen
libGL error: failed to load driver: nouveau
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.

A i jest jeszcze śmieszniejsza rzecz, że owa komenda, raczy switchowanie karty i odpalanie programów za pomocą nVidii działa na innych dystrybucjach, tylko nie na Manjaro. Dodatkowo jest jeszcze jedna rzecz, mianowicie udało mi się odpalić Natrona za pomocą komendy prime-run, i w opcjach pokazuje, że wykorzystywana jest karta nVidii… ja już naprawdę nie wiem proszę o pomoc.

Oczywiście, próbowałem użyć prime-run na steamie, na różne sposoby ale to nie działało.

mhwd -li:

Installed PCI configs:


              NAME                                          VERSION          FREEDRIVER           TYPE

 video-linux                                                2018.05.04                true                     PCI
 video-modesetting                                    2020.01.13                true                     PCI
 video-hybrid-intel-nvidia-450xx-prime      2019.10.25               false                     PCI

Warning: No installed USB configs!


inxi -CGxxx:
CPU: Topology: Dual Core model: Intel Core i5-4210U bits: 64 type: MT MCP arch: Haswell rev: 1 L2 cache: 3072 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 19166
Speed: 2068 MHz min/max: 800/2700 MHz Core speeds (MHz): 1: 1787 2: 1763 3: 1779 4: 1834
Graphics: Device-1: Intel Haswell-ULT Integrated Graphics vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0
chip ID: 8086:0a16
Device-2: NVIDIA GM108M [GeForce 840M] vendor: Lenovo driver: nvidia v: 450.57 bus ID: 03:00.0 chip ID: 10de:1341
Device-3: Syntek Lenovo EasyCamera type: USB driver: uvcvideo bus ID: 1-6:5 chip ID: 174f:14b2 serial: 200901010001
Display: x11 server: X.Org 1.20.8 driver: modesetting,nvidia unloaded: intel,nouveau alternate: fbdev,nv,vesa
resolution: 1920x1080~60Hz s-dpi: 96
OpenGL: renderer: Mesa DRI Intel HD Graphics 4400 (HSW GT2) v: 4.5 Mesa 20.1.5 compat-v: 3.0 direct render: Yes


pacman -Qs vulkan:
local/lib32-nvidia-450xx-utils 450.57-2
NVIDIA drivers utilities (32-bit)
local/lib32-vulkan-icd-loader 1.2.148-1
Vulkan Installable Client Driver (ICD) Loader (32-bit)
local/lib32-vulkan-intel 20.1.5-1
Intel’s Vulkan mesa driver (32-bit)
local/lib32-vulkan-radeon 20.1.5-1
Radeon’s Vulkan mesa driver (32-bit)
local/nvidia-450xx-utils 450.57-2
NVIDIA drivers utilities
local/spirv-tools 2020.2-1 (vulkan-devel)
API and commands for processing SPIR-V modules
local/vulkan-icd-loader 1.2.148-1
Vulkan Installable Client Driver (ICD) Loader
local/vulkan-intel 20.1.5-1
Intel’s Vulkan mesa driver
local/vulkan-radeon 20.1.5-1
Radeon’s Vulkan mesa driver

Nvidia w zamkniętym sterowniku stosuje swoje autorskie rozwiązanie PRIME Render Offload zamiast “zwykłego” prime. W linku masz dokładnie opisane jak skorzystać z tego rozwiązania. W repozytorium jest pakiet nvidia-prime (jest chyba instalowany automatycznie ale lepiej sprawdź czy jest zainstalowany ) dostarcza on prosty skrypt pozwalający uruchamiać aplikacje na dedykowanej karcie graficznej prime-run.

Okej, tak pepega totalna bardzo przepraszam przez opisaną poniżej sytuacje z v-sync omyłkowo założyłem, że gry odpalają się na Intelu. Gry odpalają się już bardzo dobrze. Jest jednak jeszcze jeden problem. Zawsze gdy odpalam gry czy to na windzie czy na innych systemach, pojawia się screen tearing, przywykłem do niego, więc teraz, gdy odpaliła się gra a tego screen tearingu nie było automatycznie omyłkowo zrozumiałem, że gra działa na Intelu. Tak jak juz wspominałem, jest problem, mianowicie duży input-lag oraz właśnie wspomniana synchronizacja pionowa, przez to się nie da grać, oczywiście, casualowe gierki z input lagiem da sie ogarnać, ale takie gry jak CS:GO wymagają natychmiastowego czasu reakcji, jak mogę wyłączyć v-sync i pozbyć się input laga? Oczywiście w ustawieniach gry v-sync jest wyłączony.

Możesz wyłączyć v-sync dla wypranej aplikacji za pomocą zmiennej środowiskowej __GL_SYNC_TO_VBLANK=0 lub dla wszystkich aplikacji korzystających z dedykowanej karty ustawiając nvidia-drm.modeset=0 w pliku /etc/default/grub w linii GRUB_CMDLINE_LINUX_DEFAULT=" ... nvidia-drm.modeset=0" ( “…” inne parametry).

Dodanie parametru do pliku grub naprawiło problem, dziękuje za pomoc!

forum.manjaro.pl - polskie wsparcie Manjaro. Hostowane przez: vpsadmin - hosting Discourse