Windows hry v Linuxu na nVidia grafice (Play on Linux a nVidia Optimus)

Vyjimecne si taky rad zahraju nejakou hru. Wine a hlavne PlayOnLinux je uz na dobre urovni, takze dost Windows her jde bez problemu v Linuxu. Problem je u PC s dvema grafikami. PC ma dve grafiky, jednu malo vykonou, ale uspornou od Intelu a druhou s velkou spotrebou od nVidie. O prepinani se stara technologie Optimus a prave s ni je v Linuxu problem. 

18.6.2012 to nastvalo i Linuse Torvaldse :-D 

A nVidia to asi zacala opravdu resit.
Zatim je to ale jen prislib a tak si musime poradit jinak.

nVidia grafika se da v Linuxu pouzit pomoci programu Bumblebee. A to jeste ne ze 100%, pouze k vypoctum a spocitana data se stale zobrazuji pomoci Intel grafiky. Nic moc, ale lepsi, nez dratem do oka 😉

Takze mame nainstalovany a funkcni Bumblebee a co dal?
Kdyz chceme, aby graficky vystup programu pocitala nVidia karta, spustime ho ve tvaru optirun program. A vysledek je hned videt:

martin@martin ~ $ glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
299 frames in 5.0 seconds = 59.667 FPS
301 frames in 5.0 seconds = 60.056 FPS
301 frames in 5.0 seconds = 60.033 FPS
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
after 1887 requests (1887 known processed) with 0 events remaining.
martin@martin ~ $ optirun glxgears
3921 frames in 5.0 seconds = 784.116 FPS
4034 frames in 5.0 seconds = 806.799 FPS
3997 frames in 5.0 seconds = 799.274 FPS
[VGL] ERROR: in readback--
[VGL] 244: Window has been deleted by window manager
martin@martin ~ $

Takhle neni problem spusit hru pod wine: optirun wine „c:\\hra.exe“
U playonlinuxu je to slozitejsi, spustenim optirun playonlinux si nic nepomuzeme. Kazda hra v playonlinuxu pouziva vlastni verzi wine a tu je nutne spustit.
Vychozi ikona vytvorena playonlinuxem spousti playonlinux a jako parametr mu preda nazev „virtualniho disku“ s wine a hrou.

optirun /usr/share/playonlinux/playonlinux –run „Mafia 1“ %F opravdu nepomuze.


Nejdriv je potreba zjistit cestu k wineprefixu hry, ta je v /home/martin/.PlayOnLinux/wineprefix

martin@martin ~/.PlayOnLinux/wineprefix $ pwd
/home/martin/.PlayOnLinux/wineprefix
martin@martin ~/.PlayOnLinux/wineprefix $ ls
default InternetExplorer6 legendOfGrimrock Mafia1 MozillaFirefox Office2007
martin@martin ~/.PlayOnLinux/wineprefix $ 

tam zjistime verzi wine, kterou playonlinux pouziva:

martin@martin ~ $ cat /home/martin/.PlayOnLinux/wineprefix/Mafia1/playonlinux.cfg
ARCH=x86
VERSION=1.1.35
martin@martin ~ $ m

Nyni vime verzi wine a architekturu – 1.1.35. Playonlinux ma vsechny verze wine v adresari /home/martin/.PlayOnLinux/wine/ :

martin@martin ~/.PlayOnLinux/wine/linux-x86 $ pwd
/home/martin/.PlayOnLinux/wine/linux-x86 martin@martin ~/.PlayOnLinux/wine/linux-x86 $ ls 1.1.35 1.2.3 1.3.26 1.3.32 1.3.37 1.3.6 1.5.1 martin@martin ~/.PlayOnLinux/wine/linux-x86 $

Prave toto wine budeme spoustet optirunem. Musime ale nastavit promennou WINEPREFIX, podle ni wine bere cestu ke hre.
Na spusteni hry tedy vytvorime skript napr. v /usr/local/bin/mafia : (skript muze byt i v home uzivatele, na ceste nezalezi)

#!/bin/bash
cd "/home/martin/.PlayOnLinux/wineprefix/Mafia1/drive_c/Program Files/Cenega Czech/Mafia/"
export WINEPREFIX="/home/martin/.PlayOnLinux/wineprefix/Mafia1"
optirun "/home/martin/.PlayOnLinux/wine/linux-x86/1.1.35/bin/wine" "Game.exe"

Nejdriv prejdeme do adresare se se spustitelnym exe souborem hry.
Pote nastavime promennou WINEPREFIX na „virtual“ s hrou.
Nakonec pres optirun spustime prislusne wine a jako parametr mu dame jmeno exe souboru hry – jenom souboru, jsme uz prece v jeho adresari 🙂

Na zaver jen zmenime cestu k prikazu v ikone na plose.

2x bouchneme na ikonu a uzivame si o trochu vetsi vykon, nez s Intel grafikou 😀
 

1 komentář u „Windows hry v Linuxu na nVidia grafice (Play on Linux a nVidia Optimus)

  1. Viliam
    este k tym exportom je vhodne nastavit do dalsieho riadku
    export WINEDEBUG=“-all“
    odstrania sa tym chybove wine chlasenie do konzoly a vykon ide tam kde ma 🙂

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *