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

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:


    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"
    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 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, 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