Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Hry a zábava => Téma založeno: Roman Vacho 26 Ledna 2013, 12:06:28

Název: Spuštění neposlušné hry v dalším X serveru
Přispěvatel: Roman Vacho 26 Ledna 2013, 12:06:28
Ahoj,
nedávno jsme narazil na jednu starší hru, která nepodporuje tzv "ALT+TAB".Jeden človíček od Gentoo již napsal aplikaci(spíše soubor skriptů), které Vám danou hru spustí v prostředí Openbox jako další Xserver. Přepínáte se potom klávesami CTRL+ALTF+7 a 8.

Pokud chcete jinou variantu skriptů, např. v jiném jazyce než Python, napište slovo "xgamer" do vyhledávače a ve výsledcích jistě najdete kýžené. Tak a jdeme na to!

Nainstalujeme minimalistické prostředí Openbox s malou závislost na gtk2...
Kód: [Vybrat]
sudo apt-get install openbox numlockx feh perl libgtk2-perl libglib-perl libxml-twig-perl
Nastavíme práva X serveru na spuštění komukoliv rekonfigurací balíku x11-common.
Kód: [Vybrat]
sudo dpkg-reconfigure x11-commonVybereme volbu allowed_users=anybody.

Zdrojový skript - stáhněte nejnovější verzi.
http://code.google.com/p/xgamer/downloads/list (http://code.google.com/p/xgamer/downloads/list)

Dále pokračujte podle stránek autora.

http://mikeysfog.wikispaces.com/XGamer (http://mikeysfog.wikispaces.com/XGamer)

A spusťte nějakou hru. Zde například Tremulous.
Kód: [Vybrat]
xgamer -c "/usr/games/tremulous --quiet"
Notifikace Steamu fungují, když jej spustíte přes xgamer, protože je celý na druhém X serveru.

Nevýhody:
Sekne se zvuk hry po přepnutí na X server 0(běžná plocha) a pokračuje ve smyčce. Po přepnutí zpět do hry, zvuk pokračuje normálně. Ale může to být protivné. Nevítě někdo jak to ošetřit?

Příště si to doplníme o možnosti vyskakovacích notifikací(např. když Vám píšou přátele ze Steamu apod.), případně tvorby herního openbox menu a změny gammy.
Název: Re:Spuštění neposlušné hry v dalším X serveru
Přispěvatel: Martin Šácha 01 Února 2013, 16:22:52
Připíchnuto, tohle se určitě hodí :)
Název: Re:Spuštění neposlušné hry v dalším X serveru
Přispěvatel: beer 01 Února 2013, 17:44:44
...

Co je cílem toho snažení? Přepnout ze ze hry, která to nepodporuje, přes alt+tab do jiné aplikace?

Citace
Nastavte allowed_users=anybody.

To se nastavuje kam?

Citace
numlockx feh
Numlockx mám, ale proč je to na tom závislé? Proč feh? Ten jsem používal v openboxu na nastavení pozadí.
Vůbec nemám představu co to dělá a jak taková hra přesto vypadá a včem se liší...
Název: Re:Spuštění neposlušné hry v dalším X serveru
Přispěvatel: Roman Vacho 01 Února 2013, 18:20:12
...

Co je cílem toho snažení? Přepnout ze ze hry, která to nepodporuje, přes alt+tab do jiné aplikace?

Citace
Nastavte allowed_users=anybody.

To se nastavuje kam?

Citace
numlockx feh
Numlockx mám, ale proč je to na tom závislé? Proč feh? Ten jsem používal v openboxu na nastavení pozadí.
Vůbec nemám představu co to dělá a jak taková hra přesto vypadá a včem se liší...
Návod jsme aktualizoval.
Protože to tak prostě napsal. Pozadí(feh) je dle mě lepší z toho důvodu, že někdo by na monitoru nemusel poznat barvu, kdy je na monitoru prázdné pozadí a kdy neběží jak má.
Klidně navrhni a popiš vylepšení.
Název: Re:Spuštění neposlušné hry v dalším X serveru
Přispěvatel: Citrisin 28 Března 2013, 10:11:47
Pokud by někdo nechtěl používat cizí skript a třeba instalovat openbox tak to jde i takto jednoduše:
vytvořím si skript pro každou hru:
Kód: [Vybrat]
#!/bin/sh
ck-launch-session 0ad
(nastavit soubor jako spustitelný "chmod +x file.sh")
A pak si jen upravím spouštěč hry na:
Kód: [Vybrat]
xinit {cesta_ke_skriptu} -- :1Pozor ale na hry které otevírají další okna! Není na té druhé ploše spuštěn windows manager takže není možné přepnout mezi nimi. Prostě pozor.
(ck-launch-session je pokud vím pouze v Ubuntu a jeho derivátech, používám toto i na Fedoře a tak si musím kvůli sdílení zvuku nastavit práva skupiny na zvukovku všem. Poté nemusí člověk ani dělat script a spouštět rovnou například: "primusrun xinit 0ad -- :1")
Přepínání mezi hrou a plochou je stejné jako je napsáno v příspěvku výše (alt+ctrl+f8/9).
Název: Re:Spuštění neposlušné hry v dalším X serveru
Přispěvatel: beer 28 Března 2013, 10:25:00
Až opětovně nahodím ubuntu na desktop, tak vyzkouším, jak to bude fungovat ve spolupráci s mythtv a steamem...

Dotaz:
je možné se na na :1 nalogovat jako jiný uživatel? A pokud ano, jde to jak lokálně, tak přes SSH?

ten primusrun koukám, je jen lepší řešení bumblebee, že? Možná by bylo dobré použití primusrun upřednostňovat před optirunem... A někam to upíchnout k návodům pro bumblebee, jestli to tady nikde není...

http://www.webupd8.org/2012/11/primus-better-performance-and-less.html (http://www.webupd8.org/2012/11/primus-better-performance-and-less.html)

To sdílení zvukovky se dělá jak?
Název: Re:Spuštění neposlušné hry v dalším X serveru
Přispěvatel: Citrisin 29 Března 2013, 12:28:02
Až opětovně nahodím ubuntu na desktop, tak vyzkouším, jak to bude fungovat ve spolupráci s mythtv a steamem...

Dotaz:
je možné se na na :1 nalogovat jako jiný uživatel? A pokud ano, jde to jak lokálně, tak přes SSH?

ten primusrun koukám, je jen lepší řešení bumblebee, že? Možná by bylo dobré použití primusrun upřednostňovat před optirunem... A někam to upíchnout k návodům pro bumblebee, jestli to tady nikde není...

http://www.webupd8.org/2012/11/primus-better-performance-and-less.html (http://www.webupd8.org/2012/11/primus-better-performance-and-less.html)

To sdílení zvukovky se dělá jak?

Pokud si to pamatuji správně tak stačí pro tu zvukovku pouze:
Kód: [Vybrat]
sudo usermod -a -G audio {uzivatel}Jinak primus je jen náhrada optirunu (Pokud vím tak ho plánuje bumblebee zařadit jako hlavní, zvyšuje totiž až o polovinu počet fps.). Bumblebee musí být stále nainstalované.

V nalogování na druhý xserver jako jiný uživatel nevidím problém, jen nevím jak to udělat automaticky skriptem. Ale ručně stačí jen: alt+shift+F2, lognout se jako ten uživatel za kterého chci mít server spuštěný a zase xinit... Nezkoušel jsem, ale mělo by to fungovat. Jinak pak zase nebude asi pravděpodobně fungovat zvuk, je třeba nastavit audio i pro toho uživatele. Ale to je jen můj dohad. Možná to ještě vyzkouším.

Mythtv nepoužívám, takže nevím jak se bude chovat, ale neočekával bych jakýkoli problém. Já normálně používám XBMC v druhém serveru.
Se steamem je problém. Když totiž spustíte hru tak jsou na xserveru najednou dvě okna (steam a hra) a jelikož hry na steamu musí asi splňovat podmínku že je možné je přepínat alt+tab, tak to blbne jak nejlépe umí. Cesta by byla spouštět hry ještě na dalším serveru, ale to už by bylo nutno editovat skripty steamu a to jsem prozatím nezkoušel. Pokud není problém s ovladačem grafiky (jako například ATI Catalyst, kde se při fullscreen hře a alt+tab nadále překresluje frontbuffer hrou na některých grafických kartách) tak nevidím důvod proč steam hry spouštět na druhém xserveru.
Případně, protože používám Gnome, tak zase "xinit -- :1" a v otevřeném xserveru "metacity &" (zkušenost ze staršího notebooku s ati catalyst, vyřeší to problém i  u přepínatelných aplikací, problém v ovladači totiž způsobovalo použití openGL v compositoru). Pak už jen spustit program/hru. Není problém toto udělat u kteréhokoli jiného windows manageru. To už ale kšeftuju do prvního příspěvku. Já jen nabízel jednodušší a dle mého čistší cestu.
Název: Re:Spuštění neposlušné hry v dalším X serveru
Přispěvatel: ntz_reloaded 29 Března 2013, 14:48:26
mozna bych jen navrhl uvest tam seznam, ktere gfx chipy podporuji dva xservery ;)

nvidia v pohode, radeon neznam v tomhle, nouveau ne !! a s intelem obcas .. tedy respektive druhej Xserver nenastartuje dri (3d accl), kdyz to bezi na prvnim .. jako neni rozhodne automaticky, ze 2 xservery pokazdy fungujou spravne
Název: Re:Spuštění neposlušné hry v dalším X serveru
Přispěvatel: Roman Vacho 29 Března 2013, 14:49:53
Aktualizuju to, jak budu doma na PC... dejte mi pár dní.