abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 23:22 | Pozvánky

    Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou

    … více »
    bkralik | Komentářů: 0
    dnes 22:33 | IT novinky

    Dle plánu dnes končí služba Skype. Uživatelé mohou pokračovat v Microsoft Teams.

    Ladislav Hagara | Komentářů: 0
    dnes 21:44 | IT novinky

    Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.

    Ladislav Hagara | Komentářů: 1
    dnes 12:33 | Zajímavý projekt

    Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.

    Ladislav Hagara | Komentářů: 1
    dnes 12:11 | Pozvánky

    Jarní konference EurOpen.cz 2025 proběhne 26. až 28. května v Brandýse nad Labem. Věnována je programovacím jazykům, vývoji softwaru a programovacím technikám.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | IT novinky

    Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.

    Ladislav Hagara | Komentářů: 29
    3.5. 22:33 | Nová verze

    Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.

    Ladislav Hagara | Komentářů: 2
    2.5. 22:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).

    Ladislav Hagara | Komentářů: 0
    2.5. 19:11 | IT novinky

    Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.

    Ladislav Hagara | Komentářů: 5
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (8%)
     (21%)
     (4%)
     (2%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 526 hlasů
     Komentářů: 22, poslední dnes 10:06
    Rozcestník

    Dotaz: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?

    13.6.2020 19:27 LarryL | skóre: 27
    Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    Přečteno: 681×
    Ahoj. Potřeboval bych poradit s konfigurací Xorg pro 2 GPU.

    Běží mi na PC 2 procesy Xorg:

    1) Xorg (DISPLAY=:0) > iGPU Intel > monitor 1

    2) Xorg (DISPLAY=:8) > dGPU Nvidia > monitor 2

    Ten druhý proces si spouští Bumblebee, ale není to důležité, protože stejný problém bych zřejmě měl i kdybych použil Intel a Nvidia ovladače zvlášť. Co se týká grafiky je vše v cajku - grafický výstup na obou monitorech vidím.

    Jediné co potřebuji je nějak přehazovat klávesnici+myš mezi :0 a :8 klávesovou zkratkou bez použití Synergy, Xinerama. Defaultně to bylo tak, že klávesnice a myš fungovala jen na :0. Pak jsem našel soubor /etc/bumblebee/xorg.conf.d/10-ignore-devices.conf jehož obsah je:
    # If you connect a display to one of the outputs wired to the Nvidia card, you
    # have to comment this whole file. Note that you can leave it commented even
    # without currently attached monitor, at the cost of greater optirun startup
    # time.
    
    Section "InputClass"
        Identifier  "IgnoreDevices"
        MatchDevicePath "/dev/input/event*|/dev/input/mouse*|/dev/input/js*|/dev/input/mice*"
        Option      "Ignore" "true"
    EndSection
    Když jsem ho zakomentoval, tak začala klávesnice a myš fungovat na :0 i na :8 současně. Já potřebuji, aby fungovala buď na jednom nebo druhém monitoru. Jde to? Googlením nemůžu nic najít nebo nevím co přesně hledat.

    PS: Nepotřebuji myší volně přejíždět mezi :0 a :8, ani nepotřebuji přetahovat okna mezi nimi, chci aby displeje od sebe zůstaly izolované.

    Řešení dotazu:


    Odpovědi

    13.6.2020 19:39 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    Pri najhorsom vies urobit nieco ako pulseaudio ale pre klavesnicu.

    1/2 ako-na-konfiguraciu-hernych-ovladacov-2
    debian.plus@protonmail.com
    Pavel 'TIGER' Růžička avatar 13.6.2020 21:49 Pavel 'TIGER' Růžička | skóre: 54
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    Tady si nejsem moc jist, jestli to půjde aplikovat bez restartu Xek.
    13.6.2020 21:57 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    Asi toto ti velmi pomoze: https://unix.stackexchange.com/a/17172
    debian.plus@protonmail.com
    k3dAR avatar 13.6.2020 23:20 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    tip asi dobrej, ale url na konkretni zrovna nevhodnou radu ;-) pouziva tam starej postup, kdyz tak o odpoved nize, tam uz pouziva --enable a --disable a zaroven ne pred ciselne ID (ktere se muze zmenit a musel by ho v "hotkey skriptu" detekovat) ale primo nazev...

    priklad, v Thinkpadu kdyz bych chtel zakazat na DISPLAY :0 TrackPoint:
    DISPLAY=:0 xinput --disable "TPPS/2 IBM TrackPoint"
    pro detekci zda je zakazano:
    DISPLAY=:0 xinput --list --long "TPPS/2 IBM TrackPoint" | grep disabled
    takze to jen zkombinovat do skriptu, detekovat zda je na :0 mys aktivni:
    - kdyz ano, tak mys+kbd na 0: vypnout a na :8 zapnout
    - kdyz ne, tak mys+kbd na 0: zapnout a na :8 vypnout
    porad nemam telo, ale uz mam hlavu... nobody
    13.6.2020 23:36 LarryL | skóre: 27
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    JJ, taky mě to napadlo nějak vypnout klávesnici a myš. Našel jsem podobný příklad kde používali xinput float a xinput reattach, ale nějak mám pocit, že to není čisté řešení. Třeba když se přepínací script sekne, tak bych zůstal bez klávesnice a myši.

    Když jsem narazil na ukázku jak spouštět full screen games na displeji :1 zatímco hlavní plocha zůstane na dispeji :0, tak jestli to není správnější cesta. Jakože když zmáčknu Ctrl-Alt-F8, tak by fungovala klávesnice a myš jen na DISPLAY :8, a když bych se přepl zpět Ctrl-Alt-F7, tak by zase fungovala jen na DISPLAY :0, ale vůbec nevím jak tyto klávesové zkratky navázat na konfigurák Xorg. Vlastně bych si tím přepínám jen zapínal a vypínal sekci ze souboru 10-ignore-devices.conf (v úvodním příspěvku). Ale nevím, vždy když mám změnit konfiguraci Xka, tak v tom tápu.
    k3dAR avatar 13.6.2020 23:46 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    kdyz se sekne tak poresit pres SSH ? :-) (pripravenej failback script prirazenej primo danemu ssh spojeni v klientovi)
    pokud vim, tak neni mozne reloadnout xord.conf(.d/*) bez restartu X...

    kdytak ten hlavni prepinaci skript by bylo neco jako:
    #!/bin/sh
    
    keyboard="AT Translated Set 2 keyboard"
    mouse="TPPS/2 IBM TrackPoint"
    
    switch(){
        DISPLAY=:0 xinput --${1} "${keyboard}"
        DISPLAY=:0 xinput --${1} "${mouse}"
        DISPLAY=:8 xinput --${2} "${keyboard}"
        DISPLAY=:8 xinput --${2} "${mouse}"
    }
    
    (DISPLAY=:0 xinput --list --long "${mouse}" | grep -q disabled) && switch enable disable || switch disable enable
    
    porad nemam telo, ale uz mam hlavu... nobody
    k3dAR avatar 14.6.2020 00:41 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    bezpecnejsi reseni nez ten muj puvodni skript kterej pri prepnuti na :8 nejdriv vypnul :0, tak vzdy nejdiv zapinat to vypnute a pak teprve vypinat to zapnute, zaroven s "set -e" okamzite ukoncit skript kdyz v kterekoliv casti narazi na problem, coz by treba bylo i to ze X na :8 NEbezi, aby to nevyplo kbd+mou na :0...
    #!/bin/sh
    
    set -e
    
    keyboard="AT Translated Set 2 keyboard"
    mouse="TPPS/2 IBM TrackPoint"
    
    switch(){
        DISPLAY=:${1} xinput --enable "${keyboard}"
        DISPLAY=:${1} xinput --enable "${mouse}"
        DISPLAY=:${2} xinput --disable "${keyboard}"
        DISPLAY=:${2} xinput --disable "${mouse}"
    }
    
    (DISPLAY=:0 xinput --list --long "${mouse}" | grep -q disabled) && switch 0 8 || switch 8 0
    
    porad nemam telo, ale uz mam hlavu... nobody
    14.6.2020 23:25 LarryL | skóre: 27
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    Díky za script, je čistý a jednoduchý. Problém pouze je, že stejné jméno klávesnice mají dvě různé ID, takže to píše chybu "Warning: There are multiple devices matching ..." ale to už vyřeším.

    Větší problém je, že jsem si vytvořil klávesou zkratku, která funguje jen v :0 (xfce), protože na displeji :8 mám spuštěný jen windows manager (xfwm4), takže klávesová zkratka tam nefunguje. Ani xfce4-panel, tam nemohu spustit, protože není naprogramovaný, aby mohl být spouštěn ve více instancích. Takže bych musel klávesou zkratku uložit do něčeho nezávislého na DE, např. do Xbindkeys (musel bych doinstalovat). Možná by šla zkratka nastavit i v acpid.

    Ještě jsem se díval jestli by to nešlo přes ty virtuální terminály (Ctrl-Alt-F7..F8), protože si myslím, že zrovna k tomuto účelu jsou určeny. Podle mě by to mělo jít kdybych bumblebee přinutil, aby DISPLAY :8 spouštěl s parametrem "vt8". Jak bude chvilka, tak na to mrknu, pokud to nepůjde, tak zůstanu u tvého scriptu.
    kdyz se sekne tak poresit pres SSH ? :-) (pripravenej failback script prirazenej primo danemu ssh spojeni v klientovi)
    Tak už se mi to stalo :-), ale SSH není třeba, stačí to vyřešit přes virtuální terminál (Ctrl-Alt-F2).
    k3dAR avatar 14.6.2020 23:39 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    jestli mas 2 klavesnice tak nemusis nic prepinat ne :-)) jestli jde o sejne jmeno pro klavesnici a mys, tak to by melo jit ze v jmeno uvedes o co jde "pointer:Genius", "keyboard:Genius"...
    jeste zkoukni tohle zda te neco netrkne, resi(l) mozna to co ty :-)
    porad nemam telo, ale uz mam hlavu... nobody
    15.6.2020 00:55 LarryL | skóre: 27
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    jestli mas 2 klavesnice tak nemusis nic prepinat ne
    Dokonce 4 klávesnice :-) ...ale jen podle výpisu. Fyzicky jednu.
    jde "pointer:Genius", "keyboard:Genius"...
    Nee, samotná klávesnice má úplně stejné názvy + další dva názvy (asi multimediální klávesy a ještě něco).

    S tím "vt8" se mi to už povedlo a funguje to. Při přepínání Ctrl-Alt-F7 .. F8 sám Xorg vypisuje že připojuje/odpojuje klávesnici, myš a dokonce i USB DVB-T. Otestuju to a pak označím řešení i když vídím, že už někdo projevil iniciativu :-)
    15.6.2020 09:35 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    Nenastavue sa klavesove skratky v XFCE nastavaniach klavesnica a tam Pouzitie skratiek?
    debian.plus@protonmail.com
    15.6.2020 09:55 LarryL | skóre: 27
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    Ano, přesně tam, ale XFCE funguje jen na :0.

    DISPLAY :8 klávesovou zkratku z :0 nevidí, protože tam XFCE není spuštěn. V nějaké diskuzi jsem četl, že někdo chtěl na nové instanci Xorg spustit alespoň xfce4-panel, ale vývojáři mu napsali, že panel není naprogramovaný, aby se uměl spustit ve více instancích. To umí jen xfwm4 (windows manager XFCE). Takže řešením je spustit na :8 jiné DE, např. LXDE a tam vytvořit znovu kláv. zkratku nebo ji vytvořit v něčem co není závislé na DE (Xbindkeys, acpid ...).
    14.6.2020 00:07 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    Třeba když se přepínací script sekne, tak bych zůstal bez klávesnice a myši.
    Daj volat s timeout. Ak to sekne, ukonci to po case 20s timeout a nejako to osetris, co bude robit ak sekne.
    debian.plus@protonmail.com
    15.6.2020 19:30 luky
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    Pouzij x2x
    15.6.2020 19:50 LarryL | skóre: 27
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    Díky za tip. Vypadá, že je to něco jako Synergy. U těchto nástrojů mám obavy, že tam může zbytečně vznikat latence a taky rád využívám to co už v systému mám, takže využít funkci přímo v X serveru mně přišlo vhodnější, ale nevěděl jsem, že v Xku neexistuje žádná taková funkce out-of-box.
    Řešení 1× (LarryL (tazatel))
    21.7.2020 14:44 LarryL | skóre: 27
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    TL;DR: Napíši tady poznatky s používáním pro ostatní, třeba se někomu bude hodit, i pro sebe až to budu za rok zase řešit :-). Přikládám script, který pro mne funguje pomocí metody xinput. Poznatky s metodou xinput i s VT je i přímo ve scriptu - v helpu. Mám ještě jednu otázečku (úplně dole v tomto příspěvku).

    Script:
    #!/bin/sh
    
    # Pokud se kláv. nebo myš objevuje ve výpisu "xinput --list" vícekrát, tak uveď
    # tu část názvu, která je shodná u všech.
    # Pokud je připojeno více HW klávesnic a myší a je požadavek je přepínat všechny,
    # tak lze použít krátký společný název pro všechny, např. "Keyboard" a "Mouse"
    keyboard="Logitech USB Keyboard"
    mouse="Logitech G700 Laser Mouse"
    
    display_main="0"
    display_b="8"
    
    switch(){
    	# default keyboard/pointer je pro případ, že v /etc/bumblebee/xorg.conf.nvidia bude Option "AutoAddDevices" "false".
    	# devlist_* je pro případ, že jedno fyzické zařízení bude v systému jako více zařízení podobných nebo stejných názvů.
    	devlist_mouse_1=$(DISPLAY=:"$1" xinput --list | grep "$mouse\|default pointer" | sed -n 's/.*id=\([0-9]\+\).*/\1/p')
    	devlist_keyboard_1=$(DISPLAY=:"$1" xinput --list | grep "$keyboard\|default keyboard" | sed -n 's/.*id=\([0-9]\+\).*/\1/p')
    
    	devlist_mouse_2=$(DISPLAY=:"$2" xinput --list | grep "$mouse\|default pointer" | sed -n 's/.*id=\([0-9]\+\).*/\1/p')
    	devlist_keyboard_2=$(DISPLAY=:"$2" xinput --list | grep "$keyboard\|default keyboard" | sed -n 's/.*id=\([0-9]\+\).*/\1/p')
    
    	if [[ "$devlist_mouse_1" == "" && "$devlist_keyboard_1" == "" ]]; then 
    		echo "Mouse and keyboard not found on DISPLAY :$1 or unable to connect to X server."
    	else
    		for dev in $devlist_mouse_1 $devlist_keyboard_1
    		do
    	    	DISPLAY=:"$1" xinput --enable "$dev"
    		done
    
    		if [[ "$devlist_mouse_2" == "" && "$devlist_keyboard_2" == "" ]]; then 
    			echo "Mouse and keyboard not found on DISPLAY :$2 or unable to connect to X server."
    		else
    			for dev in $devlist_mouse_2 $devlist_keyboard_2
    			do
    		    	DISPLAY=:"$2" xinput --disable "$dev"
    			done
    		fi
    	fi
    }
    
    case "$1" in
    	--switch-on-main)
    		switch "$display_main" "$display_b"
    		;;
    	--switch)
    		# Pokud má myš stejný název pro různá ID, tak by příkaz s "--long" nefungoval. Vypisoval by
    		# chybu: "Warning: There are multiple devices matching ..."
    		#if ( DISPLAY=:"$display_main" xinput --list --long "$mouse" | grep -q disabled ) ; then
    		id=$(DISPLAY=:"$display_main" xinput --list | grep "$mouse" | sed -n '1 s/.*id=\([0-9]\+\).*/\1/p')
    		if [[ $(DISPLAY=:"$display_main" xinput list-props $id | grep 'Device Enabled' | awk '{print $4}') == "0" ]]; then
    			switch "$display_main" "$display_b"
    		else
    			switch "$display_b" "$display_main"
    		fi
    		;;
    	--help|-h|*)
    		echo "Použití: $0 [OPTION]"
    		echo
    		echo 'Tento script přepne klávesnici a myš předdefinovaného názvu mezi instancemi' 
    		echo 'Xorg spuštěnými na iGPU Intel (DISPLAY :0) a dGPU Nvidia (DISPLAY:8).'
    		echo
    		echo 'Při použití Nvidia-Bumblebee je tento script potřeba pouze když chceme'
    		echo 'používat monitor připojený přímo k dGPU. Výsledkem je nejnižší možná latence.' 
    		echo 'Pro zprovoznění je potřeba:'
    		echo '- v souboru /etc/bumblebee/xorg.conf.nvidia'
    		echo '  zakomentovat řádek (nebo vložit správný port):'
    		echo '  Option "ConnectedMonitor" "DFP"'
    		echo '  změnit na true:'
    		echo '  Option "UseEDID" "false"'
    		echo '  Option "AutoAddDevices" "false" #bez toho by v "xinput --list" bylo: default keyboard/mouse'
    		echo '  přidat řádek:'
    		echo '  Option "AllowEmptyInitialConfiguration'
    		echo '- zakomentovat obsah souboru /etc/bumblebee/xorg.conf.d/10-ignore-devices.conf'
    		echo '- aplikace na dGPU Nvidia spouštět příkazem: DISPLAY=:8 optirun <application>'
    		echo '- další aplikace na dGPU Nvidia lze spouštět příkazem: DISPLAY=:8 <application>'
    		echo
    		echo 'OPTION:'
    		echo ' -h --help        zobrazí tuto nápovědu'
    		echo ' --switch-on-main zapne klávesnici a myš na DISPLAY :0 a vypne na DISPLAY :8'
    		echo '                  (vhodné použít při prvním spuštění procesu "Xorg :8", aby'
    		echo '                  klávesnice a myš nefungovaly zdvojeně na na obou diplejích)'
    		echo ' --switch         přepíná klávesnici a myš mezi DISPLAY :0 a DISPLAY :8 (při'
    		echo '                  prvním spuštění se zapne na DISPLAY :8 a vypne na DISPLAY :0)'
    		echo
    		echo 'Vytvoření klávesové zkratky:'
    		echo '1) Pomocí programu, který je závislý na Xorg (např. windows managery, Xbindkeys)'
    		echo '   hrozí, že pokud bude klávesnice a myš na DISPLAY :8 a proces'
    		echo '   "Xorg :8" bude ukončen, tak se nepůjde přepnout zpět na "Xorg :0".'
    		echo '   Nepůjde se přepnout ani na volný textový VT (tty2) a spustit tento'
    		echo '   script ručně. Nejjednodušší je vypojit a znovunapojit klávesnici/myš z USB portu.'
    		echo '   Nvidia-Bumblebee ve výchozím nastavení ukončí "Xorg :8" automaticky pokud na'
    		echo '   DISPLAY :8 již neběží žádný jiný proces.'
    		echo '2) Pomocí programu, který není závislý na Xorg (např. acpid, actkbd).'
    		echo
    		echo 'Varování:'
    		echo 'Pokud bych se přepl na textový terminál (např. tty2) a zapl tento script, tak'
    		echo 'všechny vstupy z klávesnice i myši se projeví na tty2 i na displeji :0/:8.'
    		echo 'Podobná situace s duplicitou vstupů na obou displejích :0 a :8 nastane když:'
    		echo '- napojím/znovunapojím klávesnici nebo myš,'
    		echo '- poprvé spustím (nebo bumbebee spustí) proces "Xorg :8".'
    		echo
    		echo 'Poznámka (jiná možnost přepínání):'
    		echo 'Pro přepínání klávesnice a myši lze použít i virtuální terminály (VT) a přepínat'
    		echo 'tty7 a tty8 (Ctrl+Alt+F7/F8). V tom případě se nepoužívá optirun, ale přímo Xorg:'
    		echo '1) z textového VT (tty1-tty6) příkazem:'
    		echo ' /usr/lib/Xorg :8 vt8 -config /etc/bumblebee/xorg.conf.nvidia -configdir \'
    		echo ' /etc/bumblebee/xorg.conf.d -nolisten tcp -noreset -verbose 3 -isolateDevice \'
    		echo ' PCI:01:00:0 -modulepath /usr/lib/nvidia/xorg,/usr/lib/xorg/modules'
    		echo '2) nebo z grafického (tty7) pomocí systemd:'
    		echo '  systemd-run --property PAMName=login \'
            echo '  --property User=<my-user> \'
            echo '  --property StandardInput=tty \'
            echo '  --property TTYPath=/dev/tty8 \'
            echo '  sh -c "chvt 8 && /usr/lib/Xorg :8 vt8 -config /etc/bumblebee/xorg.conf.nvidia \'
            echo '  -configdir /etc/bumblebee/xorg.conf.d -nolisten tcp -noreset -verbose 3 \'
            echo '  -isolateDevice PCI:01:00:0 -modulepath /usr/lib/nvidia/xorg,/usr/lib/xorg/modules"'
    		echo 'Samotná aplikace se spouští bez optirun příkazem: DISPLAY=:8 <application>'
    		echo 'Při přepínání pomocí VT tento script není nutný, protože o přepínání klávesnice'
    		echo 'a myši se stará VT v kernelu. Při použití VT je v jeden okamžik vidět výstup jen'
    		echo 'na jednom monitoru (iGPU[:0] nebo dGPU[:8]). Na druhém monitoru je černá obrazovka.'
    		exit 0
    esac
    

    Bug v XFCE:

    Bohužel jsem narazil na bug v XFCE, který mně používání obou metod (xinput i VT) znepříjemňuje. Když udělám jednu z těchto věcí na DISPLAY :0 (na kterém běží XFCE):
    • přepnu klávesnici a myš (nebo jen jedno z toho) pomocí výše uvedeného scriptu,
    • jen přepnu z tty2 na tty7 (DISPLAY :0)
    • napojím do PC klávesnici nebo myš
    tak poté několik desítek sekund:
    • nereaguje Firefox
    • nefungují klávesové zkratky definované v XFCE
    • Firefox a xfsettingsd vytíží cpu na cca 5% a Xorg ho vytíží na 25%
    • klávesové zkratky nebo kliknutí ve Firefoxu se projeví všechny najednou až po "rozmrznutí"
    Pokud ve správci úloh zastavím proces xfsettingsd, tak k zamrzání nedochází, ale ani nefungují klávesové zkratky. Vypadá to na tento bug.

    Místo konkrétního zařízení jen <default pointer/keyboard>:

    V případě, že v souboru /etc/bumblebee/xorg.conf.nvidia je Option "AutoAddDevices" "true" (což je defaultně), tak příkaz DISPLAY=:8 xinput --list nevypisuje moje konkrétní názvy klávesnice a myši, ale je tam tohle:
    ⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
    ⎜   ↳ <default pointer>                       	id=6	[slave  pointer  (2)]
    ⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
        ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
        ↳ <default keyboard>                      	id=7	[slave  keyboard (3)]
    

    Bumblebee vs. Nvidia-prime:

    Zjistil jsem, že poměrně nedávno začala Nvidia od verze 435.17 oficiálně podporovat Render Offload. Výsledkem je nižší latence. S Bumblebee jsem sice nikdy latenci nepocítil, ale přesto jsem Nvidia-prime zkusil. Bohužel jsem zjistil, že při použítí Prime obě GPU používají stejnou instanci Xorg. Jelikož Nvidii používám i pro vga-pass a potřebuji ji často přiřadit virtuálce, tak bych musel vždy nejdřív zabít Xorg, což je pro mne nepraktické, takže nakonec zůstanu u Bumblebee.

    A teď ta otázka:

    Když vidím kolik nástrah je při použití xinput, tak se mi zdá lepší způsob přepínání klávesnice a myši pomocí virtuálních terminálů, ale má to jednu velkou nevýhodu a to, že DISPLAY, který není aktivní zobrazuje černou obrazovku. V praxi to funguje tak, že jsem na tty7 (DISPLAY :0) (tj. monitor č. 1) pak zmáčknu Ctrl+Alt+F8, tím se přepnu na tty8 (DISPLAY :8) (tj. monitor č. 2) a monitor č. 2, který byl do té doby černý se rozsvítí a objeví se spuštěná aplikace, ale monitor č. 1 zhasne (objeví se na něm černá obrazovka). To samé při přepnutí zpět. Neexistuje někde v nastavení virtuálních konzolí v kernelu nebo v Xorg možnost, aby se grafický výstup na neaktivní tty nevypínal?
    21.7.2020 15:49 LarryL | skóre: 27
    Rozbalit Rozbalit vše Re: Jak přehazovat klávesnici a myš mezi dvěmi instancemi Xorg (2 grafické karty)?
    Neexistuje někde v nastavení virtuálních konzolí v kernelu nebo v Xorg možnost, aby se grafický výstup na neaktivní tty nevypínal?
    Když nad tím přemýšlím, tak to z principu asi nepůjde. Když se přepnu na tty8, tak asi těžko půjde nastavit, aby tam zůstala grafika z tty7.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.