Grafický tablet nefunguje v KVM

Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Grafický tablet nefunguje v KVM
« kdy: 26. 11. 2020, 12:00:05 »
Zdravím,

1. v prípade že používam graf. tablet ako "captured pointer device", tak mi vo virtuálke nerozozná prítlak pera, takže som v KVM nastavil presmerovanie nastavenia USB, v takom prípade virtuálka prítlak rozozná a funguje všetko typické pre tablet, ale problém je že nevidím kurzor, vidím len kurzor z hosta (ktorý je v podstate "zamrznutý na obrazovke" a vo chvíli keď začnem niečo na tablete písať/kresliť tak kurzor zmizne), vo virtuálke nie je kurzor žiadny, takže vôbec nevidím kde na displeji sa so stylusom nachádzam. Skúšal som pohladať na Internete, a našiel tento problém vo viacerých vláknach a je to zrejme problém nie len v KVM ale aj iných virtuálkach ako virtualbox, VMware a pod. Avšak žiadna rada v nich mi nepomohla.
Nastavenie tabletu v KVM:
Kód: [Vybrat]
<input type="tablet" bus="usb">
  <alias name="input0"/>
  <address type="usb" bus="0" port="1"/>
</input>

2. Mám nastavené zdielanie zložky v KVM:
Kód: [Vybrat]
<filesystem type="mount" accessmode="mapped">
  <driver type="path" wrpolicy="immediate"/>
  <source dir="/mnt/<my-disk>/shared"/>
  <target dir="shared"/>
  <address type="pci" domain="0x0000" bus="0x06" slot="0x00" function="0x0"/>
</filesystem>
a vo virtuálke mám v fstab nastavené:
Kód: [Vybrat]
/shared   /home/<myacc>/shared   9p  trans=virtio,_netdev 0   0Problém je že keď vytvorím zložku v hostovi, tak vo virtuálke mám plné práva (čítanie, zápis, mazanie), ale naopak keď vytvorím zložku alebo súbor vo virtuálke, v hostovy ju nemôžem zmazať ani nijak s ňou pracovať kým nepoužijem chmod 777 (a fakt ma nebaví to robiť po každé čo sa zmení obsah zdielanej zložky). Ako toto vyriešiť?

3. Mám problém s automatickou zmenou rozlíšenia, nebudem to písať znova, keďže už som to písal na gite virt-vieweru:
https://gitlab.com/virt-viewer/virt-viewer/-/issues/20
resp. https://github.com/virt-manager/virt-manager/issues/192
čo som zistil, toto je skôr problém configu v remote viewery, je možnosť ako to obísť, kým vývojári pridajú možnosť nastaviť priamo pevné rozlíšenie?
« Poslední změna: 26. 11. 2020, 14:15:14 od Petr Krčmář »


Re:Grafický tablet nefunguje v KVM
« Odpověď #1 kdy: 26. 11. 2020, 14:53:08 »
ad 1)
Když není k VM připojený fyzický USB tablet, tak kurzor vidíš?
Pokud jsi fyzický USB tablet předal (USB-passthrough) z hosta do guesta, tak nainstalovaly se pro daný tablet v guestu správné drivery?
Kurzor nejde vidět ani v Remote-vieweru, ani ve Virt-vieweru?
Zkoušel jsi místo výchozího ovladače grafiky QXL změnit na jiný (např. VGA)?
Zkoušel jsi v čistém k Qemu s parametrem:
Kód: [Vybrat]
-display gtk?
Zkoušel jsi odstranit celý blok s virtálním tabletem? Tzn. tento:
Kód: [Vybrat]
<input type="tablet" bus="usb">
  <alias name="input0"/>
  <address type="usb" bus="0" port="1"/>
</input>

Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Grafický tablet nefunguje v KVM
« Odpověď #2 kdy: 26. 11. 2020, 16:06:49 »
ad 1)
Když není k VM připojený fyzický USB tablet, tak kurzor vidíš?
áno, ale ako som hovoril, vstup z tabletu funguje ako obyčajná myš (nerozoznáva prítlak ani sklon stylusu)
Pokud jsi fyzický USB tablet předal (USB-passthrough) z hosta do guesta, tak nainstalovaly se pro daný tablet v guestu správné drivery?
áno, tablet vidím aj jeho nastavenia.
Kurzor nejde vidět ani v Remote-vieweru, ani ve Virt-vieweru?
áno, presne tak
Zkoušel jsi místo výchozího ovladače grafiky QXL změnit na jiný (např. VGA)?
áno skúšal
Zkoušel jsi v čistém k Qemu s parametrem:
Kód: [Vybrat]
-display gtk?
to som neskúšal, až takéto skúsenosti s tým nemám,
Zkoušel jsi odstranit celý blok s virtálním tabletem? Tzn. tento:
Kód: [Vybrat]
<input type="tablet" bus="usb">
  <alias name="input0"/>
  <address type="usb" bus="0" port="1"/>
</input>
Skúšal som to pridať aj odstrániť, nepomohlo.

Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Grafický tablet nefunguje v KVM
« Odpověď #3 kdy: 26. 11. 2020, 16:27:04 »
pokúsil som sa to spustiť na čistom qemu podla návodov na netu, ale nedostal som sa ďalej než po (viď screenshot v prílohe),

E: tak sa mi to podarilo spustiť a rozbehať v čistom QEMU, ale tablet sa chová ako keby nebol pripojený (teda host ho rozozná ale guest nie).
« Poslední změna: 26. 11. 2020, 16:32:23 od Mlocik97 »

Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Grafický tablet nefunguje v KVM
« Odpověď #4 kdy: 26. 11. 2020, 17:22:48 »
K tabletu, myslím že problém není tablet samotný, problém je skôr to že kurzor, ktorým ovládam guesta je reálne kurzor v hostu, a keď je zariadenie presmerované priamo do guesta tak síce tablet rozozná ale nepohybuje kurzor, pretože kurzor nepatrí guestovi ale hostovi.


Re:Grafický tablet nefunguje v KVM
« Odpověď #5 kdy: 26. 11. 2020, 20:52:32 »
Tl;dr: Zatím jsem nabyl dojmu, že máš nějaký bug, kvůli kterému se ti vůbec nezobrazuje kurzor v guestOS.
je reálne kurzor v hostu, a keď je zariadenie presmerované priamo do guesta tak síce tablet rozozná ale nepohybuje kurzor, pretože kurzor nepatrí guestovi ale hostovi.
Mělo by to fungovat tak, že když táhneš myší v hostOS a dostaneš se nad okno Remote-vieweru nebo Virt-vieweru tak by se měl změnit vzhled kurzoru (změní se?) a když klikneš na nějakou ikonku v guestOS, tak se hned označí. To způsobuje právě ten virtuální tablet
Kód: [Vybrat]
<input type="tablet" bus="usb">, který v guestOS zajistí absolutní pozicování. Je to plynulejší a nemusíš myš klávesovou zkratkou přepínat mezi hostOS a guestOS.

Pokud odstraníš virtuální tablet, tak ti v guestOS bude fungovat jako klasická myš (relativní pozicování) a při přesunu kurzoru myši nad Remote-viewer musíš nejdříve kliknou do okna a až pak můžeš pracovat uvnitř guestOS. Pokud v tomto případě nevidíš kurzor myši, tak je to nějaký bug u tebe. Když chceš znovu začít ovládat hostOS, tak musíš zmáčknout klávesovou zkratku (mám dojem ctrl+alt v Remote-vieweru).

Výše uvedené možná víš, ale jen jsem to pro jistotu napsal.

Mně se stalo, že když jsem používal Remote-viewer nebo Virt-manager (= použítí Spice protokolu), tak kurzor nešel vidět pokud jsem při použití QXL nepoužil zároveň virtuální tablet a myslím, že to bylo jen u Windows guestů. Takže tohle asi nebude tvůj případ.

Zkoušel jsi místo výchozího ovladače grafiky QXL změnit na jiný (např. VGA)?
áno skúšal
Tak to asi tento bug https://bugzilla.redhat.com/show_bug.cgi?id=985461 nebude, protože s VGA kurzor šel vidět.

E: tak sa mi to podarilo spustiť a rozbehať v čistom QEMU, ale tablet sa chová ako keby nebol pripojený (teda host ho rozozná ale guest nie).
Zřejmě nemáš fyzický tablet správně předaný. Správně by ti měl fyzický tablet z hostOS zmizet a objevit se v guestOS. V čistém Qemu se může předávat pomocí Spice agenta nebo pomocí
Kód: [Vybrat]
-device usb-host,...
« Poslední změna: 26. 11. 2020, 20:55:15 od LarryLin »

Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Grafický tablet nefunguje v KVM
« Odpověď #6 kdy: 26. 11. 2020, 21:33:51 »
Mělo by to fungovat tak, že když táhneš myší v hostOS a dostaneš se nad okno Remote-vieweru nebo Virt-vieweru tak by se měl změnit vzhled kurzoru (změní se?) a když klikneš na nějakou ikonku v guestOS, tak se hned označí. To způsobuje právě ten virtuální tablet
Kód: [Vybrat]
<input type="tablet" bus="usb">, který v guestOS zajistí absolutní pozicování. Je to plynulejší a nemusíš myš klávesovou zkratkou přepínat mezi hostOS a guestOS.

Myslel som že sa kurzor nezmení (čož sa ani nemenil, pretože bol zhodný s tým z hostu, ale po zmene témy kurzora vo virtuálke, som si všimol že sa reálne zmení, takže ten kurzor zrejme je skutočne aj v guestovi. Áno, myš môžem ťahať priamo z guesta do hosta a naopak, ale zároveň môžem použiť alt + ctrl na uvolnenie kurzora aj keď som priamo kurzorom nad guestom, vtedy sa zmení vzhľad kurzora, kurzor zmizne z guesta a objaví sa v hostovi, po kliknutí sa objaví kurzor v guestovi a z hosta zmizne, kým je kurzor nad viewportom virt-vieweru. (teda toto mi príde ako rozumné a správne riešené.

Pokud odstraníš virtuální tablet, tak ti v guestOS bude fungovat jako klasická myš (relativní pozicování) a při přesunu kurzoru myši nad Remote-viewer musíš nejdříve kliknou do okna a až pak můžeš pracovat uvnitř guestOS. Pokud v tomto případě nevidíš kurzor myši, tak je to nějaký bug u tebe. Když chceš znovu začít ovládat hostOS, tak musíš zmáčknout klávesovou zkratku (mám dojem ctrl+alt v Remote-vieweru).

áno, to som v podstate napísal, je to tak, takže toto ten BUG nebude.

Výše uvedené možná víš, ale jen jsem to pro jistotu napsal.

Mně se stalo, že když jsem používal Remote-viewer nebo Virt-manager (= použítí Spice protokolu), tak kurzor nešel vidět pokud jsem při použití QXL nepoužil zároveň virtuální tablet a myslím, že to bylo jen u Windows guestů. Takže tohle asi nebude tvůj případ.

ne toto nieje môj prípad.

Tak to asi tento bug https://bugzilla.redhat.com/show_bug.cgi?id=985461 nebude, protože s VGA kurzor šel vidět.
Nie, tento BUG to skutočne nieje.

Zřejmě nemáš fyzický tablet správně předaný. Správně by ti měl fyzický tablet z hostOS zmizet a objevit se v guestOS. V čistém Qemu se může předávat pomocí Spice agenta nebo pomocí
Kód: [Vybrat]
-device usb-host,...
Pri presmerování vo virt-vieweru mi tablet z hosta zmizne, objaví sa v guestovi. V čistém Qemu netuším prečo nefungovalo, áno parameter -device som skúšal,... cez toho Spice agenta netuším ako.

Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Grafický tablet nefunguje v KVM
« Odpověď #7 kdy: 26. 11. 2020, 21:47:20 »
Tak k tomu poslednému, čo som napísal neplatí, len som blb, a nevšimol si že som v príkaze spravil chybu (vypadlo písmenko)...

No s parametrom -device usb-tablet mi vyhodí chybu:

Kód: [Vybrat]
qemu-system-x86_64: -device usb-tablet: No 'usb-bus' bus found for device 'usb-tablet'
OK, dpolnil som -usb parameter, teraz uvidím, sa mi to už spustilo.

Re:Grafický tablet nefunguje v KVM
« Odpověď #8 kdy: 26. 11. 2020, 22:07:23 »
Tak k tomu poslednému, čo som napísal neplatí, len som blb, a nevšimol si že som v príkaze spravil chybu (vypadlo písmenko)...
No s parametrom -device usb-tablet mi vyhodí chybu:
Kód: [Vybrat]
qemu-system-x86_64: -device usb-tablet: No 'usb-bus' bus found for device 'usb-tablet'OK, dpolnil som -usb parameter, teraz uvidím, sa mi to už spustilo.
Tak já myslím, že "-device usb-tablet" ani potřebovat nebudeš. To je virtuální tablet. Ty budeš potřebovat propasovat ten fyzický tablet. Zřejmě to bude chtít udev rules, pokud teda nechceš spouštět Qemu s právy roota :)

Každopádně doplnění "-usb" parametru bylo správné, to budeš potřebovat tak jak tak.

Re:Grafický tablet nefunguje v KVM
« Odpověď #9 kdy: 26. 11. 2020, 22:07:56 »
Chápu správně, že tvůj guestOS je Linux?

Re:Grafický tablet nefunguje v KVM
« Odpověď #10 kdy: 26. 11. 2020, 22:13:35 »
cez toho Spice agenta netuším ako.
Nějak takto by to mělo jít:
Kód: [Vybrat]
-device virtio-serial-pci
-chardev spicevmc,id=charredir0,name=usbredir \
-device usb-redir,chardev=charredir0,id=redir0

...ale pakliže je cíl to zkusit bez Spice, Remote-vieweru a Virt-vieweru, tak to bude lepší přes to |-device usb-host,...
« Poslední změna: 26. 11. 2020, 22:18:15 od LarryLin »

Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Grafický tablet nefunguje v KVM
« Odpověď #11 kdy: 26. 11. 2020, 22:17:27 »
Chápu správně, že tvůj guestOS je Linux?

áno,...

dávam video z virt-manager/virt-vieweru aby bol ten problém viditelnejší:

https://www.youtube.com/watch?v=5pwmn46ZeLk&feature=youtu.be

Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Grafický tablet nefunguje v KVM
« Odpověď #12 kdy: 26. 11. 2020, 22:26:45 »
cez toho Spice agenta netuším ako.
Nějak takto by to mělo jít:
Kód: [Vybrat]
-device virtio-serial-pci
-chardev spicevmc,id=charredir0,name=usbredir \
-device usb-redir,chardev=charredir0,id=redir0

...ale pakliže je cíl to zkusit bez Spice, Remote-vieweru a Virt-vieweru, tak to bude lepší přes to |-device usb-host,...

Tak som toto skúsil a dostal som
Kód: [Vybrat]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000001H:ECX.svm [bit 2]

A aj tak tablet nerozpoznalo v QEMU.

Re:Grafický tablet nefunguje v KVM
« Odpověď #13 kdy: 26. 11. 2020, 22:42:09 »
Možná nebudeš muset předávat fyzický USB tablet do guestOS. Jak vidím, tak Qemu má "usb-wacom-tablet". Bohužel nevidím, že by toto virtuální zařízení šlo přidat ve Virt-manageru. Zkus otevřít XML a nějak takto tam propasovat ten "usb-wacom-tablet". Pokud by to fungovalo, tak je to pro tebe asi jednodušší než čisté Qemu.

Re:Grafický tablet nefunguje v KVM
« Odpověď #14 kdy: 26. 11. 2020, 22:45:11 »
Tak som toto skúsil a dostal som
Kód: [Vybrat]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000001H:ECX.svm [bit 2]A aj tak tablet nerozpoznalo v QEMU.
To warování s předáním USB zařízení nesouvisí. Týká se vlastnosti CPU.