abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:11 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 1
    dnes 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 9
    dnes 13:33 | Komunita

    Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.

    Ladislav Hagara | Komentářů: 0
    dnes 13:00 | Nová verze

    Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 2
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 12
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (17%)
    Celkem 689 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    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: 662×
    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: 53
    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: 62
    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: 62
    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: 62
    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: 62
    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.