# [Solved] Intel graphics driver on GigaByte motherboard

## robdd

Hi All,

I'm having problems with the graphics driver on my new GigaByte GA-H110M-S2H motherboard. I first noticed messages in /var/log messages:

```
Feb 13 22:43:30 giga kernel: ------------[ cut here ]------------

Feb 13 22:43:30 giga kernel: WARNING: CPU: 2 PID: 4275 at drivers/gpu/drm/i915/intel_pm.c:3601 skl_update_other_pipe_wm+0x1f1/0x200 [i915]()

Feb 13 22:43:30 giga kernel: WARN_ON(!wm_changed)

Feb 13 22:43:30 giga kernel: Modules linked in: zfs(PO) zunicode(PO) zavl(PO) zcommon(PO) znvpair(PO) spl(O) x86_pkg_temp_thermal coretemp r8169 i915 mii intel_gtt i2c_i801

Feb 13 22:43:30 giga kernel: CPU: 2 PID: 4275 Comm: X Tainted: P        W  O    4.4.26-gentoo #5

Feb 13 22:43:30 giga kernel: Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./H110M-S2H-CF, BIOS F4 03/16/2016

Feb 13 22:43:30 giga kernel:  0000000000000000 ffff8802658a7540 ffffffff813a4bf8 ffff8802658a7588

Feb 13 22:43:30 giga kernel:  ffffffffa00e4388 ffff8802658a7578 ffffffff8104df41 ffff8802682d9000

Feb 13 22:43:30 giga kernel:  ffff8802658a76ac ffff8802658a7618 ffff8802682dd000 0000000000000000

Feb 13 22:43:30 giga kernel: Call Trace:

Feb 13 22:43:30 giga kernel:  [<ffffffff813a4bf8>] dump_stack+0x4d/0x65

Feb 13 22:43:30 giga kernel:  [<ffffffff8104df41>] warn_slowpath_common+0x81/0xc0

Feb 13 22:43:30 giga kernel:  [<ffffffff8104dfc7>] warn_slowpath_fmt+0x47/0x50

Feb 13 22:43:30 giga kernel:  [<ffffffffa00260d1>] skl_update_other_pipe_wm+0x1f1/0x200 [i915]

Feb 13 22:43:30 giga kernel:  [<ffffffffa002632d>] skl_update_wm+0x24d/0x780 [i915]

Feb 13 22:43:30 giga kernel:  [<ffffffffa0027869>] intel_update_watermarks+0x19/0x20 [i915]

Feb 13 22:43:30 giga kernel:  [<ffffffffa008da9b>] haswell_crtc_enable+0x36b/0x870 [i915]

Feb 13 22:43:30 giga kernel:  [<ffffffffa00896b3>] intel_atomic_commit+0x383/0x13b0 [i915]

Feb 13 22:43:30 giga kernel:  [<ffffffff814a829f>] ? drm_atomic_check_only+0x13f/0x5d0

Feb 13 22:43:30 giga kernel:  [<ffffffff814a8092>] ? drm_atomic_add_affected_connectors+0x22/0xf0

Feb 13 22:43:30 giga kernel:  [<ffffffff814a8762>] drm_atomic_commit+0x32/0x50

Feb 13 22:43:30 giga kernel:  [<ffffffff81486d22>] restore_fbdev_mode+0x232/0x260

Feb 13 22:43:30 giga kernel:  [<ffffffff81488e8e>] drm_fb_helper_restore_fbdev_mode_unlocked+0x2e/0x70

Feb 13 22:43:30 giga kernel:  [<ffffffff81488ef8>] drm_fb_helper_set_par+0x28/0x50

Feb 13 22:43:30 giga kernel:  [<ffffffffa009f3f5>] intel_fbdev_set_par+0x15/0x60 [i915]

Feb 13 22:43:30 giga kernel:  [<ffffffff81426b55>] fb_set_var+0x185/0x3e0

Feb 13 22:43:30 giga kernel:  [<ffffffff8180f166>] ? __schedule+0x356/0x9a0

Feb 13 22:43:30 giga kernel:  [<ffffffff8180ff40>] ? bit_wait_timeout+0x70/0x70

Feb 13 22:43:30 giga kernel:  [<ffffffff8180f7e0>] ? schedule+0x30/0x80

Feb 13 22:43:30 giga kernel:  [<ffffffff81423637>] fbcon_blank+0x207/0x2e0

Feb 13 22:43:30 giga kernel:  [<ffffffff813fe575>] do_unblank_screen+0xb5/0x1c0

Feb 13 22:43:30 giga kernel:  [<ffffffff813f61a5>] vt_ioctl+0x1275/0x12f0

Feb 13 22:43:30 giga kernel:  [<ffffffff8105ac71>] ? __set_current_blocked+0x31/0x50

Feb 13 22:43:30 giga kernel:  [<ffffffff813e941f>] tty_ioctl+0x3cf/0xbe0

Feb 13 22:43:30 giga kernel:  [<ffffffff81169af3>] ? dput+0xa3/0x200

Feb 13 22:43:30 giga kernel:  [<ffffffff81171dff>] ? mntput+0x1f/0x30

Feb 13 22:43:30 giga kernel:  [<ffffffff81155bad>] ? __fput+0x16d/0x1e0

Feb 13 22:43:30 giga kernel:  [<ffffffff81166495>] do_vfs_ioctl+0x2b5/0x480

Feb 13 22:43:30 giga kernel:  [<ffffffff810021fe>] ? exit_to_usermode_loop+0x7e/0x90

Feb 13 22:43:30 giga kernel:  [<ffffffff8116669c>] SyS_ioctl+0x3c/0x70

Feb 13 22:43:30 giga kernel:  [<ffffffff81002b02>] ? syscall_return_slowpath+0x92/0x100

Feb 13 22:43:30 giga kernel:  [<ffffffff81812f97>] entry_SYSCALL_64_fastpath+0x12/0x6a

Feb 13 22:43:30 giga kernel: ---[ end trace 80a4e9755f4b5dca ]---
```

I saw the "cut here", so I did cut here, but it doesn't seem to help   :Rolling Eyes: 

I did a bit of Google'ing and found some bug reports - it's apparently linked to the fact that I'm running X on dual monitors. But I didn't find anything telling me how to fix or work around the problem. So if anyone can suggest how to fix this I'd appreciate it. Most of the time there are no visible symptoms when the messages appear, but I had X crash twice on me when I was working with lots of windows set-up. And it was a real pain to have to ssh in to other hosts, open windows, etc, etc.

Not sure what other info. to include - I'll post extra stuff if it will help..

```
giga ~ # lspci

00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)

00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 06)

00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)

00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)

00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)

00:17.0 SATA controller: Intel Corporation Device a102 (rev 31)

00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1)

00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)

00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)

00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)

00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)

00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)

01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

giga ~ # uname -a

Linux giga 4.4.26-gentoo #5 SMP Wed Dec 28 10:55:09 AEDT 2016 x86_64 Intel(R) Core(TM) i3-6100 CPU @ 3.70GHz GenuineIntel GNU/Linux

giga ~ # equery list "xorg*"

 * Searching for xorg* ...

[IP-] [  ] x11-base/xorg-drivers-1.18-r1:0

[IP-] [  ] x11-base/xorg-server-1.18.4:0/1.18.4

[IP-] [  ] x11-base/xorg-x11-7.4-r2:0
```

Any suggestions gratefully received,

Rob.

----------

## Roman_Gruber

does this also happens with latest kernel.org kernel?

my opinion

 *Quote:*   

>  00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 06) 

 

When you have new hardware you should run ~amd64. Not antique software. Assuming you have skylake related hardware.

----------

## robdd

I didn't think my 4.4.26 kernel was that old - but I woke up to the fact that the i915 driver was in the kernel, so I emerge'd kernel 4.9.6-gentoo-r1 and it looks like that's fixed the problem. However, with Linux kernels nothing is ever straightforward   :Rolling Eyes:  - the new kernel version broke ZFS.  So in case anyone else has similar problems ..

First I Google'd around and found that it would be a good idea to have CFLAGS="-march=broadwell -O2 -pipe" in /etc/portage/make.conf for my new motherboard.

Then, after a "make oldconfig" and a reboot I found that my existing version ( 0.6.5.8 ) of ZFS wasn't supported. Also, the kernel config for 4.9 is a bit confusing - the bottom line is you must have these three flags set in .config for ZFS to build:

 *Quote:*   

> CONFIG_CRYPTO_DEFLATE=y
> 
> CONFIG_ZLIB_DEFLATE=y
> 
> CONFIG_ZLIB_INFLATE=y

 

Then I emerge'd the ZFS stuff..

 *Quote:*   

> emerge -a =sys-kernel/spl-0.6.5.9
> 
> emerge -a =sys-fs/zfs-0.6.5.9
> 
> emerge -a =sys-fs/zfs-kmod-0.6.5.9

 

And I'm not exactly sure what zfs-zed does for me (event handling for the ZFS file-system?), but I added it to the default run level anyway.

Rebooted, and I'm back in business with my ZFS filesystems accessible again, and so far no warning messages from the Intel graphics driver.

----------

## Jaglover

Probably the correct -march is skylake, depends on your gcc version, though. Why not to use native? To rebuild all modules use emerge @module-rebuild. With your command to rebuild you polluted your world file, will spell trouble in the future.

----------

## robdd

Without wishing to appear ungrateful, I'd like to point out that hinting darkly about future problems without any supporting explanations, suggestions or links is not particularly helpful. I *do* Google before posting, but I find that my problem is not that I can't find any information. Rather, my problem is too much information, some old and some conflicting. So, to get down to specifics, can anyone help me with:

 *Quote:*   

> 
> 
> Probably the correct -march is skylake, depends on your gcc version, though. Why not to use native?

 

Should I use skylake or broadwell, and what version of gcc do these depend on? And what is "native"?

 *Quote:*   

> 
> 
> With your command to rebuild you polluted your world file, will spell trouble in the future.

 

Not sure what this means?? Does this refer to my emerge'ing specific versions of the ZFS and supporting libraries? This is the only time that I've emerge'd specific versions, and I did it because it seems to me that ZFS is not mainstream and so not fully supported in Gentoo. Is that a fair statement.

As always - any help will be gratefully received   :Very Happy: 

Rob.

----------

## Roman_Gruber

Warning personal opinion below:

march native is since gcc 4.9.x the recommended way. before it was troublesome, afaik amd64 has that stable.

I recommend something like this:

```
ASUS-G75VW roman # grep native /etc/portage/make.conf

CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"

```

 *Quote:*   

> I didn't think my 4.4.26 kernel was that ol

 

No offense, thas antique. I have not looked it up. But i am quite certain I used that 10-15 months ago. Kinda antique. You have the newest hardware, therefore run ~amd64. Especially with "buggy" intel gpus, use the latest available. I have my reason why I will not buy / use any future INTEL gpus on my boxes. I do not use windows anyway. Intel gpu support on linux is kinda ~. Intel support regarding intel gpus on ivybridge cpus is kinda non existant. My bug report is still open for over a year by now!

--

I do not recommend using exotic file systems. Some guys do, Some guys are able to fix it. I learnt it the hard way with reiserfs in suse 6.2 days. No more ever exotic file systems. No more alternative. Xfs has very bad performance in comparission with ext3 on my previous box. Ditched it after a few weeks. EXT4 is probably the most used fs, not sure on statistics, therefore there will be higher chance that there will be more bugs fixed and recognized.

--

Swapping out the underlying block device or bootloader on an ~amd64 box + eudev + openrc is very trivial, i do that regularly.

I do make backups, but for the small files I generate on a daily basis, I need a relyable file system. I am not willing to backup on a daily basis because of exotic file systems. And thats also no guarantee, the file is not already broken on the block device because of a bug!

----------

## robdd

Thanks very much for the reply Roman. A personal opinion from someone who has learned from long and bitter experience is always valuable   :Very Happy: 

I do have gcc 4.9.x

```
gcc version 4.9.4 (Gentoo 4.9.4 p1.0, pie-0.6.4)
```

So I'll change my CFLAGS to what you are using and re-compile my 4.9 kernel. And I understand your point about new hardware. This is the first new motherboard I've bought in three years, and I only bought it because my second "test PC", which was at least six years old, finally died.

You've also made me think again about using ZFS. I'm about to re-purpose an old DELL blade server as an office file server, and I was thinking about using ZFS for that. But with valuable company information at stake I think I'll just stick with mdraid and ext3.

Once again - thanks for the reply, and Best Regards,

Rob.

----------

