Description of problem: VNC console pointer is unpredictable(depending on where you enter/leave the screen). So sometimes it is not possible to navigate to all parts of the screen. How reproducible: Depends on your screen and point of entry to VNC console frame. Steps to Reproduce: 1. Please see attached image 2. The cursor is above the win icon 3. When I move the cursor a bit lower to click on the icon, the mouse leaves the entire VCN console frame 4. It is impossible to click on the windows icon Expected results: It is possible to navigate the entire screen regardless where you enter the VNC frame and regardless of scrolling
Created attachment 1681557 [details] win-with-vnc-console
this happens due to missing tablet device: https://github.com/novnc/noVNC/issues/993
I noticed that common templates specify tablet device only for desktop workloads, but VNC is enabled for all of them (autoattachGraphicsDevice field defaults to true if ommitted: https://kubevirt.io/api-reference/master/definitions.html#_v1_devices ). Shouldn't we, then, add the tablet device into common-templates for all workloads as it might cause these bugs? moving this bug to common templates..
Fabian should we add tablet device to all templates?
For desktop variants yes, we can do this. But not for servers, because the tablet will require a USB controller (which we don't want for high performance). Sounds sane?
Other q: Can libosinfo be updated to maintain the information to have tablet devices for dekstop osses?
All desktop templates already have tablet device. AFAIK currently libosinfo doesn't contain this information about tablet device. If we want tablet device only for desktop templates, then we can close this bug, because the functionality is already in the code.
Good to hear that all desktops already contain the device. Instead of closing the bug we might want to address this differently, i.e.: Tomas, can the ui detect that no tablet device is used and thus the pointers will not move correctly and can in turn display an infoamtion i.e. "Mouse movement might work poorly due to the VM configuration (no tablet device). Sometimes this is desirable in certain VM configurations" -- we should hint that the tablet device is omitted to save memory and "improve performance" (I wonder how much ...)
Technically it is doable. The problem is that the UI does not have a detailed enough knob to disable/enable tablet device. For this configuration it relies on the common-templates. So in theory, if you only use the UI, you should never (anymore :) ) hit a situation that you do not have a tablet device. If you create the VM by hand crafting a yaml, you might forget/decide not to add the tablet. So we could warn the user and even have a button to fix it (e.g. we noticed that you dont have tablet device but have VNC which might lead to bad experience. Hit this button to add the tablet device to your VM.). Would be a nice little feature, but only fixing a corner case. I'd propose to open an epic around it and handle it sometime later (e.g. 4.6 is more than full by now). Maybe a nice little enhancement for 4.7. WDYT?
> that you do not have a tablet device. Some templates will continue to not have a tablet device i.e. for performance reasons. I agree that we should think how to let the user know about the issue, and also about offering a solution, and also that 4.7 sounds like a good timeframe.
> Some templates will continue to not have a tablet device i.e. for performance reasons. Does it make sense to disable VNC for such workloads, if we cannot ensure that it will be working correctly?
From my POV theer is still value in keeping VNC enabled: It is the admins last safe line in case when things go wrong, in such a case it is probably acceptable that the mouse is not working accurately. This is why I'm proposing to have a warning in case of an inproper configuration - instead of disabling it altogether.
Ok, after discussing this offline: a few notes - This is about the server variant of Windows - This is not about a high performance template - Even for servs mice are relevant on windows AI: Add the tablet to the windows server templates.
Upstream PR: https://github.com/kubevirt/common-templates/pull/159
Checked with Windows 19 With Console from UI base on VNC. Mouse is focused and you can easily control the windows UI. Verify with: hyperconverged-cluster-operator-container-v2.5.0-42