Bug #7426

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

Added by alant 2014-06-21 12:17:46 . Updated 2014-12-03 19:42:24 .

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

100%

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

Starter:
0
Affected tool:
Deliverable for:

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.


Subtasks


History

#1 Updated by intrigeri 2014-06-21 12:41:45

  • 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 2014-08-10 20:07:03

  • Description updated

#3 Updated by intrigeri 2014-10-11 01:32:33

  • 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 2014-10-11 13:22:42

  • 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 2014-10-12 05:32:50

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 2014-10-12 05:38:09

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 2014-10-12 07:10:28

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 2014-10-12 11:24:30

> 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 2014-10-12 11:26:53

> 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 2014-10-12 13:01:49

> * 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 2014-10-13 03:44:11

  • 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 2014-10-13 03:44:32

  • Target version set to Tails_1.2.1

#13 Updated by intrigeri 2014-10-13 04:16:30

  • 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 2014-10-14 11:13:11

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 2014-10-20 12:30:32

  • Status changed from In Progress to Fix committed
  • % 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 2014-11-16 11:12:18

  • Category changed from Hardware support to Virtualization

#17 Updated by BitingBird 2014-12-03 19:42:24

  • Status changed from Fix committed to Resolved