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!

Novinky: Školení nejen k OS Ubuntu pro širokou veřejnost, více informací zde.

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

Roman Vacho

  • Člen placené komunitní podpory
  • Moderátor
  • Guru
  • *****
  • Příspěvků: 5588
  • Karma: +218/-47
  • Jeden vykope studnu, tisíce z ní pijí tisíc let.
    • Zobrazit profil
Spuštění neposlušné hry v dalším X serveru
« kdy: 26 Leden 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: 01 Únor 2013, 18:23:30 od Roman "Rovano" Vacho »
Vyřešená vlákna je vhodné uzavřít dodáním znaků "[vyřešeno]" do názvu téma v editaci prvního příspěvku.

Martin Šácha

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Guru
  • ******
  • Příspěvků: 5144
  • Karma: +302/-77
    • Zobrazit profil
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #1 kdy: 01 Únor 2013, 16:22:52 »
Připíchnuto, tohle se určitě hodí :)
Mint 17 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 Únor 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 Únor 2013, 17:47:06 od beer »

Roman Vacho

  • Člen placené komunitní podpory
  • Moderátor
  • Guru
  • *****
  • Příspěvků: 5588
  • Karma: +218/-47
  • Jeden vykope studnu, tisíce z ní pijí tisíc let.
    • Zobrazit profil
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #3 kdy: 01 Únor 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 dodáním znaků "[vyřešeno]" do názvu téma v editaci prvního příspěvku.

Citrisin

  • Člen
  • **
  • Příspěvků: 138
  • Karma: +17/-1
    • Zobrazit profil
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #4 kdy: 28 Březen 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řezen 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řezen 2013, 10:34:19 od beer »

Citrisin

  • Člen
  • **
  • Příspěvků: 138
  • Karma: +17/-1
    • Zobrazit profil
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #6 kdy: 29 Březen 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
  • Moderátor
  • Závislák
  • *****
  • Příspěvků: 3660
  • Karma: +360/-65535
  • skill :: ur home erly
    • Zobrazit profil
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #7 kdy: 29 Březen 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

  • Člen placené komunitní podpory
  • Moderátor
  • Guru
  • *****
  • Příspěvků: 5588
  • Karma: +218/-47
  • Jeden vykope studnu, tisíce z ní pijí tisíc let.
    • Zobrazit profil
Re:Spuštění neposlušné hry v dalším X serveru
« Odpověď #8 kdy: 29 Březen 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 dodáním znaků "[vyřešeno]" do názvu téma v editaci prvního příspěvku.