Disclaimer : what I did concerns 4.15.0 kernel only, on Intel machine (Assus Zenbook pro, x86_64, model: UX410UAR)
Hello, Sorry for coming late, but I had the same issue some days ago (never tested before):something like Guc not loading, while Huc did. Of course I hit this page, and some other without find a complete solution. **But** after one day searching, I finaly make it work (!!) , and I'll try to explain what I did (I do not recommend to do the same, but I'll attach a patch (under MIT license, or whatever you need, just ask). The problems: 1. when you download the kbl_guc_ver9_14.bin blob from Intel site, looks like the downloaded file is an .xml file in fact, but not a binary at all. Maybe the site has an issue ? (sorry, not a website specialist) // Can someone verify btw ? 2. IIRC Intel made kbl_guc_ver9_xy.bin for Kabylake, and I simply tried to make the kbl_guv_ver9_39.bin work. Important: I found kbl_guv_ver9_39.bin blob there : http://archive.ubuntu.com/ubuntu/pool/main/l/linux-firmware/ What I did : - I extracted kbl_guv_ver9_39.bin from linux-firmware_1.178_all.deb, and put it in /lib/firmware/i915 After that, I downloaded the most recent 4.15.0 kernel sources (on my LinuxMint 18.3) : => apt-get source linux-source-4.15.0 provided : Réception de :1 http://ubuntu.mirrors.ovh.net/ftp.ubuntu.com/ubuntu xenial-updates/main linux-hwe 4.15.0-47.50~16.04.1 (dsc) [6 511 B] Réception de :2 http://ubuntu.mirrors.ovh.net/ftp.ubuntu.com/ubuntu xenial-updates/main linux-hwe 4.15.0-47.50~16.04.1 (tar) [158 MB] After I downloaded the sources, I copied initrd.img-4.15.0-34-generic as .config in the kernel tree, and I simply patched the following files (in drivers/gpu/drm/i915 : - intel_guc_fw.c - intel_uc.c Comments : - In the first one, I simply modified the binary version (changing KBL_FW_MINOR from 14 to 39) - In the second one, I followed Robert M. Fosha advice (link : https://patchwork.kernel.org/patch/10877903/), allowing to avoind timeout and retry when trying to load the blob => see the attached patch. For the record, my current /etc/modprobe.d/i915.conf contains : ```` options i915 enable_fbc=1 fastboot=1 enable_guc_loading=1 enable_guc_submission=1 ```` Next step was to build the kernel, the Debian way (using make -j8 deb-pkg), and after installing the debs, I got everything working at the end, including the 9_34 version of kbl_guc blob :-) : ```` me@MyMachine ~ $ dmesg | grep i915 [ 2.018994] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem [ 2.019493] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_01.bin (v1.1) [ 2.031452] [drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0) [ 2.041847] [drm] GuC: Loaded firmware i915/kbl_guc_ver9_39.bin (version 9.39) [ 2.058753] i915 0000:00:02.0: GuC submission enabled (firmware i915/kbl_guc_ver9_39.bin [version 9.39]) [ 2.059299] [drm] Initialized i915 1.6.0 20171023 for 0000:00:02.0 on minor 0 [ 2.519645] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device [ 9.408643] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915]) ```` Conclusion : we can use kbl_guc_ver9_34 with 4.1.5.x kernel. Not sure it is perfect, but "# cat /sys/kernel/debug/dri/0/i915_huc_load_status" returns : ```` HuC firmware: i915/kbl_huc_ver02_00_1810.bin status: fetch SUCCESS, load SUCCESS version: wanted 2.0, found 2.0 header: offset 0, size 128 uCode: offset 128, size 218304 RSA: offset 218432, size 256 HuC status 0x00006080: ```` And "# cat /sys/kernel/debug/dri/0/i915_guc_load_status" returns: ```` GuC firmware: i915/kbl_guc_ver9_39.bin status: fetch SUCCESS, load SUCCESS version: wanted 9.39, found 9.39 header: offset 0, size 128 uCode: offset 128, size 147392 RSA: offset 147520, size 256 GuC status 0x800330ec: Bootrom status = 0x76 uKernel status = 0x30 MIA Core status = 0x3 Scratch registers: 0: 0xf0000000 1: 0x1 2: 0xfede7000 3: 0x5f5e100 4: 0x600 5: 0xcdfd3 6: 0x0 7: 0x8 8: 0x3 9: 0x70240 10: 0x0 11: 0x0 12: 0x0 13: 0x0 14: 0x0 15: 0x0 ```` Last but not least, thanks to Intel people for their work : the HD 620** UHD works very well with mesa 19.1 devel / vulkan 1.1 ! (inxi -G returns Card: Intel UHD Graphics 620) -- qɔᴉɹə L'association EducOOo : http://www.educoo.org (dérivé d'OpenOffice) https://framagit.org/ericb/miniDart (logiciel Handball) https://github.com/ebachard (logiciels variés) ** Patch added: "For testing purpose : this patch can break your machine. If you decice to use it, it is at your own risks." https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1728238/+attachment/5253212/+files/kernel_4.1.5.50_debian+guc_9_39.diff -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1728238 Title: update-initramfs not adding i915 GuC firmware for Kaby Lake, firmware fails to load Status in initramfs-tools: Invalid Status in linux package in Ubuntu: Fix Released Status in linux source package in Bionic: Fix Released Bug description: == SRU Justification == This firmware was optional when the MODULE_FIRMWARE statements were removed in bug 1626740 by Bionic commit dc0f16f9b50. The firmware is now available and in use, so these statements need to be added back. Without these statements, The i915 Kabylake GuC firmware is failing to load on boot, and generating dmesg errors. == Fix == Revert Bionic commit dc0f16f9b5084e6be2b8c79f8c6cd499a3451791. == Regression Potential == Low. Adding a statement back that was removed by a SAUCE patch. == Test Case == A test kernel was built with this patch and tested by the original bug reporter. The bug reporter states the test kernel resolved the bug. == Original Bug Report == The i915 Kabylake GuC firmware is failing to load on boot, and generating dmesg errors. The Kabylake HuC firmware succeeds. All files exist. I've also verified the Kabylake GuC firmware matches the correct file size and md5 listed on 01.org. I then ran update-initramfs verbosely, and see that only /lib/firmware/i915/skl_guc_ver6_1.bin is being added. /lib/firmware/i915/bxt_guc_ver8_7.bin and /lib/firmware/i915/kbl_guc_ver9_14.bin seem to be ignored. I'm running a Dell XPS 13 9360 w/ Kabylake on Ubuntu 17.10 and initramfs-tools 0.125ubuntu12. Perhaps Broxton systems might have the same issue? Output and logs: ----------------- ls -al /lib/firmware/i915/kbl_* -rw-r--r-- 1 root root 8616 Aug 17 11:08 /lib/firmware/i915/kbl_dmc_ver1_01.bin lrwxrwxrwx 1 root root 19 Aug 17 11:08 /lib/firmware/i915/kbl_dmc_ver1.bin -> kbl_dmc_ver1_01.bin -rw-r--r-- 1 root root 142656 Oct 20 21:12 /lib/firmware/i915/kbl_guc_ver9_14.bin -rw-r--r-- 1 root root 218688 Aug 17 11:09 /lib/firmware/i915/kbl_huc_ver02_00_1810.bin sudo cat /sys/kernel/debug/dri/0/i915_guc_load_status GuC firmware status: path: i915/kbl_guc_ver9_14.bin fetch: FAIL load: NONE version wanted: 9.14 version found: 0.0 header: offset is 0; size = 0 uCode: offset is 0; size = 0 RSA: offset is 0; size = 0 GuC status 0x00000001: Bootrom status = 0x0 uKernel status = 0x0 MIA Core status = 0x0 Scratch registers: 0: 0x0 1: 0x0 2: 0x0 3: 0x0 4: 0x0 5: 0x0 6: 0x0 7: 0x0 8: 0x0 9: 0x0 10: 0x0 11: 0x0 12: 0x0 13: 0x0 14: 0x0 15: 0x0 sudo cat /sys/kernel/debug/dri/0/i915_huc_load_status HuC firmware status: path: i915/kbl_huc_ver02_00_1810.bin fetch: SUCCESS load: SUCCESS version wanted: 2.0 version found: 2.0 header: offset is 0; size = 128 uCode: offset is 128; size = 218304 RSA: offset is 218432; size = 256 HuC status 0x00006000: dmesg [ 1.052879] hidraw: raw HID events driver (C) Jiri Kosina [ 1.056426] wmi_bus wmi_bus-PNP0C14:01: WQBC data block query control method not found [ 1.080320] rtsx_pci 0000:3b:00.0: enabling device (0000 -> 0002) [ 1.082308] nvme nvme0: pci function 0000:3c:00.0 [ 1.095073] Setting dangerous option enable_guc_loading - tainting kernel [ 1.095075] Setting dangerous option enable_guc_submission - tainting kernel [ 1.097867] [drm] Memory usable by graphics device = 4078M [ 1.097869] checking generic (90000000 1fb0000) vs hw (90000000 10000000) [ 1.097869] fb: switching to inteldrmfb from EFI VGA [ 1.097899] Console: switching to colour dummy device 80x25 [ 1.098049] [drm] Replacing VGA console driver [ 1.104157] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 1.104157] [drm] Driver supports precise vblank timestamp query. [ 1.112506] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_01.bin (v1.1) [ 1.113055] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem [ 1.284194] usb 1-1: new low-speed USB device number 2 using xhci_hcd [ 1.298572] nvme0n1: p1 p2 [ 1.433241] usb 1-1: New USB device found, idVendor=0d62, idProduct=001c [ 1.433242] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 1.433243] usb 1-1: Product: USB+PS2 Keyboard [ 1.433244] usb 1-1: Manufacturer: Generic [ 1.446460] usbcore: registered new interface driver usbhid [ 1.446461] usbhid: USB HID core driver [ 1.448067] input: Generic USB+PS2 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:0D62:001C.0001/input/input7 [ 1.508451] hid-generic 0003:0D62:001C.0001: input,hidraw0: USB HID v1.10 Keyboard [Generic USB+PS2 Keyboard] on usb-0000:00:14.0-1/input0 [ 1.508541] input: Generic USB+PS2 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.1/0003:0D62:001C.0002/input/input8 [ 1.552213] usb 1-2: new full-speed USB device number 3 using xhci_hcd [ 1.568448] hid-generic 0003:0D62:001C.0002: input,hidraw1: USB HID v1.10 Device [Generic USB+PS2 Keyboard] on usb-0000:00:14.0-1/input1 [ 1.695655] usb 1-2: New USB device found, idVendor=046d, idProduct=c52b [ 1.695656] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 1.695657] usb 1-2: Product: USB Receiver [ 1.695658] usb 1-2: Manufacturer: Logitech [ 1.702641] logitech-djreceiver 0003:046D:C52B.0005: hiddev0,hidraw2: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-2/input2 [ 1.820317] usb 1-3: new full-speed USB device number 4 using xhci_hcd [ 1.835948] input: Logitech M510 as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2/0003:046D:C52B.0005/0003:046D:4051.0006/input/input9 [ 1.836129] logitech-hidpp-device 0003:046D:4051.0006: input,hidraw3: USB HID v1.11 Mouse [Logitech M510] on usb-0000:00:14.0-2:1 [ 1.838085] input: Logitech K750 as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2/0003:046D:C52B.0005/0003:046D:4002.0007/input/input10 [ 1.838283] logitech-hidpp-device 0003:046D:4002.0007: input,hidraw4: USB HID v1.11 Keyboard [Logitech K750] on usb-0000:00:14.0-2:2 [ 1.896270] psmouse serio1: synaptics: queried max coordinates: x [..5666], y [..4734] [ 1.927267] psmouse serio1: synaptics: queried min coordinates: x [1276..], y [1118..] [ 1.927271] psmouse serio1: synaptics: Your touchpad (PNP: DLL075b PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1 and report this to linux-in...@vger.kernel.org. [ 1.938732] i915 0000:00:02.0: Direct firmware load for i915/kbl_guc_ver9_14.bin failed with error -2 [ 1.938733] [drm] Failed to fetch valid uC firmware from i915/kbl_guc_ver9_14.bin (error -2) [ 1.944000] [drm:intel_uc_init_hw [i915]] *ERROR* GuC init failed [ 1.944027] [drm] Falling back from GuC submission to execlist mode [ 1.944027] [drm] GuC firmware loading disabled [ 1.944746] [drm] Initialized i915 1.6.0 20170619 for 0000:00:02.0 on minor 0 [ 1.948280] clocksource: Switched to clocksource tsc [ 1.955378] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no) [ 1.956112] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input11 [ 1.961603] usb 1-3: New USB device found, idVendor=0cf3, idProduct=e301 [ 1.961604] usb 1-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0 sudo update-initramfs -u -v -k all Adding firmware /lib/firmware/nvidia/gp10b/gr/gpccs_data.bin Adding firmware /lib/firmware/nvidia/gp10b/gr/gpccs_inst.bin Adding firmware /lib/firmware/nvidia/gp10b/gr/gpccs_bl.bin Adding firmware /lib/firmware/nvidia/gp10b/gr/fecs_sig.bin Adding firmware /lib/firmware/nvidia/gp10b/gr/fecs_data.bin Adding firmware /lib/firmware/nvidia/gp10b/gr/fecs_inst.bin Adding firmware /lib/firmware/nvidia/gp10b/gr/fecs_bl.bin Adding firmware /lib/firmware/nvidia/gp10b/acr/ucode_load.bin Adding firmware /lib/firmware/nvidia/gp10b/acr/bl.bin Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/vgem/vgem.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/cirrus/cirrus.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/bridge/analogix-anx78xx.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/i915/i915.ko Adding firmware /lib/firmware/i915/bxt_dmc_ver1_07.bin Adding firmware /lib/firmware/i915/skl_dmc_ver1_26.bin Adding firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin Adding firmware /lib/firmware/i915/skl_guc_ver6_1.bin Adding firmware /lib/firmware/i915/kbl_huc_ver02_00_1810.bin Adding firmware /lib/firmware/i915/bxt_huc_ver01_07_1398.bin Adding firmware /lib/firmware/i915/skl_huc_ver01_07_1398.bin Adding module /lib/modules/4.13.0-16-generic/kernel/virt/lib/irqbypass.ko Adding module /lib/modules/4.13.0-16-generic/kernel/arch/x86/kvm/kvm.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/vfio/vfio.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/vfio/vfio_iommu_type1.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/vfio/mdev/mdev.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/vfio/mdev/vfio_mdev.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/i915/gvt/kvmgt.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/i2c/ch7006.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/i2c/sil164.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/i2c/tda998x.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/gma500/gma500_gfx.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/udl/udl.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/hisilicon/hibmc/hibmc-drm.ko Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/radeon/radeon.ko Adding firmware /lib/firmware/radeon/R520_cp.bin Adding firmware /lib/firmware/radeon/RS600_cp.bin Adding firmware /lib/firmware/radeon/RS690_cp.bin Adding firmware /lib/firmware/radeon/R420_cp.bin Adding firmware /lib/firmware/radeon/R300_cp.bin Adding firmware /lib/firmware/radeon/R200_cp.bin Adding firmware /lib/firmware/radeon/R100_cp.bin Adding firmware /lib/firmware/radeon/SUMO2_me.bin Adding firmware /lib/firmware/radeon/SUMO2_pfp.bin Adding firmware /lib/firmware/radeon/SUMO_me.bin To manage notifications about this bug go to: https://bugs.launchpad.net/initramfs-tools/+bug/1728238/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp