Project

General

Profile

Bug #7426

Scrolling doesn't work anymore inside a KVM/Spice virtual machine

Added by alant over 5 years ago. Updated about 5 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Virtualization
Target version:
Start date:
06/21/2014
Due date:
% Done:

100%

Feature Branch:
bugfix/7426-scrolling-in-Spice-VM
Type of work:
Code
Blueprint:
Starter:
No
Affected tool:

Description

In Tails 1.0 used as a KVM/spice guest (also qemu), scrolling using mouse wheel or equivalent works in the guest. It doesn't work in 1.1.

History

#1 Updated by intrigeri over 5 years ago

  • Subject changed from Scrolling doesn't work anymore inside a KVM/spice guest to Scrolling doesn't work anymore inside a KVM/Spice virtual machine
  • Category set to Hardware support
  • Status changed from New to Confirmed

I can reproduce this. Host is current Debian sid.

#2 Updated by sajolida over 5 years ago

  • Description updated (diff)

#3 Updated by intrigeri about 5 years ago

  • Subject changed from Scrolling doesn't work anymore inside a KVM/Spice virtual machine to Scrolling doesn't work anymore inside a KVM/Spice virtual machine with Spicy
  • Priority changed from Normal to Low

Actually, it works just fine in virt-manager (possibly also using Spice to handle input devices, I dunno), and spicy is considered to be deprecated upstream, and working less and less well as the rest of the stack evolves, so downgrading priority.

If anyone is affected by this bug and has good reasons not to use a better client to display the VM, please make it clear here. If that doesn't happen, I think we should close this ticket next time we do Redmine gardening.

#4 Updated by intrigeri about 5 years ago

  • Subject changed from Scrolling doesn't work anymore inside a KVM/Spice virtual machine with Spicy to Scrolling doesn't work anymore inside a KVM/Spice virtual machine
  • Priority changed from Low to Normal

I messed up, and probably noticed that it worked on Tails/Jessie.

#5 Updated by sdsx4 about 5 years ago

This is a bug in xserver-xorg-input-evdev. Newer version needed. https://bugs.freedesktop.org/show_bug.cgi?id=54387 and fixed in 2.9 I think

#6 Updated by sdsx4 about 5 years ago

intrigeri wrote:

If anyone is affected by this bug and has good reasons not to use a better client to display the VM, please make it clear here. If that doesn't happen, I think we should close this ticket next time we do Redmine gardening.

Which client do you suggest though? Wheel Scrolling is not working in virt-manager's own console, and it's not working in spice client, and it's not working in remote-viewer, and it's not working in VNC.

???

#7 Updated by emmapeel about 5 years ago

Other user reports this problem, and says that xserver-xorg-input-evdev on fedora 20 live works well for him. It is 2.9 or 2.8 (he is not sure)

#8 Updated by intrigeri about 5 years ago

Which client do you suggest though?

I reverted the changed made in the comment you're quoting, and wrote "I messed up" => please ignore it.

#9 Updated by intrigeri about 5 years ago

This is a bug in xserver-xorg-input-evdev. Newer version needed.
https://bugs.freedesktop.org/show_bug.cgi?id=54387 and fixed in 2.9 I think

Thanks! This explains why it works on Tails/Jessie.

Are you interesting in investigating it further? e.g.

  • look if there's a bug report on Debian about it; if not, file one
  • check if the commit that fixes it on 2.9 applies easily on top of Debian Wheezy's xserver-xorg-input-evdev

#10 Updated by sdsx4 about 5 years ago

  • look if there's a bug report on Debian about it; if not, file one

They have this https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=714100 and it says it's still present but I think that report is confused/outdated in saying that new version is still affected, because after downloading another debian-based livecd ( http://ftp.spline.de/mirrors/siduction/iso/paintitblack/lxqt/amd64_2014-05-08_17-04/siduction-14.1.0-paintitblack-lxqt-amd64-201405081704.iso ) which contains xserver-xorg-input-evdev version 2.8.2-1+b1 I was able to confirm that scrolling with mousewheel in fact works with that version.

  • check if the commit that fixes it on 2.9 applies easily on top of Debian Wheezy's xserver-xorg-input-evdev

trying to apply patches from https://bugs.freedesktop.org/show_bug.cgi?id=54387#c4 against http://ftp.de.debian.org/debian/pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.7.0.orig.tar.gz fails:

% patch < evdev-1-4-Move-allocation-of-EvdevRec-into-a-helper-function.patch
patching file evdev.c
Hunk #1 succeeded at 2389 (offset -72 lines).

% patch < evdev-2-4-Move-some-stuff-into-the-new-alloc-function.patch
patching file evdev.c
Hunk #1 succeeded at 2392 (offset -72 lines).
Hunk #2 succeeded at 2433 (offset -72 lines).

% patch < evdev-3-4-Split-rel-and-abs-axis-mapping-into-two-separate-arrays.patch
patching file emuWheel.c
Hunk #1 succeeded at 118 (offset 1 line).
patching file evdev.c
Hunk #1 FAILED at 123.
Hunk #2 succeeded at 489 (offset 10 lines).
Hunk #3 succeeded at 711 (offset 10 lines).
Hunk #4 succeeded at 793 (offset 6 lines).
Hunk #5 succeeded at 833 (offset 6 lines).
Hunk #6 succeeded at 1346 with fuzz 2 (offset 16 lines).
Hunk #7 succeeded at 1363 (offset 16 lines).
Hunk #8 succeeded at 1395 (offset 15 lines).
Hunk #9 succeeded at 1407 (offset 15 lines).
Hunk #10 succeeded at 1429 (offset 15 lines).
Hunk #11 succeeded at 1559 (offset 15 lines).
Hunk #12 succeeded at 1567 (offset 15 lines).
Hunk #13 succeeded at 1587 (offset 15 lines).
Hunk #14 succeeded at 1754 (offset 15 lines).
Hunk #15 succeeded at 2403 (offset 72 lines).
Hunk #16 FAILED at 2623.
2 out of 16 hunks FAILED -
saving rejects to file evdev.c.rej
patching file evdev.h
Hunk #1 FAILED at 158.
1 out of 1 hunk FAILED -- saving rejects to file evdev.h.rej

% patch < evdev-4-4-Allow-relative-scroll-valuators-on-absolute-devices-54387.patch
patching file evdev.c
Hunk #1 succeeded at 702 (offset 10 lines).
Hunk #2 succeeded at 1236 (offset 19 lines).
Hunk #3 succeeded at 1245 (offset 19 lines).
Hunk #4 succeeded at 1285 (offset 19 lines).
Hunk #5 FAILED at 1345.
Hunk #6 succeeded at 1384 (offset 16 lines).
Hunk #7 succeeded at 1491 (offset 15 lines).
Hunk #8 succeeded at 1765 (offset 15 lines).
Hunk #9 succeeded at 1783 (offset 15 lines).
1 out of 9 hunks FAILED -- saving rejects to file evdev.c.rej

#11 Updated by intrigeri about 5 years ago

  • Status changed from Confirmed to In Progress
  • Assignee set to intrigeri
  • Feature Branch set to bugfix/7426-scrolling-in-Spice-VM

#12 Updated by intrigeri about 5 years ago

  • Target version set to Tails_1.2.1

#13 Updated by intrigeri about 5 years ago

  • Assignee deleted (intrigeri)
  • % Done changed from 0 to 50
  • QA Check set to Ready for QA
  • Type of work changed from Research to Code

Applied the patch that was used in Fedora 17 against evdev 2.7.0, works for me.

#14 Updated by sdsx4 about 5 years ago

intrigeri wrote:

Applied the patch that was used in Fedora 17 against evdev 2.7.0, works for me.

I have extracted two .patch files from [1] and applied them to source code from [2]. The resulting evdev_drv.so file seems to work fine in tails 1.2-rc1 and most importantly the mousewheel works now in spice/kvm environment.

The build was done in tails 1.2-rc1 environment using debuild.

[1] ftp://fr2.rpmfind.net/linux/fedora-secondary/development/rawhide/source/SRPMS/x/xorg-x11-drv-evdev-2.7.0-2.fc17.src.rpm
[2] http://ftp.de.debian.org/debian/pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.7.0.orig.tar.gz

#15 Updated by anonym about 5 years ago

  • Status changed from In Progress to 11
  • % Done changed from 50 to 100
  • QA Check changed from Ready for QA to Pass

The uploaded .deb:s works for me so I've done an APT-suite level merge into the stable and devel branches.

#16 Updated by sajolida about 5 years ago

  • Category changed from Hardware support to Virtualization

#17 Updated by BitingBird about 5 years ago

  • Status changed from 11 to Resolved

Also available in: Atom PDF