Games (Lietuvių)

From ArchWiki

Š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.
https://store.steampowered.com || steam
  • itch.io — Indie žaidimų parduotuvė.
https://itch.io/ || itch-setup-binAUR
  • 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.

Note: Galimai naujesniam emuliatorių pasirinkimui, patikrinkite AUR su žodžiu 'emulator'
Warning: Legalu turėti aukšto lygio emuliatorių, tačiau bet koks autorinių teisių saugomų ROMų platinimas ar neautorizuotos emuliacijos (be rašytinio autorių leidimo naudoti) yra nelegalu. To pasekoje, Arch Linux neplatina autorinių teisų saugomo turinio, įskaitant žæidimų ROMus ir rip'intus konsolių BIOSus. Jūs esate visiškai atsakingi už bet kokį emuliatorių gautų iš official repositories arba Arch User Repository naudojimą, taip pat už bet kokias teisines pasekmes to rezultate. Arch Linux neprisiima visiškai jokios atsakomybės.

Konsolės

Taip pat žiūrėti Wikipedia:List of video game console emulators.

  • Citra — Nintendo 3DS emuliatorius.
https://citra-emu.org/ || citra-gitAUR
  • DeSmuME — Nintendo DS emuliatorius.
https://desmume.org/ || desmume
  • Dolphin — Labai galingas GameCube ir Wii emuliatorius.
https://dolphin-emu.org/ || dolphin-emu
  • 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.
https://fceux.com/ || fceux
  • gngeo — NeoGeo emuliatorius komandinėje eilutėje.
https://code.google.com/archive/p/gngeo/ || gngeoAUR[broken link: package not found]
  • higan — Daugiasistemis emuliatorius daugiausiai dėmesio skiriantis tikslumui, palaikantis SNES, NES, GB, GBC, GBA.
https://github.com/higan-emu/higan || higan[broken link: package not found]
  • 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.
http://0ldsk00l.ca/nestopia/ || nestopiaAUR
  • pSX — Įskiepiais neparemtas PlayStation emuliatorius su neblogu suderinamumu.
http://psxemulator.gazaxian.com/ || psxAUR[broken link: package not found]
  • PCSXR — PlayStation emuliatorius; Debian atšaka nuo originalaus bet apleisto PCSX
https://archive.codeplex.com/?p=pcsxr || pcsxrAUR
  • PCSX2 — PlayStation 2 emuliatorius. Visdar palaikomas ir vystomas. Reikalingi BIOS failai.
https://www.pcsx2.net/ || pcsx2AUR
  • PPSSPP — PlayStation Portable emuliatorius.
https://ppsspp.org/ || ppsspp
  • Snes9x — Nešiojamos, nemokamos Super Nintendo Entertainment System (SNES) emuliatorius.
https://www.snes9x.com/ || snes9x
  • Visual Boy Advance — Game Boy emuliatorius su Game Boy Advance, Game Boy Color, ir Super Game Boy palaikymu.
http://vba.ngemu.com/ || vbam-wx
  • ZSNES — Aukšo suderinamumo Super Nintendo emuliatorius.
https://www.zsnes.com/ || zsnes

Kita

  • DOSBox — Atviro kodo DOS emuliatorius su pirmine užduotimi paleisti DOS žaidimus.
https://www.dosbox.com/ || dosbox
  • DOSEmu — Atviro kodo DOS emuliatorius.
http://www.dosemu.org/ || dosemu
  • MAME — Multiple Arcade Machine Emuliatorius.
https://mamedev.org/ || mame
  • RetroArch — Libretro frontend'as (emuliacijos biblioteka, naudojanti modifikuotas egzistuojančių emuliatorių versijas kaip įskiepius).
https://www.libretro.com/ || retroarch
  • ScummVM — Virtuali mašina seniems nuotykiams.
https://www.scummvm.org/ || scummvm
  • X Neko Project II — PC-9801 emuliatorius.
https://www.nonakap.org/np2/ || xnp2AUR

Ž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.

Note: Žinoma, kad SDL kartais nepagriebia įvesties sistemos. Tokiu atveju, gali pavykti tiesiog kelias sekundes palaukus.

Ž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.

Kadrų skaičiaus ir reagavimo gerenimas su planavimo politika

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

Note: Daug vartotojų praneša apie nepastovų kadrų skaičių, be kitus našumo trūkumus naudojant Linux-ck, net jei bendrai kadrų skaičius ir yra aukštesnis. Jei norite tik BFQ gali pabandyti linux-zen.

Į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 boot loader. 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.