Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Skylake and integrated graphics weirdness
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Martux
Veteran
Veteran


Joined: 04 Feb 2005
Posts: 1917

PostPosted: Tue Mar 15, 2016 5:55 am    Post subject: [SOLVED] Skylake and integrated graphics weirdness Reply with quote

Hi there.
I have zapped through journalctl and stumpled upon a message stating that the integrated graphics is missing firmware files. So I went the route and integrated them into the kernel:
i915/skl_guc_ver4.bin
i915/skl_dmc_ver1.bin
It works, the firmware gets loaded BUT now I have weird screen flickering issues...
Funny thing is, without these firmware files, it just worked flawlessly before.
Now I am irritated, as I read that it is probably a good idea having them for energy management purposes and so. As this is an ultrabook, powersavings quite matter to me.
Can anybody shed light on my issue?
This is the graphics unit:
Code:

00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 07) (prog-if 00 [VGA controller])
        Subsystem: Intel Corporation Skylake Integrated Graphics
        Flags: bus master, fast devsel, latency 0, IRQ 123
        Memory at de000000 (64-bit, non-prefetchable) [size=16M]
        Memory at c0000000 (64-bit, prefetchable) [size=256M]
        I/O ports at f000 [size=64]
        Expansion ROM at <unassigned> [disabled]
        Capabilities: [40] Vendor Specific Information: Len=0c <?>
        Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
        Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [d0] Power Management version 2
        Capabilities: [100] Process Address Space ID (PASID)
        Capabilities: [200] Address Translation Service (ATS)
        Capabilities: [300] Page Request Interface (PRI)
        Kernel driver in use: i915

_________________
"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"


Last edited by Martux on Sat May 21, 2016 4:55 am; edited 1 time in total
Back to top
View user's profile Send private message
albright
Advocate
Advocate


Joined: 16 Nov 2003
Posts: 2588
Location: Near Toronto

PostPosted: Tue Mar 15, 2016 12:14 pm    Post subject: Reply with quote

Quote:

I have zapped through journalctl and stumpled upon a message stating that the integrated graphics is missing firmware files.


sorry I can't help with your problem, but I wonder how to verify if i915 firmware
is loading or not. I do NOT use systemd and nothing shows up (apparently)
in dmesg.

My problem is that in kernel >=4.4 my monitor blanks out randomly - the blanking
lasts about 5 seconds. When it happens it is on some input (Mouse or Keyboard).

This is with broadwell graphics Broadwell-U Integrated Graphics (rev 09)

EDIT: just tried kernel 4.5.0 - the video issues are worse (after going black the backlight
blinks every few seconds, eventually the desktop returns for a brief period before the
woeful cycle starts again. My system is odd: an intel broadwell i7 nuc with a displayport
splitter feeding dual monitors but still ...)
_________________
.... there is nothing - absolutely nothing - half so much worth
doing as simply messing about with Linux ...
(apologies to Kenneth Graeme)
Back to top
View user's profile Send private message
Martux
Veteran
Veteran


Joined: 04 Feb 2005
Posts: 1917

PostPosted: Tue Mar 15, 2016 4:47 pm    Post subject: Reply with quote

Like I said, I saw the system log complaining about missing firmware files (even if fully working). Can't restore now because it logs only 2 days.
After applying the firmware, it didn't complain anymore, that's it.
But every now and then, I get something like this and it doesn't look too good:
Code:

Mär 15 17:30:16 ultrabook kernel: WARNING: CPU: 3 PID: 811 at drivers/gpu/drm/i915/intel_uncore.c:599 hsw_unclaimed_reg_debug+0x64/0x80()
Mär 15 17:31:19 ultrabook kernel: [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO underrun

This is only on the Skylake machine. The similar machin which is like a year old (pre-skylake) doesn't want any firmware... Seems like we all are having lots of fun with the Intel graphics :roll:
What I don't get is if there is any benefit whatsoever in loading that firmware or not.
_________________
"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"
Back to top
View user's profile Send private message
HerbMillerJW
n00b
n00b


Joined: 16 Feb 2012
Posts: 37

PostPosted: Wed Mar 16, 2016 5:19 am    Post subject: Reply with quote

Power management for Linux on Skylake chipsets is in a really sad state right now. Try adding
Code:
intel_pstate=disable
to your kernel boot parameters and see if that makes the oddities go away while the firmware is loaded. This makes kernel fall back to ACPI power management, and it resolved all of my video issues (screenshots were hard-locking my system).
Back to top
View user's profile Send private message
Wallsandfences
Guru
Guru


Joined: 29 Mar 2010
Posts: 378

PostPosted: Wed Mar 16, 2016 10:31 am    Post subject: Reply with quote

It's a pity that intel is either not willing or not capable to deliver a working driver/firmware for skylake. In theory, you should build
Code:
skl_dmc_ver1.bin
skl_guc_ver1.bin
skl_guc_ver4.bin


in to your kernel and it should work. As I understand it, the dmc-part is responsible for proper power-settings inside the chip. Unfortunately, it doesn't work:

Code:
 dmesg | grep drm
[    0.302320] [drm] Initialized drm 1.1.0 20060810
[    0.303082] [drm] Found 128MB of eLLC
[    0.303491] [drm] Memory usable by graphics device = 4096M
[    0.303521] [drm] VT-d active for gfx access
[    0.303548] fb: switching to inteldrmfb from EFI VGA
[    0.303683] [drm] Replacing VGA console driver
[    0.309189] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.309194] [drm] Driver supports precise vblank timestamp query.
[    0.309271] [drm:csr_load_work_fn] *ERROR* Unknown stepping info, firmware loading failed
[    0.309278] [drm:csr_load_work_fn] *ERROR* Failed to load DMC firmware, disabling rpm
[    0.350921] [drm] failed to retrieve link info, disabling eDP
[    0.353476] [drm] RC6 disabled, disabling runtime PM support
[    0.359732] [drm] Initialized i915 1.6.0 20151218 for 0000:00:02.0 on minor 0
[    0.466968] fbcon: inteldrmfb (fb0) is primary device
[    1.150636] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    1.715303] [drm] RC6 off


So I have to include i915.enable_rc6=0 in the kernel boot parameters. Not good for laptops, of course.
The guc-part is working (Initialized i915 etc.), I saw error-messages in dmesg (or journatlctl) when I forgot to compile the firmware in on my first attempts.

This is with kernel-4.5.0-gentoo and intel nuc i5 skylake
Back to top
View user's profile Send private message
Martux
Veteran
Veteran


Joined: 04 Feb 2005
Posts: 1917

PostPosted: Wed Mar 16, 2016 4:58 pm    Post subject: Reply with quote

Thank you for the explanation. That means, all we can do right now, is to wait until kernel development progresses further and at some point things will "just work"? Do I also regularly have to check if the firmware drivers will change and adjust the build in files accordingly?
_________________
"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"
Back to top
View user's profile Send private message
albright
Advocate
Advocate


Joined: 16 Nov 2003
Posts: 2588
Location: Near Toronto

PostPosted: Wed Mar 16, 2016 5:35 pm    Post subject: Reply with quote

while attention is on intel video issues, my logs are
filled with this:

Quote:
[drm:gen8_irq_handler] *ERROR* The master control interrupt lied (SDE)!


whatever does it mean?
_________________
.... there is nothing - absolutely nothing - half so much worth
doing as simply messing about with Linux ...
(apologies to Kenneth Graeme)
Back to top
View user's profile Send private message
Martux
Veteran
Veteran


Joined: 04 Feb 2005
Posts: 1917

PostPosted: Wed Mar 16, 2016 5:44 pm    Post subject: Reply with quote

I don't know if you can make something out of this?
https://www.spinics.net/lists/intel-gfx/msg81325.html
_________________
"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"
Back to top
View user's profile Send private message
Strunzdesign
n00b
n00b


Joined: 12 May 2004
Posts: 67
Location: Nuremberg - Germany

PostPosted: Sat Apr 09, 2016 2:40 pm    Post subject: Reply with quote

Hi,

to fix your firmware loading issue, just edit this file:

/usr/src/linux/drivers/gpu/drm/i915/intel_csr.c (gentoo-sources-4.5.0-r1)

Add the missing stepping infos J and K at line 177:

static const struct stepping_info skl_stepping_info[] = {
{'A', '0'}, {'B', '0'}, {'C', '0'},
{'D', '0'}, {'E', '0'}, {'F', '0'},
{'G', '0'}, {'H', '0'}, {'I', '0'},
{'J', '0'}, {'K', '0'}
};

I don't remember where I found this, but it fixed firmware loading on my i5-6260U-NUC.

Regards,
Florian
Back to top
View user's profile Send private message
Martux
Veteran
Veteran


Joined: 04 Feb 2005
Posts: 1917

PostPosted: Sun Apr 10, 2016 7:21 pm    Post subject: Reply with quote

Florian, thanks for your hint.
The firmware IS actually being loaded:
Code:

Apr 10 18:34:42 ultrabook kernel: [drm] Finished loading i915/skl_dmc_ver1.bin (v1.26)

Changing the source file as you suggested and recompiling the kernel, unfortunately didn't change anything in the screens behaviour. Btw., it's flickering only after system suspend.
_________________
"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"
Back to top
View user's profile Send private message
Wallsandfences
Guru
Guru


Joined: 29 Mar 2010
Posts: 378

PostPosted: Wed Apr 13, 2016 8:26 am    Post subject: Reply with quote

Hi Florian,
if I do htis, I get
Code:
[drm:csr_load_work_fn] *ERROR* Firmware has wrong CSS header length 2106439056 bytes


Rüdiger

Strunzdesign wrote:
Hi,

to fix your firmware loading issue, just edit this file:

/usr/src/linux/drivers/gpu/drm/i915/intel_csr.c (gentoo-sources-4.5.0-r1)

Add the missing stepping infos J and K at line 177:

static const struct stepping_info skl_stepping_info[] = {
{'A', '0'}, {'B', '0'}, {'C', '0'},
{'D', '0'}, {'E', '0'}, {'F', '0'},
{'G', '0'}, {'H', '0'}, {'I', '0'},
{'J', '0'}, {'K', '0'}
};

I don't remember where I found this, but it fixed firmware loading on my i5-6260U-NUC.

Regards,
Florian
Back to top
View user's profile Send private message
Martux
Veteran
Veteran


Joined: 04 Feb 2005
Posts: 1917

PostPosted: Sat May 21, 2016 4:54 am    Post subject: Reply with quote

As skylake support seems to advance, some recent update in ~amd64 fixed this issue. No more flickering after resume for me :-D
Not exactly sure which combination of kernel, linux-firmware and xf86-video intel fixed it, though.
_________________
"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum