Page 1 of 1

Issues with Intel Skylake HD550 graphics card

Posted: 2016/03/26 12:30:41
by Mtag
Hi,

I'm having some issues with an Intel Skylake HD 550 graphics card in my new Acer Aspire V3-372 laptop.

In the beginning installation of CentOS 7 failed: instead of the X desktop I only got a black screen.
However, after putting "set gfxpayload=keep" into the grub.cfg everything works fine (except the graphics card).

The i915 module is loaded during startup but is not functional. Booting with
"i915.preliminary_hw_support=1" in the commandline will start the graphics card. But it is running quite unstable with
frequent messages like "drm/i915: Resetting chip after gpu hang" or "[drm] GPU crash dump ...".
Inserting all the i915 firmware files into the initramfs makes the stability much better.
Failures even under heavy load are quite rare now and occur mostly when running on battery power.
But switching to a console and back to the X desktop still doesn't work. The X desktop is shown for a fraction of a
second and then the computers hangs.

Now I put the latest firmware from https://01.org/linuxgraphics/downloads (Skylake GuC-6.1 and Skylake DMC-1.26)
into the initramfs, too, but I don't know, if they actually get loaded and if something else is missing.

Does anybody know how to find out which firmware gets loaded during startup?
I tried all sorts of debug but I couldn't find it out.

"lshw" doesn't show the firmware of the graphics card:

Code: Select all

             description: VGA compatible controller
             product: Sky Lake Integrated Graphics [8086:1926]
             vendor: Intel Corporation [8086]
             physical id: 2
             bus info: pci@0000:00:02.0
             version: 0a
             width: 64 bits
             clock: 33MHz
             capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
             configuration: driver=i915 latency=0
             resources: irq:123 memory:a0000000-a0ffffff memory:90000000-9fffffff ioport:4000(size=64)
whereas for example for the (working!) wlan-card the firmware is shown:

Code: Select all

             product: QCA6174 802.11ac Wireless Network Adapter [168C:3E]
             configuration: broadcast=yes driver=ath10k_pci driverversion=3.10.0-327.10.1.el7.x86_64 firmware=WLAN.RM.2.0-00180-QCARMSWPZ-1 ip=10.8.8.8 latency=0 link=yes multicast=yes wireless=IEEE 802.11abgn
Thanks in advance for any hints or suggestions!

Re: Issues with Intel Skylake HD550 graphics card

Posted: 2016/03/26 13:42:17
by TrevorH
Google for CentOS 1602 and find the mailing list entry that tells you where to get the rolling release 7.2 1602 iso images. They fix a bug in skylake support.

Re: Issues with Intel Skylake HD550 graphics card

Posted: 2016/03/26 16:40:57
by Mtag
Thanks!
I have downloaded CentOS-7-x86_64-DVD-1602-99.iso and will install it the next days.
However, I don't see any differences to my current installation with 3.10.0-327.10.1.el7.x86_64 right now.
Package linux-firmware-20150904-43.git6ebf5d5.el7.noarch.rpm is the same, too.

Re: Issues with Intel Skylake HD550 graphics card

Posted: 2016/03/30 21:15:22
by Mtag
Unfortunately a fresh installation of CentOS-7-x86_64-DVD-1602-99.iso
(GNOME-Desktop) didn't improve anything with my Intel Skylake HD550 graphics card.
Module i915 is loaded at startup, but it is not functional.
Doing an "rmmod i915" and then
"modprobe -v i915 preliminary_hw_support=1"
will switch screen resolution.
Afterwards "rmmod i915" is not possible anymore, becaus it is in use.

After a normal boot there is only a black screen instead the X-desktop.

However, when I replace in the grub.cfg

Code: Select all

 terminal_output console
by

Code: Select all

   set gfxmode=auto
   load_video
   insmod gfxterm
   terminal_output gfxterm
and replace
linux16 ...
initrd16 ...
by
linux ...
initrd ...
then the X desktop will start in fb-mode at least.

I tried to find out, when and how the i915 firmware gets loaded, but
I couldn't find any indications in the logs.
Is there a way to find out which firmware files get loaded?

Re: Issues with Intel Skylake HD550 graphics card

Posted: 2016/03/31 06:53:26
by giulix63
Try the 4.4 kernel from ELRepo (kernel-ml).

Re: Issues with Intel Skylake HD550 graphics card

Posted: 2016/03/31 07:56:50
by Mtag
I have just downloaded and installed 4.5.0-1.el7.elrepo.x86_64.
The graphics card is working now and it is possible to switch from
X-desktop to console and back without any problems.

Fantastic! Thank you very much! :D :D :D

Now I can see, that firmware would be loaded, even though it fails:

Code: Select all

[    0.931698] [drm] Found 128MB of eLLC
[    0.932006] [drm] Memory usable by graphics device = 4096M
[    0.932009] [drm] Replacing VGA console driver
[    0.934153] Console: switching to colour dummy device 80x25
[    0.941368] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.941370] [drm] Driver supports precise vblank timestamp query.
[    0.941820] [drm:parse_csr_fw [i915]] *ERROR* Unknown stepping info, firmware loading failed
[    0.941841] [drm:csr_load_work_fn [i915]] *ERROR* Failed to load DMC firmware, disabling rpm
[    0.942276] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    0.944383] r8169 0000:02:00.0 enp2s0: renamed from eth0
[    0.954631] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    0.954830] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input6
[    0.954897] [drm] Initialized i915 1.6.0 20151218 for 0000:00:02.0 on minor 0
[    1.041086] fbcon: inteldrmfb (fb0) is primary device
Thanks again for the help!

Re: Issues with Intel Skylake HD550 graphics card

Posted: 2016/04/01 20:44:27
by Mtag
With kernel 4.6.0-rc1+ and the latest drm-intel sources from https://01.org/linuxgraphics
the graphics card with skylake revision 0xa is supported and
the skl_dmc and skl_guc firmware get loaded now:

Code: Select all

[    1.184709] Setting dangerous option enable_guc_submission - tainting kernel
[    1.185811] [drm:intel_detect_pch] Found SunrisePoint LP PCH
[    1.185820] [drm:get_allowed_dc_mask] Allowed DC state mask 03
[    1.185877] [drm:i915_dump_device_info] i915 device info: gen=9, pciid=0x1926 rev=0x0a flags=need_gfx_hws,is_skylake,has_fbc,has_hotplug,has_llc,has_ddi,has_fpga_dbg,

[    1.192552] [drm:intel_csr_ucode_init] Loading i915/skl_dmc_ver1.bin
[    1.193117] [drm] Finished loading i915/skl_dmc_ver1.bin (v1.26)

[    1.208782] [drm:skylake_get_initial_plane_config] pipe A with fb: size=1920x1080@32, offset=0, pitch 7680, size 0x7e9000
[    1.208783] [drm:i915_gem_object_create_stolen_for_preallocated] creating preallocated stolen object: stolen_offset=0, gtt_offset=0, size=7e9000
[    1.208786] [drm:i915_pages_create_for_stolen] offset=0x0, size=8294400
[    1.208788] [drm:intel_alloc_initial_plane_obj] initial plane fb obj ffff880035c00000
[    1.208790] [drm:intel_guc_ucode_init] GuC firmware pending, path i915/skl_guc_ver6.bin
[    1.208791] [drm:guc_fw_fetch] before requesting firmware: GuC fw fetch status PENDING
[    1.208831] [drm:guc_fw_fetch] fetch GuC fw from i915/skl_guc_ver6.bin succeeded, fw ffff880081bfe2e0
[    1.208832] [drm:guc_fw_fetch] firmware version 6.1 OK (minimum 6.1)
[    1.208864] [drm:guc_fw_fetch] GuC fw fetch status SUCCESS, obj ffff880035c00240
[    1.209123] [drm:i915_gem_setup_global_gtt] reserving preallocated space: 0 + 7e9000
[    1.209130] [drm:i915_gem_setup_global_gtt] clearing unused GTT space: [7e9000, fffff000]
[    1.210671] [drm:i915_gem_context_init] LR context support initialized
[    1.210683] [drm:intel_init_pipe_control] render ring pipe control offset: 0x007e9000