Sorry, you need to enable JavaScript to visit this website.

Getting Intel HD graphics acceleration to work with the NUC5i7RYH

6 posts / 0 new
Mouthapong's picture
Starter
Mouthapong

Dec 02, 2015 - 06:56pm

  • Starting with a fresh install of Ubuntu Desktop 15.04 on the NUC5i7RYH, I was unable to get the intel graphics installer to work because of the "you don't seem to have a i915 chipset" error. With help from the folks over at #intel-gfx I was able to get things working with an alternate solution. This may work for other types of NUCs, not really sure, but I imagine it should work for anyone else out there with the i7RY.

     

    First off, the installer doesn't seem to work because the installed drivers identify themselves as -bpo (backport?) variants. Not sure why this is, there is at least one other thread about it.

     

    The work around was simply to use a custom PPA: https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers/

     

    Basic installation is super simple:

    sudo add-apt-repository ppa:oibaf/graphics-drivers
    sudo apt-get update
     
    And I believe I may have rebooted after that. After that I was still experincing some screen tearing with Youtube/Netflix/Steam In-Home Streaming, so I enabled TearFree. If you don't already have an /etc/X11/xorg.conf file, create it and give it this content:
     
    Section "Device"
     Identifier "Device0"
     Driver "intel"
     VendorName "INTEL Corporation"
     Option "TearFree" "true"
    EndSection
     
    Otherwise I imagine just modiffying your existing config to ad the TearFree option would be enough.
     
    Finally if you are using the Steam In-Home Streaming, you may have to editing your host machine's streaming settings. When I first set this up, if the host machine had the "Enable Hardware Encoding" option enable, it would crash my NUC, however if you're using the Steam Client Beta, I noticed there is now a option for "Intel Graphics Accelertaion" on the client side and it seems to work just fine, even when the host is using hardware encoding. Hope that helps, thanks again to #intel-gfx
     
    Dec 02, 2015 - 06:56pm
  • Investigation elsewhere indicates that the i915_bpo driver is _already_ an upgrade to the i915 driver -
    but we don't necessarily know which version it is: So installing the i915 driver from 01.org might be
    an upgrade, a downgrade or some mix of the two in that situation. We'll have to think about how to
    handle this (but there may not be a good solution).

    Thanks for posting this workaround though: Hope it's useful to people.

    Dec 04, 2015 - 09:54am
  • If I can help with anything, please let me know. im interested in contributing in some way if i can

    Dec 04, 2015 - 11:30am
  • The full output of modinfo i915_bpo _might_ be helpful.

    Dec 07, 2015 - 04:54pm
  • annon@nuc:~$ sudo !!
    sudo modinfo 1915_bpo
    [sudo] password for annon:
    modinfo: ERROR: Module 1915_bpo not found.
    annon@nuc:~$ sudo modinfo i915_bpo
    filename: /lib/modules/3.19.0-39-generic/kernel/ubuntu/i915/i915_bpo.ko
    license: GPL and additional rights
    description: Intel Graphics
    author: Intel Corporation
    author: Tungsten Graphics, Inc.
    firmware: i915/skl_dmc_ver1.bin
    srcversion: 2A1F60F466A551B3F3D1804
    alias: pci:v00008086d0000192Asv*sd*bc03sc*i*
    alias: pci:v00008086d0000192Bsv*sd*bc03sc*i*
    alias: pci:v00008086d00001926sv*sd*bc03sc*i*
    alias: pci:v00008086d0000191Dsv*sd*bc03sc*i*
    alias: pci:v00008086d0000191Asv*sd*bc03sc*i*
    alias: pci:v00008086d0000191Bsv*sd*bc03sc*i*
    alias: pci:v00008086d00001912sv*sd*bc03sc*i*
    alias: pci:v00008086d0000191Esv*sd*bc03sc*i*
    alias: pci:v00008086d00001921sv*sd*bc03sc*i*
    alias: pci:v00008086d00001916sv*sd*bc03sc*i*
    alias: pci:v00008086d0000190Asv*sd*bc03sc*i*
    alias: pci:v00008086d0000190Bsv*sd*bc03sc*i*
    alias: pci:v00008086d00001902sv*sd*bc03sc*i*
    alias: pci:v00008086d0000190Esv*sd*bc03sc*i*
    alias: pci:v00008086d00001906sv*sd*bc03sc*i*
    alias: pci:v00008086d000022B3sv*sd*bc03sc*i*
    alias: pci:v00008086d000022B2sv*sd*bc03sc*i*
    alias: pci:v00008086d000022B1sv*sd*bc03sc*i*
    alias: pci:v00008086d000022B0sv*sd*bc03sc*i*
    alias: pci:v00008086d0000162Dsv*sd*bc03sc*i*
    alias: pci:v00008086d0000162Asv*sd*bc03sc*i*
    alias: pci:v00008086d0000162Esv*sd*bc03sc*i*
    alias: pci:v00008086d0000162Bsv*sd*bc03sc*i*
    alias: pci:v00008086d00001626sv*sd*bc03sc*i*
    alias: pci:v00008086d00001622sv*sd*bc03sc*i*
    alias: pci:v00008086d0000161Dsv*sd*bc03sc*i*
    alias: pci:v00008086d0000161Asv*sd*bc03sc*i*
    alias: pci:v00008086d0000160Dsv*sd*bc03sc*i*
    alias: pci:v00008086d0000160Asv*sd*bc03sc*i*
    alias: pci:v00008086d0000161Esv*sd*bc03sc*i*
    alias: pci:v00008086d0000161Bsv*sd*bc03sc*i*
    alias: pci:v00008086d00001616sv*sd*bc03sc*i*
    alias: pci:v00008086d00001612sv*sd*bc03sc*i*
    alias: pci:v00008086d0000160Esv*sd*bc03sc*i*
    alias: pci:v00008086d0000160Bsv*sd*bc03sc*i*
    alias: pci:v00008086d00001606sv*sd*bc03sc*i*
    alias: pci:v00008086d00001602sv*sd*bc03sc*i*
    depends: drm_kms_helper,drm,video,intel_ips,i2c-algo-bit
    intree: Y
    vermagic: 3.19.0-39-generic SMP mod_unload modversions
    signer: Magrathea: Glacier signing key
    sig_key: 76:05:91:BF:6A:6C:CC:BB:BC:4D:40:7B:C1:C7:C3:D1:38:CB:86:2D
    sig_hashalgo: sha512
    parm: modeset:Use kernel modesetting [KMS] (0=DRM_I915_KMS from .config, 1=on, -1=force vga console preference [default]) (int)
    parm: panel_ignore_lid:Override lid status (0=autodetect, 1=autodetect disabled [default], -1=force lid closed, -2=force lid open) (int)
    parm: semaphores:Use semaphores for inter-ring sync (default: -1 (use per-chip defaults)) (int)
    parm: enable_rc6:Enable power-saving render C-state 6. Different stages can be selected via bitmask values (0 = disable; 1 = enable rc6; 2 = enable deep rc6; 4 = enable deepest rc6). For example, 3 would enable rc6 and deep rc6, and 7 would enable everything. default: -1 (use per-chip default) (int)
    parm: enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)
    parm: lvds_downclock:Use panel (LVDS/eDP) downclocking for power savings (default: false) (int)
    parm: lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)
    parm: lvds_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int)
    parm: vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int)
    parm: reset:Attempt GPU resets (default: true) (bool)
    parm: enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool)
    parm: enable_ppgtt:Override PPGTT usage. (-1=auto [default], 0=disabled, 1=aliasing, 2=full) (int)
    parm: enable_execlists:Override execlists usage. (-1=auto [default], 0=disabled, 1=enabled) (int)
    parm: enable_psr:Enable PSR (default: false) (int)
    parm: preliminary_hw_support:Enable preliminary hardware support. (int)
    parm: disable_power_well:Disable the power well when possible (default: true) (int)
    parm: enable_ips:Enable IPS (default: true) (int)
    parm: fastboot:Try to skip unnecessary mode sets at boot time (default: false) (bool)
    parm: prefault_disable:Disable page prefaulting for pread/pwrite/reloc (default:false). For developers only. (bool)
    parm: load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool)
    parm: invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to dri-devel@lists.freedesktop.org, if your machine needs it. It will then be included in an upcoming module version. (int)
    parm: disable_display:Disable display (default: false) (bool)
    parm: disable_vtd_wa:Disable all VT-d workarounds (default: false) (bool)
    parm: enable_cmd_parser:Enable command parsing (1=enabled [default], 0=disabled) (int)
    parm: use_mmio_flip:use MMIO flips (-1=never, 0=driver discretion [default], 1=always) (int)
    parm: mmio_debug:Enable the MMIO debug code for the first N failures (default: off). This may negatively affect performance. (int)
    parm: verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool)
    parm: nuclear_pageflip:Force atomic modeset functionality; only planes work for now (default: false). (bool)
    parm: edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int)

    Dec 08, 2015 - 07:07pm
  • What are you looking for in that outpput and how will you use it? Asking for the sake of learning

    Dec 08, 2015 - 07:10pm
  • Looking for some indication that it was a different version of the driver - it has a different list of supported
    PCI IDs than the regular driver (the alias: pci:v00008086d000022B2sv*sd*bc03sc*i* entries).

    I've looked at a couple of the other i915_bpo modules and there doesn't appear to be a consistent
    pattern - some have a small set of PCI IDs like the one in your post, others have the whole set (ie the
    same as the original module plus some new entries).

    I was hoping there would be some information that would let us decide relatively simply whether
    we should replace a bpo module but it doesn't look like it at this point: They appear to be
    updated versions of the i915 module with _some_ but not necessarily all changes from a later
    version and maybe some fixes backported to the existing kernel.

    Dec 15, 2015 - 06:13am