Ubuntu – What to fix with the fresh factory Ubuntu 16.04 on a Dell XPS 13 9360 (Q&A)

16.04xps

The Dell factory installed Ubuntu on 16.04 has a few shortcomings that needed to be fixed before it is fully useful. Below are the things I had to fix. Please feel free to add yours as well.

[NB] As suggested by the admins I have set up a thread on Ubuntu Forums https://ubuntuforums.org/showthread.php?t=2357424

Best Answer

  • Here is my list, based on recommendations from the Arch Linux Wiki on the Dell XPS 13 (9360).

    Update linux-firmware in order to get the i915 guc and huc blobs

    Manually install latest linux-firmware (at least released after 20170217).

    1. Go to the Ubuntu linux-firmware package site for zesty.
    2. Click on "linux-firmware 1.xyz in amd64 (Release)", where xyz is the latest version you see on the page. (Assuming you need 64-bit packages)
    3. Under Downloadable files click to download the .deb file.
    4. Double-click the downloaded file to install it.

    Update to the latest kernel to get NVMe power savings

    Manually install kernel 4.11rc1 or later to get an NVMe power savings patch (download the linux-image-generic, linux-headers and linux-headers-generic for the version you choose). This alone should net you an idle power savings of 30%.

    1. Go to the Ubuntu mainline kernel site.
    2. Scroll to the bottom of the page and click the bottom link.
    3. Click to download the amd64 .deb files:
      • linux-headers-*.deb
      • linux-headers-*-generic.deb
      • linux-image-*-generic.deb
    4. Double-click the downloaded files to install them.
    5. Run sudo update-grub.

    Improve graphics performance and power savings

    Requires above two updates first!

    Edit /etc/default/grub and include the following options after GRUB_CMDLINE_LINUX_DEFAULT="quiet splash to improve video driver power savings and performance:

    i915.modeset=1 i915.enable_rc6=1 i915.enable_fbc=1 i915.enable_guc_loading=1 i915.enable_guc_submission=1 i915.enable_huc=1 i915.enable_psr=1 i915.disable_power_well=0 i915.semaphores=1
    

    Run sudo update-grub.

    Note that you should be able to add these into a .conf file for the i915 module, but Ubuntu doesn't seem to look at the file when I create it, which is why I recommend this method instead. Also, not all options are supported at this time (such as enable_huc and sempahores, but may be in the future in later kernels or linux-firmware releases).

    I've tested Borderlands 2 with this and see an improvement of about 5 FPS (on an original 26 FPS). I also see a slight decrease in power usage.

    Ensure you get the best wireless speeds

    Edit /etc/default/crda and set your country code at the end of the REGDOMAIN line.

    eg. REGDOMAIN=US

    Fix palm detection on the touchpad

    Install xserver-xorg-input-libinput.

    Create /usr/share/X11/xorg.conf.d/90-libinput.conf containing:

    Section "InputClass"
            Identifier "libinput touchpad catchall"
            MatchIsTouchpad "on"
            MatchDevicePath "/dev/input/event*"
            Driver "libinput"
            Option "Tapping" "True"
            Option "PalmDetection" "True"
            Option "TappingDragLock" "True"
    EndSection
    

    Fix some screen tearing issues

    Create /usr/share/X11/xorg.conf.d/20-intel.conf containing:

    Section "Device"
            Identifier  "Intel Graphics"
            Driver      "intel"
            Option      "AccelMethod" "sna"
            Option      "TearFree"    "true"
    EndSection