Wacom Local Termination on Ubuntu Cloud Hosts

Cloud-based Ubuntu hosts will fail to properly identify Wacom tablets that have been locally-terminated at the PCoIP client. When this occurs, pressure sensitivity and other advanced features will not work properly.

To work around this issue, remove the default AWS, Microsoft Azure, or Google Cloud kernel and replace it with a generic kernel.

Note: Ubuntu cloud hosts only

This procedure applies only to Ubuntu hosts on AWS, Microsoft Azure, or Google Cloud Platform. All valid RHEL and non-cloud Ubuntu installations work as expected.

To enable local termination:

  1. First, confirm that you need to replace the kernel. Open a console and enter the following command:

    uname -r
    

    If the response contains the word generic (for example, 4.15.0-66-generic) then your kernel is already generic and you can skip this procedure.

    If the response ends in aws, azure, or gcp, note the version number and continue.

  2. Find the available linux-virtual package for your distribution. In a console window, enter the following command:

    apt-cache policy linux-virtual
    

    In the response, note the candidate major version number. For example, if the candidate's number is 4.15.0.66.68, then the major version number is 4.

  3. Compare the major versions of the installed kernel from step 1, and the candidate kernel in step 2:

    • If the major versions for the installed and candidate kernels are the same

      In a console window, enter the following command:

      sudo apt install linux-virtual
      sudo apt install linux-cloud-tools-virtual
      
    • If the major versions for the installed and candidate kernels are not the same

      1. Retrieve the full list of available kernels:

        apt-cache policy linux-virtual*
        

        Look through the output for the generic kernel version matching your installed kernel's major version.

      2. Install the kernel and cloud tools packages for the correct version:

        sudo apt install linux-virtual-<version> 
        sudo apt install linux-cloud-tools-virtual-<version>
        

        ...where <version> is the number reported in the output from apt-cache policy linux-virtual*.

        For example, if you needed to find a kernel with a major version of 5, you would look through the output of apt-cache policy linux-virtual* and find a response similar to this one:

        linux-virtual* response

        The version is hwe-18.04. You will install that package and the corresponding cloud tools package:

        sudo apt install linux-virtual-hwe-18.04
        sudo apt install linux-cloud-tools-virtual-hwe-18.04
        
  4. Purge the cloud-specific ubuntu image:

    • AWS:

      sudo apt purge linux*aws
      
    • Azure:

      sudo apt purge linux*azure
      
    • GCP

      sudo apt purge linux*gcp
      
  5. When you see the Abort kernel removal message, respond with No.

  6. Reboot the machine:

    sudo reboot
    
  7. When the machine comes back up, reconnect and check that the generic kernel is in use:

    uname -r
    

    You should see a response ending in -generic.

  8. Obtain the uhid driver by installing linux-modules-extra for your kernel version:

    sudo apt install linux-modules-extra-$(uname-r)
    
  9. Reboot the machine:

    sudo reboot
    
  10. When the machine comes back up, reconnect and check that the uhid driver is present:

    ls /dev/uhid
    

    You should see a response similar to /dev/uhid.

  11. Install USB driver packages:

    sudo apt install usb-vhci-dkms
    
  12. Reboot the machine:

    sudo reboot
    
  13. When the machine comes back up, reconnect and check that the USB drivers are present:

    lsmod | grep usb
    

    You should see a response similar to this:

    usb_vhci_iocifc        20480  3
    usb_vhci_hcd           20480  1 usb_vhci_iocifc
    

    Note: What if the response is empty?

    If the output is empty, you may need to uninstall and reinstall the vhci package:

    sudo apt remove usb-vhci-dkms
    sudo reboot
    sudo apt install usb-vhci-dkms
    sudo reboot
    
  14. Install the Wacom driver for your tablet.

  15. Reboot the host machine.

  16. If you have not installed the Standard Agent for Linux, install it now.