RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1526849 - virtio keyboard and mouse does not work on aarch64 VMs
Summary: virtio keyboard and mouse does not work on aarch64 VMs
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev
Version: 7.4
Hardware: aarch64
OS: Linux
unspecified
high
Target Milestone: pre-dev-freeze
: ---
Assignee: Wei Huang (AMD)
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-12-18 02:06 UTC by vanlos wang
Modified: 2018-09-04 19:32 UTC (History)
23 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-01-25 16:18:57 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description vanlos wang 2017-12-18 02:06:51 UTC
Description of problem:
virtio keyboard and mouse does not work on aarch64 platform.

Version-Release number of selected component (if applicable):
qemu-kvm-ev-2.9.0-16.el7_4.11.1.aarch64
libvirt-daemon-3.9.0-1.el7.aarch64
VirtViewer v2.0-208 on Win7 x64

How reproducible:
Just install libvirt and qemu-kvm-ev, then run a centos 7 aarch64 virtual machine.

Steps to Reproduce:
1. install libvirt and qemu-kvm-ev
2. define the vm by virsh command, include vnc setting for remote access
3. run a centos 7 aarch64 virtual machine by virsh command
4. use remote viewer to connect to the vm, then click the keyboard and move the mouse

Actual results:
virtio keyboard and mouse does not work!!!

Expected results:
virtio keyboard and mouse works well.

Additional info:
The virtio based keyboard and mouse is defined as following:
    <input type='mouse' bus='virtio'>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </input>
    <input type='keyboard' bus='virtio'>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </input>

Comment 1 vanlos wang 2017-12-18 02:08:03 UTC
Host OS is CentOS 7.4 1708 aarch64.

Comment 2 Ryan Barry 2017-12-18 02:15:03 UTC
Are you sure this is a bug for oVirt Node? It doesn't seem like oVirt is used.

I'd probably put this on libvirt, but can you provide more information about your environment?

Comment 3 cshao 2017-12-18 02:58:55 UTC
Agree with Ryan, suggest move to libvirt. And oVirt never tested on aarch64 platform.

Comment 5 Peter Krempa 2017-12-19 13:45:52 UTC
Libvirt merely configures the virtio devices. Moving for furtner investigation to qemu. If any configuration changes are necessary in libvirt, please move it back.

Comment 6 Andrew Jones 2017-12-26 10:29:17 UTC
The currently recommended input configuration for graphical AArch64 guests is a USB keyboard and tablet connected through an XHCI controller. Please see docs/config/mach-virt-graphical.cfg in the QEMU source repository. This is because virtio-input doesn't gain much in terms of performance and because AAVMF doesn't currently have virtio-input drivers.

That said, if virtio-input was being tested with a guest kernel which has the drivers available (CONFIG_VIRTIO_INPUT=[ym]), then I'm not sure why it wasn't working. We'll need to take a look.

Comment 7 Wei Huang (AMD) 2018-01-11 17:40:23 UTC
I can't reproduce this problem. Here are my steps of enabling input devices on the guest VM:

1. Install CentOS 7 using virt-install
# virt-install -n centos-7 --cdrom ./CentOS-7.iso --vcpus=4 --memory 2048 --disk size=20

2. Enable keyboard/mouse for the new guest using the following config:
 <input type='keyboard' bus='virtio'/>
 <input type='mouse' bus='virtio'/>

Note: AAVMF doesn't support virtio, so you won't be able to interact with the keyboard until kernel is loaded. To use keyboard under AAVMF and bootloader, using the following config (and make sure qemu-xhci is enabled):
 <input type='keyboard' bus='usb'/>
 <input type='mouse' bus='usb'/>

3. Connect virt-viewer using the following command:
# virt-viewer --connect qemu+ssh://root@ip-addr/system centos-7

Configuration:
* qemu-kvm-ma-2.10.0-15.el7.aarch64
* libvirt-daemon-3.9.0-7.el7.aarch64
* virt-viewer-4.0-1.fc24.x86_64

Comment 8 Wei Huang (AMD) 2018-01-11 21:57:21 UTC
I re-ran the testing from scratch. The test was still successful. We only need the following three lines in guest XML file:

 <graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>
 <input type='keyboard' bus='virtio'/>
 <input type='mouse' bus='virtio'/>

or 

 <graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>
 <input type='keyboard' bus='usb'/>
 <input type='mouse' bus='usb'/>

Please verify and tell us what you see.

Comment 9 Wei Huang (AMD) 2018-01-25 16:18:57 UTC
I am closing this BZ as I can't reproduce it. If you still see this problem, feel free to re-open it.

Comment 10 Greg Ennis 2018-08-30 02:59:40 UTC
I have been experimenting with KVM, and can not get the numeric keypad to work on the guest account.  Works fine on the host.

Any ideas ?

Greg Ennis


[root@hmlb ~]# virsh sysinfo
<sysinfo type='smbios'>
  <bios>
    <entry name='vendor'>American Megatrends Inc.</entry>
    <entry name='version'>1205</entry>
    <entry name='date'>05/11/2018</entry>
    <entry name='release'>5.12</entry>
  </bios>
  <system>
    <entry name='manufacturer'>System manufacturer</entry>
    <entry name='product'>System Product Name</entry>
    <entry name='version'>System Version</entry>
    <entry name='serial'>System Serial Number</entry>
    <entry name='uuid'>2F3114F5-9CA4-36CE-B1B8-1831BF528C49</entry>
    <entry name='sku'>SKU</entry>
    <entry name='family'>To be filled by O.E.M.</entry>
  </system>
  <baseBoard>
    <entry name='manufacturer'>ASUSTeK COMPUTER INC.</entry>
    <entry name='product'>PRIME H270-PLUS</entry>
    <entry name='version'>Rev X.0x</entry>
    <entry name='serial'>180321888702263</entry>
    <entry name='asset'>Default string</entry>
    <entry name='location'>Default string</entry>
  </baseBoard>
  <processor>
    <entry name='socket_destination'>LGA1151</entry>
    <entry name='type'>Central Processor</entry>
    <entry name='family'>Core i7</entry>
    <entry name='manufacturer'>Intel(R) Corporation</entry>
    <entry name='signature'>Type 0, Family 6, Model 158, Stepping 9</entry>
    <entry name='version'>Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz</entry>
    <entry name='external_clock'>100 MHz</entry>
    <entry name='max_speed'>8300 MHz</entry>
    <entry name='status'>Populated, Enabled</entry>
    <entry name='serial_number'>To Be Filled By O.E.M.</entry>
    <entry name='part_number'>To Be Filled By O.E.M.</entry>
  </processor>
  <memory_device>
    <entry name='size'>16384 MB</entry>
    <entry name='form_factor'>DIMM</entry>
    <entry name='locator'>ChannelA-DIMM1</entry>
    <entry name='bank_locator'>BANK 0</entry>
    <entry name='type'>DDR4</entry>
    <entry name='type_detail'>Synchronous Unbuffered (Unregistered)</entry>
    <entry name='speed'>2400 MHz</entry>
    <entry name='manufacturer'>CRUCIAL</entry>
    <entry name='serial_number'>E09614D3</entry>
    <entry name='part_number'>CT16G4DFD824A.M16FH</entry>
  </memory_device>
  <memory_device>
    <entry name='size'>16384 MB</entry>
    <entry name='form_factor'>DIMM</entry>
    <entry name='locator'>ChannelA-DIMM2</entry>
    <entry name='bank_locator'>BANK 1</entry>
    <entry name='type'>DDR4</entry>
    <entry name='type_detail'>Synchronous Unbuffered (Unregistered)</entry>
    <entry name='speed'>2400 MHz</entry>
    <entry name='manufacturer'>CRUCIAL</entry>
    <entry name='serial_number'>E09614D4</entry>
    <entry name='part_number'>CT16G4DFD824A.M16FH</entry>
  </memory_device>
  <memory_device>
    <entry name='size'>16384 MB</entry>
    <entry name='form_factor'>DIMM</entry>
    <entry name='locator'>ChannelB-DIMM1</entry>
    <entry name='bank_locator'>BANK 2</entry>
    <entry name='type'>DDR4</entry>
    <entry name='type_detail'>Synchronous Unbuffered (Unregistered)</entry>
    <entry name='speed'>2400 MHz</entry>
    <entry name='manufacturer'>CRUCIAL</entry>
    <entry name='serial_number'>E09614D8</entry>
    <entry name='part_number'>CT16G4DFD824A.M16FH</entry>
  </memory_device>
  <memory_device>
    <entry name='size'>16384 MB</entry>
    <entry name='form_factor'>DIMM</entry>
    <entry name='locator'>ChannelB-DIMM2</entry>
    <entry name='bank_locator'>BANK 3</entry>
    <entry name='type'>DDR4</entry>
    <entry name='type_detail'>Synchronous Unbuffered (Unregistered)</entry>
    <entry name='speed'>2400 MHz</entry>
    <entry name='manufacturer'>CRUCIAL</entry>
    <entry name='serial_number'>E09614D6</entry>
    <entry name='part_number'>CT16G4DFD824A.M16FH</entry>
  </memory_device>
</sysinfo>

Comment 11 Wei Huang (AMD) 2018-08-30 14:03:35 UTC
(In reply to Greg Ennis from comment #10)
> I have been experimenting with KVM, and can not get the numeric keypad to
> work on the guest account.  Works fine on the host.
> 
> Any ideas ?
> 
> Greg Ennis
> 
> 
> [root@hmlb ~]# virsh sysinfo
> <sysinfo type='smbios'>
>   <bios>
>     <entry name='vendor'>American Megatrends Inc.</entry>
>     <entry name='version'>1205</entry>
>     <entry name='date'>05/11/2018</entry>
>     <entry name='release'>5.12</entry>
>   </bios>
>   <system>
>     <entry name='manufacturer'>System manufacturer</entry>
>     <entry name='product'>System Product Name</entry>
>     <entry name='version'>System Version</entry>
>     <entry name='serial'>System Serial Number</entry>
>     <entry name='uuid'>2F3114F5-9CA4-36CE-B1B8-1831BF528C49</entry>
>     <entry name='sku'>SKU</entry>
>     <entry name='family'>To be filled by O.E.M.</entry>
>   </system>
>   <baseBoard>
>     <entry name='manufacturer'>ASUSTeK COMPUTER INC.</entry>
>     <entry name='product'>PRIME H270-PLUS</entry>
>     <entry name='version'>Rev X.0x</entry>
>     <entry name='serial'>180321888702263</entry>
>     <entry name='asset'>Default string</entry>
>     <entry name='location'>Default string</entry>
>   </baseBoard>
>   <processor>
>     <entry name='socket_destination'>LGA1151</entry>
>     <entry name='type'>Central Processor</entry>
>     <entry name='family'>Core i7</entry>
>     <entry name='manufacturer'>Intel(R) Corporation</entry>
>     <entry name='signature'>Type 0, Family 6, Model 158, Stepping 9</entry>
>     <entry name='version'>Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz</entry>
>     <entry name='external_clock'>100 MHz</entry>
>     <entry name='max_speed'>8300 MHz</entry>
>     <entry name='status'>Populated, Enabled</entry>
>     <entry name='serial_number'>To Be Filled By O.E.M.</entry>
>     <entry name='part_number'>To Be Filled By O.E.M.</entry>
>   </processor>
>   <memory_device>
>     <entry name='size'>16384 MB</entry>
>     <entry name='form_factor'>DIMM</entry>
>     <entry name='locator'>ChannelA-DIMM1</entry>
>     <entry name='bank_locator'>BANK 0</entry>
>     <entry name='type'>DDR4</entry>
>     <entry name='type_detail'>Synchronous Unbuffered (Unregistered)</entry>
>     <entry name='speed'>2400 MHz</entry>
>     <entry name='manufacturer'>CRUCIAL</entry>
>     <entry name='serial_number'>E09614D3</entry>
>     <entry name='part_number'>CT16G4DFD824A.M16FH</entry>
>   </memory_device>
>   <memory_device>
>     <entry name='size'>16384 MB</entry>
>     <entry name='form_factor'>DIMM</entry>
>     <entry name='locator'>ChannelA-DIMM2</entry>
>     <entry name='bank_locator'>BANK 1</entry>
>     <entry name='type'>DDR4</entry>
>     <entry name='type_detail'>Synchronous Unbuffered (Unregistered)</entry>
>     <entry name='speed'>2400 MHz</entry>
>     <entry name='manufacturer'>CRUCIAL</entry>
>     <entry name='serial_number'>E09614D4</entry>
>     <entry name='part_number'>CT16G4DFD824A.M16FH</entry>
>   </memory_device>
>   <memory_device>
>     <entry name='size'>16384 MB</entry>
>     <entry name='form_factor'>DIMM</entry>
>     <entry name='locator'>ChannelB-DIMM1</entry>
>     <entry name='bank_locator'>BANK 2</entry>
>     <entry name='type'>DDR4</entry>
>     <entry name='type_detail'>Synchronous Unbuffered (Unregistered)</entry>
>     <entry name='speed'>2400 MHz</entry>
>     <entry name='manufacturer'>CRUCIAL</entry>
>     <entry name='serial_number'>E09614D8</entry>
>     <entry name='part_number'>CT16G4DFD824A.M16FH</entry>
>   </memory_device>
>   <memory_device>
>     <entry name='size'>16384 MB</entry>
>     <entry name='form_factor'>DIMM</entry>
>     <entry name='locator'>ChannelB-DIMM2</entry>
>     <entry name='bank_locator'>BANK 3</entry>
>     <entry name='type'>DDR4</entry>
>     <entry name='type_detail'>Synchronous Unbuffered (Unregistered)</entry>
>     <entry name='speed'>2400 MHz</entry>
>     <entry name='manufacturer'>CRUCIAL</entry>
>     <entry name='serial_number'>E09614D6</entry>
>     <entry name='part_number'>CT16G4DFD824A.M16FH</entry>
>   </memory_device>
> </sysinfo>

Hi Greg,

What type of guest interface you tried to input? Serial console or Graphics GUI? sysinfo doesn't help to debug this problem as host keyboard works. You might want to dump guest XML and post it here.

Comment 12 Greg Ennis 2018-08-30 22:19:32 UTC
Wei,

Thank you for your help here are the results 

[root@hmlb ~]# virsh dumpxml centos7.5.HmGp
<domain type='kvm' id='1'>
  <name>centos7.5.HmGp</name>
  <uuid>1c95eb18-1b73-42bc-904e-e04558c14089</uuid>
  <title>HmGp</title>
  <description>This is my medical partition and home computer</description>
  <memory unit='KiB'>32768000</memory>
  <currentMemory unit='KiB'>32768000</currentMemory>
  <vcpu placement='static'>6</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <bootmenu enable='yes'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>Skylake-Client-IBRS</model>
    <vendor>Intel</vendor>
    <feature policy='disable' name='ds'/>
    <feature policy='disable' name='acpi'/>
    <feature policy='require' name='ss'/>
    <feature policy='disable' name='ht'/>
    <feature policy='disable' name='tm'/>
    <feature policy='disable' name='pbe'/>
    <feature policy='disable' name='dtes64'/>
    <feature policy='disable' name='monitor'/>
    <feature policy='disable' name='ds_cpl'/>
    <feature policy='disable' name='vmx'/>
    <feature policy='disable' name='smx'/>
    <feature policy='disable' name='est'/>
    <feature policy='disable' name='tm2'/>
    <feature policy='disable' name='xtpr'/>
    <feature policy='disable' name='pdcm'/>
    <feature policy='disable' name='osxsave'/>
    <feature policy='disable' name='tsc_adjust'/>
    <feature policy='require' name='clflushopt'/>
    <feature policy='require' name='stibp'/>
    <feature policy='require' name='pdpe1gb'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='disable' name='arat'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/vm/centos7.0.hmgp.qcow2'/>
      <backingStore/>
      <target dev='vda' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/u/hmgp-vm-swap.img'/>
      <backingStore/>
      <target dev='vdb' bus='virtio'/>
      <alias name='virtio-disk1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='nec-xhci'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:36:86:c3'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <boot order='3'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-centos7.5.HmGp/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0' state='connected'/>
      <alias name='channel1'/>
      <address type='virtio-serial' controller='0' bus='0' port='2'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='spice' port='5900' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
      <image compression='off'/>
    </graphics>
    <sound model='ich6'>
      <alias name='sound0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir0'/>
      <address type='usb' bus='0' port='2'/>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir1'/>
      <address type='usb' bus='0' port='3'/>
    </redirdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='selinux' relabel='yes'>
    <label>system_u:system_r:svirt_t:s0:c881,c965</label>
    <imagelabel>system_u:object_r:svirt_image_t:s0:c881,c965</imagelabel>
  </seclabel>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+107:+107</label>
    <imagelabel>+107:+107</imagelabel>
  </seclabel>
</domain>

[root@hmlb ~]# virsh dumpxml centos7.5.HmGp
<domain type='kvm' id='1'>
  <name>centos7.5.HmGp</name>
  <uuid>1c95eb18-1b73-42bc-904e-e04558c14089</uuid>
  <title>HmGp</title>
  <description>This is my medical partition and home computer</description>
  <memory unit='KiB'>32768000</memory>
  <currentMemory unit='KiB'>32768000</currentMemory>
  <vcpu placement='static'>6</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <bootmenu enable='yes'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>Skylake-Client-IBRS</model>
    <vendor>Intel</vendor>
    <feature policy='disable' name='ds'/>
    <feature policy='disable' name='acpi'/>
    <feature policy='require' name='ss'/>
    <feature policy='disable' name='ht'/>
    <feature policy='disable' name='tm'/>
    <feature policy='disable' name='pbe'/>
    <feature policy='disable' name='dtes64'/>
    <feature policy='disable' name='monitor'/>
    <feature policy='disable' name='ds_cpl'/>
    <feature policy='disable' name='vmx'/>
    <feature policy='disable' name='smx'/>
    <feature policy='disable' name='est'/>
    <feature policy='disable' name='tm2'/>
    <feature policy='disable' name='xtpr'/>
    <feature policy='disable' name='pdcm'/>
    <feature policy='disable' name='osxsave'/>
    <feature policy='disable' name='tsc_adjust'/>
    <feature policy='require' name='clflushopt'/>
    <feature policy='require' name='stibp'/>
    <feature policy='require' name='pdpe1gb'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='disable' name='arat'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/vm/centos7.0.hmgp.qcow2'/>
      <backingStore/>
      <target dev='vda' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/u/hmgp-vm-swap.img'/>
      <backingStore/>
      <target dev='vdb' bus='virtio'/>
      <alias name='virtio-disk1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='nec-xhci'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:36:86:c3'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <boot order='3'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-centos7.5.HmGp/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0' state='connected'/>
      <alias name='channel1'/>
      <address type='virtio-serial' controller='0' bus='0' port='2'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='spice' port='5900' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
      <image compression='off'/>
    </graphics>
    <sound model='ich6'>
      <alias name='sound0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir0'/>
      <address type='usb' bus='0' port='2'/>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir1'/>
      <address type='usb' bus='0' port='3'/>
    </redirdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='selinux' relabel='yes'>
    <label>system_u:system_r:svirt_t:s0:c881,c965</label>
    <imagelabel>system_u:object_r:svirt_image_t:s0:c881,c965</imagelabel>
  </seclabel>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+107:+107</label>
    <imagelabel>+107:+107</imagelabel>
  </seclabel>
</domain>

[root@hmlb ~]# virsh dumpxml centos7.5.HmGp
<domain type='kvm' id='1'>
  <name>centos7.5.HmGp</name>
  <uuid>1c95eb18-1b73-42bc-904e-e04558c14089</uuid>
  <title>HmGp</title>
  <description>This is my medical partition and home computer</description>
  <memory unit='KiB'>32768000</memory>
  <currentMemory unit='KiB'>32768000</currentMemory>
  <vcpu placement='static'>6</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <bootmenu enable='yes'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>Skylake-Client-IBRS</model>
    <vendor>Intel</vendor>
    <feature policy='disable' name='ds'/>
    <feature policy='disable' name='acpi'/>
    <feature policy='require' name='ss'/>
    <feature policy='disable' name='ht'/>
    <feature policy='disable' name='tm'/>
    <feature policy='disable' name='pbe'/>
    <feature policy='disable' name='dtes64'/>
    <feature policy='disable' name='monitor'/>
    <feature policy='disable' name='ds_cpl'/>
    <feature policy='disable' name='vmx'/>
    <feature policy='disable' name='smx'/>
    <feature policy='disable' name='est'/>
    <feature policy='disable' name='tm2'/>
    <feature policy='disable' name='xtpr'/>
    <feature policy='disable' name='pdcm'/>
    <feature policy='disable' name='osxsave'/>
    <feature policy='disable' name='tsc_adjust'/>
    <feature policy='require' name='clflushopt'/>
    <feature policy='require' name='stibp'/>
    <feature policy='require' name='pdpe1gb'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='disable' name='arat'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/vm/centos7.0.hmgp.qcow2'/>
      <backingStore/>
      <target dev='vda' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/u/hmgp-vm-swap.img'/>
      <backingStore/>
      <target dev='vdb' bus='virtio'/>
      <alias name='virtio-disk1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='nec-xhci'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:36:86:c3'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <boot order='3'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-centos7.5.HmGp/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0' state='connected'/>
      <alias name='channel1'/>
      <address type='virtio-serial' controller='0' bus='0' port='2'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='spice' port='5900' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
      <image compression='off'/>
    </graphics>
    <sound model='ich6'>
      <alias name='sound0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir0'/>
      <address type='usb' bus='0' port='2'/>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir1'/>
      <address type='usb' bus='0' port='3'/>
    </redirdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='selinux' relabel='yes'>
    <label>system_u:system_r:svirt_t:s0:c881,c965</label>
    <imagelabel>system_u:object_r:svirt_image_t:s0:c881,c965</imagelabel>
  </seclabel>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+107:+107</label>
    <imagelabel>+107:+107</imagelabel>
  </seclabel>
</domain>

Comment 13 Greg Ennis 2018-09-01 17:58:09 UTC
I apologize for posting the results of virsh dumpxml centos7.5.HmGp twice.

In trying to answer the other questions you have asked I am not sure specifically of where to get the answers.  I am new to kvm, and am just learning my way through the process.  The machine I have is a lab unit that I am using for the purpose of understanding and to develop the skil sets to use kvm in a production environment.

With reference to trying to answer the interface that I am using to input here are the selections I have set :

Keyboard Type : Generic PS2 Keyboard
I have not figures out a way to change this.  I am using a wireless usb logitech G613 keyboard.

Display Spice : Spice Server
This is set to Type-> Spice Server, Listen Type -> Address, Address-> Localhost only 

Serial Device is Primary Console is pty
There is no apparent way to change this

Channel spice 
Devide type : spicevnc
Target type: virtio
Target name: com.redhat.spice.0

Video QXL is set to be QXL

The above settings were the default settings that became set at the time of the installation.  I have also installed a Windows10 product as a guest and the settings remained the saem on that installation as well.

Your help would surely be appreciated.

Greg Ennis

Comment 14 Greg Ennis 2018-09-01 18:13:56 UTC
I have now also tried using a ps2 wired keyboard, and the symptoms of not being able to use the numeric keypad are the same.

Comment 15 Greg Ennis 2018-09-02 17:53:26 UTC
After doing some more  testing, I am not sure this is a kvm problem after all.
It appears that the numeric keypad does not work on the host machine with gnome3 as the desktop with Centos 7.5 as well as the guest with centos 7.5 and a gnome3 desktop.  

However when I use kde as the desktop on the host machine, I am able to use the numeric keypad not only on the host machine with kde but also on the guest machine even with the use of gnome3 on the guest machine.  

Greg Ennis

Comment 16 Wei Huang (AMD) 2018-09-04 19:32:48 UTC
Based on Comment 15, it seems related to desktop environment. Feel free to re-open it if it still persists across all desktop systems.


Note You need to log in before you can comment on or make changes to this bug.