Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Spuštění neposlušné hry v dalším X serveru  (Přečteno 9816 krát)

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6039
Spuštění neposlušné hry v dalším X serveru
« kdy: 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

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

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.
« Poslední změna: 02 Března 2019, 11:40:32 od Michal Stanke »
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem.
Dlouhé výpisy prosím dávat při psaní příspěvku do bloku funkcí Vložit kód.
Děkujeme.

Martin Šácha

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • ******
  • Příspěvků: 5153
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #1 kdy: 01 Února 2013, 16:22:52 »
Připíchnuto, tohle se určitě hodí :)
Mint MATE 64bit / DuckDuckGo.com
Programátoři považují WYSIWYG za špatné u kódu i u žen. Programátor chce "dostat to, co žádá“ – kód tajemný, neodpouštějící, nebezpečný.

beer

  • Host
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #2 kdy: 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ší...
« Poslední změna: 01 Února 2013, 17:47:06 od beer »

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6039
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #3 kdy: 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í.
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem.
Dlouhé výpisy prosím dávat při psaní příspěvku do bloku funkcí Vložit kód.
Děkujeme.

Citrisin

  • Aktivní člen
  • *
  • Příspěvků: 138
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #4 kdy: 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).
†Asus M51Va
*Lenovo Ideapad Y580, intel i5 Ivi bridge, Nvidia GTX660, 8GB ram, 32GB ssd (Samsung), 1TB hdd.
Ubuntu 12.10, Gnome shell.

beer

  • Host
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #5 kdy: 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

To sdílení zvukovky se dělá jak?
« Poslední změna: 28 Března 2013, 10:34:19 od beer »

Citrisin

  • Aktivní člen
  • *
  • Příspěvků: 138
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #6 kdy: 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

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.
†Asus M51Va
*Lenovo Ideapad Y580, intel i5 Ivi bridge, Nvidia GTX660, 8GB ram, 32GB ssd (Samsung), 1TB hdd.
Ubuntu 12.10, Gnome shell.

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #7 kdy: 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
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6039
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #8 kdy: 29 Března 2013, 14:49:53 »
Aktualizuju to, jak budu doma na PC... dejte mi pár dní.
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem.
Dlouhé výpisy prosím dávat při psaní příspěvku do bloku funkcí Vložit kód.
Děkujeme.

 

Provoz zaštiťuje spolek OpenAlt.