Vulkan na bumblebee


(KoczurekK) #1

Hej, mam laptopa Lenovo Legion Y520 z intelową integrą i GTX 1050 2GB. Generalnie bumblebee zdaje się działać dobrze a gry odpalone przez optirun mają przyzwoite FPS, ale natrafiłem na problem z wykrywaniem mojego dedykowanego GPU w aplikacjach używających Vulkana. Więc tak, jeśli włączę je przez optirun normalnie, wykrywają jedynie integrę, ale jeżeli wpiszę DISPLAY=:8 optirun <command> apki już ładnie wykrywają mojego GTX-a. Jest tylko jedno ale – nie wyświetlają się na ekranie. Z tego co sprawdziłem zmienna DISPLAY normalnie ma wartość :0, więc niezbyt zaskakuje mnie fakt, iż z DISPLAY=:8 ich nie widać, ale nie znalazłem żadnego innego sposobu by te programy włączyć i udostępnić im jednocześnie dedyka.

$DISPLAY=:8 optirun vulkaninfo | grep deviceName
	deviceName     = Intel(R) HD Graphics 630 (Kaby Lake GT2)
	deviceName     = GeForce GTX 1050
	deviceName     = Intel(R) HD Graphics 630 (Kaby Lake GT2)

$optirun vulkaninfo | grep deviceName
Xlib:  extension "NV-GLX" missing on display ":0".
	deviceName     = Intel(R) HD Graphics 630 (Kaby Lake GT2)
	deviceName     = Intel(R) HD Graphics 630 (Kaby Lake GT2)

Błąd Xlib powyżej też zdaje się nie pomagać, ale nie udało mi się go zwalczyć.

Fedora 26 64bit, bumblebee-nvidia 384.90


(dragon321) #2

Bumblebee ze wzgląd na swoją specyfikę nie wspiera Vulkana. Na githubie jest od tego odpowiedni Issue, ale Bumblebee nie miało żadnych commitów od 2013 roku. Można więc śmiało stwierdzić, że został porzucony. Rozwiązaniem dla Ciebie jest tutaj nvidia-xrun, niestety nie tak wygodny jak Bumblebee, jednak Vulkan dzięki niemu działa bez problemu.

Na pocieszenie dodam, że w XOrg 1.20 ma zadebiutować coś, co wkońcu pozwoli na normalne działanie hybrydy Nvidii na Linuksie bez rozwiązań pokroju Bumblebee. Jest to server side GLVND - GLVND to bibliteka pozwalająca na współistnienie wielu dostawców OpenGL na jednym systemie i przekierująca żądania do odpowiedniego z nich. Narazie działa to tylko dla aplikacji, lecz w XOrg 1.20 ma zadebiutować także po stronie serwera, czyli XOrg będzie mógł odpowiednio wybierać dostawców OpenGL. Wierząc jednemu z deweloperów, od tego nie daleko do porządnej obsługi hybrydy.