Games (Lietuvių)
Šiame puslapyje yra informacija apie veikiančius žaidimus, bei sistemos konfiguracijos patarimai.
Žaidimų aplinkos
Linux egzistuoja keletas aplinkų skirtų žaisti žaidimams:
- Vietinė – žaidimai parašyti Linux'ams.
- Internetinė – žaidimai veikiantys interneto naršyklėje.
- HTML5 žaidimai naudoja kanvas bei WebGL technologijas ir veikia visose moderniose naršyklėse.
- Flash-paremti – žaidimui reikia įdiegti įskiepį.
- Specializuotos aplinkos (programinės įrangos emuliatoriai) – Reikalingos paleisti kitoms architektūroms ar sistemoms sukurtą programinę įrangą. Daugiau detalių rasite list of emulators.
- Wine - leidžia paleisti kai kuriuos Windows žaidimus, taip pat didelį kiekį kitos Windows programinės įrangos. Wine aplinkoje našumas varijuoja, dėl papildomų CPU sąnaudų kai kurie žaidimai gali sulėtėti, kitais atvejais veikimas pagreitėja. Dėl specifinės suderinanumo informacijos konsultuokitės su Wine AppDB.
- Crossover Games - Codeweavers komandos nariai yra didžiuliai Wine rėmėjai. Naudojantis Crossover Games kai kurių žaidimų įdiegimas ir konfigūravimas tampa daug paprastesnis, patikimesnis ir netgi įmanomesnis, nei naudojantis kitais metodais. Crossover yra mokamas komercinis produktas, turintis ir forumą kur kūrėjai aktyviai dalyvauja bendruomės veikloje.
- DOSBox yra minimali virtualioji mašina, kurioje veikia pilna DOS aplinka. Ją galima naudoti žaižiant klasikinius DOS žaidimus.
- scummvm tai daugybės klasikinių point-and-click nuotykių žaidimų viskas-viename variklio reimplementacija. Visą suderinamų žaidimų sąrašą rasite ScummVM svetainėje.
- Panašiai į ScummVM, varikli7 reimplementacijos ir portai egzistuoja specifiniams žaidimams, kaip Doom.
- Virtualias mašinas galima naudoti suderinamų operacinių sistemų įdiegimui(pvz.: Windows). VirtualBox turi gerą 3D palaikymą. Sekant iš to, jeigu turite suderinamą techninę įrangą galite išbandyti VGA pralaidą į Windows KVM svečia, raktinis žodis yra "virtual function I/O" (VFIO), arba PCI passthrough via OVMF.
Žaidimų gavimas
Nemažą skaičių galima rasti official repositories / AUR, žiūrėti List of games.
Skaitmeninis platinimas
Vien dėl to, kad žaidimai prieinami Linux aplinkoje doesn't nereiškia, kad jie vietiniai, jie gali būti supakuoti kartu su Wine ar DOSBox.
- Steam — Valve sukurta skaitmeninio platinimo ir bendravimo platforma.
- itch.io — Indie žaidimų parduotuvė.
- https://itch.io/ || itchAUR
-
GOG.com
- GOG.com oficialiai palaiko tik Ubuntu ir Linux Mint.
- lgogdownloaderAUR paketas gali būti naudojamas GOG žaidimų įdiegimui iš komandinės eilutės.
Emuliatoriai
Emuliatorius tai programa, kurios tikslas replikuoti kitos platformos ar sistemos funkcijas taip leidžiant veikti žaidimams bei programoms, kurie esamai aplinkai nesuprogramuoti.
Taip pat žiūrėti Category:Emulation ir Emulation General wiki.
Konsolės
Taip pat žiūrėti Wikipedia:List of video game console emulators.
- Citra — Nintendo 3DS emuliatorius.
- DeSmuME — Nintendo DS emuliatorius.
- Dolphin — Labai galingas GameCube ir Wii emuliatorius.
- epsxe — PlayStation žaidimų konsolės skirtos x86 PK techninei įrangai emuliatorius.
- https://www.epsxe.com/ || epsxeAUR
- FCEUX — NTSC ir PAL 8 bit Nintendo/Famicom emuliatorius, kuris yra originalaus FCE Ultra emuliatoriaus evoliucija. Tikslus, suderinamas ir aktyviai palaikomas.
- Gambatte — Tikslus Game Boy Color emuliatorius
- https://github.com/sinamas/gambatte || Qt grafinė naudotojo sąsają (gambatte-qtAUR[broken link: package not found]), SDL komandinės eilutės sąsaja (gambatte-sdlAUR[broken link: package not found]).
- Gens2 — Sega Genesis, Sega CD ir 32X emuliatorius parašytas assembly kalba ir aktyviai nebevystomas.
- aktyvuokite OpenGL, nustatykite 1024x600 rezoliuciją ištemptimui pilnam ekrane arba 800x600 neištemptai;
- naudokite "Normal" renderimą.
- http://www.gens.me/ || gens[broken link: package not found]
- Gens-GS — Gens2, perrašytas su C++, sudedant skirtingų Gens šakų funkcijas į vieną.
- gngeo — NeoGeo emuliatorius komandinėje eilutėje.
- higan — Daugiasistemis emuliatorius daugiausiai dėmesio skiriantis tikslumui, palaikantis SNES, NES, GB, GBC, GBA.
- mednafen — Komandine eilute varomas daugiasistemis emuliatorius.
- Mupen64Plus — Aukšto suderinamumo Nintendo 64 emuliatorius su įskiepių sistema.
- https://www.mupen64plus.org/ || mupen64plus arba grafine sąsaja, kaip m64pyAUR ar cutemupenAUR.
- Nestopia — Labai tikslus NES emuliatorius.
- pSX — Įskiepiais neparemtas PlayStation emuliatorius su neblogu suderinamumu.
- PCSXR — PlayStation emuliatorius; Debian atšaka nuo originalaus bet apleisto PCSX
- https://pcsxr.codeplex.com/[dead link 2021-11-10 ⓘ] || pcsxrAUR
- PCSX2 — PlayStation 2 emuliatorius. Visdar palaikomas ir vystomas. Reikalingi BIOS failai.
- PPSSPP — PlayStation Portable emuliatorius.
- Snes9x — Nešiojamos, nemokamos Super Nintendo Entertainment System (SNES) emuliatorius.
- Visual Boy Advance — Game Boy emuliatorius su Game Boy Advance, Game Boy Color, ir Super Game Boy palaikymu.
- ZSNES — Aukšo suderinamumo Super Nintendo emuliatorius.
Kita
- DOSBox — Atviro kodo DOS emuliatorius su pirmine užduotimi paleisti DOS žaidimus.
- DOSEmu — Atviro kodo DOS emuliatorius.
- MAME — Multiple Arcade Machine Emuliatorius.
- ResidualVM — Kliaplatformis 3D žaidimo vertiklis kuris leiia žaisti LucasArts' Lua-paremtus 3D nuotykius.
- http://residualvm.org/ || residualvmAUR[broken link: package not found]
- RetroArch — Libretro frontend'as (emuliacijos biblioteka, naudojanti modifikuotas egzistuojančių emuliatorių versijas kaip įskiepius).
- ScummVM — Virtuali mašina seniems nuotykiams.
- X Neko Project II — PC-9801 emuliatorius.
Žaidimų paleidimas
Kai kuriems žaidimams ar jų tipams gali būti reikalinga speciali konfigūracija, kad jie veiktų kaip numatyta. Iš esmės, žaidimai tiesiog veiks Arch Linux galimai su geresniu našumu, nei kitose distribucijose dėl kompiliavimo optimizacijos. Tačiau, kai kurioms specialioms sąrankoms gali būti reikalinga konfigūracija, kad viskas veiktų kaip tikėtasi.
Daugiaekranė sąranka
Turint daugiau nei vieną ekraną gali kilti problemų su pilno ekrano žaidimais. Tokiu atveju, antro X serverio paleidimas gali būti išeitis. Kitą išeitį galima rasti NVIDIA straipsnyje (gali tikti ir ne NVIDIA naudotojams).
Klaviatūros sugriebimas
Daug žaidimų pagriebia klaviatūrą, taip neleisdami pakeisti langų (dar žinoma kaip alt-tabbing).
Kai kurie SDL žaidimai (pvz.: Guacamelee) leidžia išjungti pagriebimą paspaudžiant Ctrl-g
.
Išjungti klaviatūros pagriebimą X11 lygyje, įdiekite libx11-nokeyboardgrabAUR[broken link: package not found] paketą.
Žaidimo paleidimas atskirame X serveryje
Kai kuriais atvejais, kaip paminėta aukščiau, gali būti reikalinga ar norėtūsi paleisti antrą X serverį. Antrojo X serverio paleidimas turi keletą privalumų, kaip: geresnis našumas, galimybė išsi"tab"inti iš žaidimo naudojant Ctrl+Alt+F7
/Ctrl+Alt+F8
, nenulūžta pagrininė X sesija (kuri gali būti atidaryta darbui), jei žaidimas sukonfliktuoja su grafine tvarkykle. Naujas X serveris bus kaip nuotolinės prieigos prisijungimas ALSA, todėl norėdamas girdėti audio naudotojas turės priklausyti audio
grupei
Pradėti antrąjam X serveriui (kaip pavyzdį naudosime nemokamą pirmo asmens šaudyklę Xonotic) tiesiog padarykite:
$ xinit /usr/bin/xonotic-glx -- :1 vt$XDG_VTNR
Šitai toliau gali būti patobulinta naudojant atskirą X konfigūracijos failą:
$ xinit /usr/bin/xonotic-glx -- :1 -xf86config xorg-game.conf vt$XDG_VTNR
Gera priežastis čia naudoti atskirą xorg.conf jei jūsų pirminė konfigūracija naudoja NVIDIA Twinview kuris tokius 3D žaidimus kaip Xonotic renderina viduryje daugiaekranės sąsajos, ir eina per visus ekranus. Šitai nėra pageidautina, todėl patartina paleisti antrą X severį su alternatyvia konfigūracija kur antrasis ekranas yra išjungtas.
Žaidimo skriptas nauojantis Openbox jūsų namų direktorijoje arba /usr/local/bin
galėtų atrodyti taip:
~/game.sh
if [ $# -ge 1 ]; then game="$(which $1)" openbox="$(which openbox)" tmpgame="/tmp/tmpgame.sh" DISPLAY=:1.0 echo -e "${openbox} &\n${game}" > ${tmpgame} echo "starting ${game}" xinit ${tmpgame} -- :1 -xf86config xorg-game.conf || exit 1 else echo "not a valid argument" fi
Taigi, po chmod +x
jūs galėtumėte naudoti skriptą:
$ ~/game.sh xonotic-glx
Pelės aptikimo reguliavimas
Žaidimams kuriuose reikia išskirtinių įgūdžių pele, mouse polling rate pareguliavimas, gali turėti įtakos tikslumui.
Binaurinis garsas su OpenAL
Žaidimams naudojantiems OpenAL, geresniam poziciniam garso išgavimui galima naudoti OpenAL HRTF filtrus. Jie įjungiami su komanda:
echo "hrtf = true" >> ~/.alsoftrc
Alternatyvai, įdiekite openal-hrtfAUR iš AUR, ir paredaguokite nustatymus /etc/openal/alsoftrc.conf
Source žaidimams, vidiniuose žaidimo nustatymuose norint įjungti HRTF `dsp_slow_cpu` turi būti `1`, kitaip žaidimas įjungs savo apdorojimą. Taip pat turėsite sureguliuoti Steam vietiniam "runtime" naudojimui, arba jo openal.so kopiją nukreipti į vietinę savo kopiją. Visiškam išpildymui naudokite šiuos nustatymus:
dsp_slow_cpu 1 # Disable in-game spatialiazation snd_spatialize_roundrobin 1 # Disable spatialization 1.0*100% of sounds dsp_enhance_stereo 0 # Disable DSP sound effects. You may want to leave this on, if you find it does not interfere with your perception of the sound effects. snd_pitchquality 1 # Use high quality sounds
PulseAudio reguliavimas
Jei naudojate PulseAudio, galbūt norėsite pareguliuoti pradinius nustatymus optimalesniam veikimui.
Realaus laiko prioriteto ir neigiamo nice lygio įjungimas
Pulseaudio kaip auio daemon'as, sukurtas veikti su realaus laiko prioritetu. Tačiau saugumo sumetimais, pagal nutylėjimą įtrauktas į reugliarųjį posistemį. Šitam pataisymui, įsitikinkite, kad esate audio
grupėje. Tuomet, nuimkite komentarą ir pakeiskite šitas eilutes /etc/pulse/daemon.conf
:
high-priority = yes nice-level = -11
realtime-scheduling = yes realtime-priority = 5
tada perkraukite pulseaudio.
Aukštesnės kokybės atkūrimo naudojimas geresniam garsui
PulseAudio Arch sistemoje pagal numatytuosius nustatymus kanalų atkūrimui naudoja speex-float-0 , atkūrime jie laikomi 'vidutinės-žemos' kokybės. Jei jūsų sistema gali palaikyti papildomą apkrovą, galite gauti naudos naudodamiesi šituo nustatymu:
resample-method = speex-float-10
Techninės įrangos buferių suderinimas su Pulse buferingu
Buferių suderinimas gali sumažinti trukčiojimą ir marginaliai padidinti našumą. Daugiau detalių čia.
Dukart patikrinkite procesoriaus dažnio mąstelio keitimo nustatymus
Jei jūsų sistema šiuo metu yra sukonfigūruota tinkamai įterpti savo CPU dažnio mastelio keitmo tvarkyklę, systemos numatytasis valdytojas yra Ondemand. Pagal numatymą, šis valdytojas reduliuoja pastiprinimą jeigu sistema naudoja 95% savo CPU, ir tada tik labai trumpam laikui. Tai sutaupo energijos ir sumašiną karštį, bet pastebimai paveikia našumą. Vietoj to, jūs galite nuimti pastiprinimą tik tada kai sistema atsilaisvina, pareguliuodami sistemos valdytoją. Kad tai padarytumėte, žiūrėkite Cpufrequtils#Tuning the ondemand governor.
Beveik kiekvienas žaidimas gauna naudos, jei branduoliui priskiriama teisinga planavimo politika užduočių prioretizavimui. Tačiau be daemon'o pagalbos šį perplanavimą reiktų atlikti patiems arba su keletu daemon'ų kiekvienai politikai. Šios politikos idealiai turėtų būtų nustatytos programų kiekvienai gijai atskirai, bet ne kiekvienas programuotojas šias politikas įgyvendina. Yra keletas metodų kurie vistiek turėtų veikti:
Wine programoms
Žiūrėti Wine#Performance
Visam kitam
Programoms kurios pačios planavimo politikų neįgyvendina, daugelį funkcijų automatiškai gali atlikti schedtool įrankis, ir su juo susijęs daemon'as schedtooldAUR.
Programų politikų pataisymui, redaguokite /etc/schedtoold.conf
ir pridėkite programas su norimais schedtool argumentais.
Politikos
Visų pirma ir svarbiausia nustatant planavimo politiką į SCHED_ISO
ne tik leis procesams naudoti daugiausiai 80 procentų CPU, bet ir bandys sumažinti vėlavimą, bei trukčiojimą, kada tik įmanoma.
SCHED_ISO
veikimui reikia Linux-ck, kadangi jis įgyvendintas tik šiame branduolyje. Linux-ck pots iš savęs turėtų sumažinti vėlavimą, ir idealiu atveju turėtų būti įdiegtas.
Dauguma jei ne visi žaiimai gaus naudos iš:
bit.trip.runner -I
Naudotojams nenaudojanties Linux-ck, SCHED_FIFO
yra alternatyva, kuri galbūt veiks dar geriau. Turėtumėte išbandyti ar programos gerai veikia su SCHED_FIFO
, jei taip, tisiog naudokite jį. Tačiau atsargiai, SCHED_FIFO
gali priversti sistemą badaugti! Vietoje -I naudokite:
bit.trip.runner -F -p 15
Nice lygiai
Antra, nice lygiai nustato kurios užduotys atliekamos pirmiau, didėjimo tvarka.Daugumai mutimedijos užduočių rekomenduojamas -4 nice lygis, taip pat ir žaidimams:
bit.trip.runner -n -4
Core affinity
Vystyme yra truputis nesusipratimo, kas turėtų atlikti multithreading'ą tvarkyklė ar programa. Jei abu bandys tai atlikti, tai privers tik iki kadrų skaičiaus kritimo ir užlūžimo. Pavyzdžiai yra skaičius modernių žaidimų, ir bet kuri Wine programa veikianti su neišjungtu GLSL. pasirinkti vieną branduolį ir leisti tik tvarkyklei reguliuoti šį procesą, paprasčiausiai naudokite -a 0x#
vėliavėlę, kur # branduolių skaičius, pvz.:
bit.trip.runner -a 0x1
naudoja pirmą branduolį. Kai kurie CPU hyperthreaded'inti ir turi tik 2 ar 4 branduolius, bet rodo 4 ar 8, tokiems geriausia:
bit.trip.runner -a 0x5
kur naudojami virtualūs branduoliai 0101, ar 1 ir 3.
Bendras atvejis
Daugumai žaidimų kuriuose reikalinga aukštas kadrų skaidrius ir žemas vėlavimas, geriausia naudoti šias vėliavėles. Dauguma modernių žaidimų supranta teisingą panauojimą, tačiau atitikimą reiktų patikrinti kiekvienai programai. Bendram atvejui:
bit.trip.runner -I -n -4 Amnesia.bin64 -I -n -4 hl2.exe -I -n -4 -a 0x1 #Wine with GLSL enabled
t.t.
Optimus ir kitos padedančios programos
Kaip bendra taisyklė, bet kuris kitas procesas reikalingas žaidimo veikimui turėtų būti su aukštesniu nice lygiu, nei pats žaiimas. Keista, Wine turi tokią problemą kaip atvirkštinis planavimas, iš todažnai galima gauti naudos svarbiems procesams nustatant aukštesnį nice lygį. Wineserver taip pat besąlygiškai gauna nauos iš SCHED_FIFO
, kadangi retai sunaudoja visą CPU ar jam reikia aukšestnių prioritetų nei įmanoma.
optirun -I -n -5 wineserver -F -p 20 -n 19 steam.exe -I -n -5
Alternatyvūs branduoliai
Įprastinis Arch branduolys suteikia puikųn pagrindą bednram naudojimui. Tačiau jei sistema turi mažiau, nei 16 branduolių ir naudojama pirmiausia kaip darbo stotis, galite paakoti truputį našumo darbo krūviui ir gauti daugiau interaktyvumo su Linux-ck. Naudodami pre-optimizuotą branduolį tikrai išlošite našume, tik svarbu pasirinkti tinkamą branduolio architektūrą.
BFQ naudojimas
BFQ yra io-planuoklis ateinantis kaip linux-zen ir Linux-ck funkcija, ir yra optimizuotas būti paprastesniu, bet suteikiantis daugiau interaktyvumo ir našumo ne-serveriniam darbui. Norėdami jį įjungti pridėkite branduolio parametrą elevator=bfq į savo bootloader. Svarbu paminėti, kad nors auguma gių rekomenduoja naudoti noop ar deadline SSD diskams dėl našumo, ttai iš tikrųjų kenkia našumui kai daugiau nei viena gija bando pasiekti prietaisą. Geriausia naudoti bfq nebent jums labai reikia to našumo privalumo.