# [solved] Intel Skylake Graphics

## costel78

I need help configuring kernel for 00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 06)

What I already did:

```
-*- Userspace firmware loading support

[*]   Include in-kernel firmware blobs in kernel binary

(i915/skl_guc_ver1_1059.bin i915/skl_dmc_ver1_19.bin) External firmware blobs to build into the kernel binary

(/lib/firmware) Firmware blobs root directory
```

```
ls -als /lib/firmware/i915/

total 136

  4 drwxr-xr-x  2 root root   4096 aug 16 10:41 .

 12 drwxr-xr-x 65 root root  12288 aug 15 14:10 ..

  0 lrwxrwxrwx  1 root root     38 aug 16 10:41 skl_dmc_ver1.bin -> /lib/firmware/i915/skl_dmc_ver1_19.bin

 12 -rw-r--r--  1 root root   8380 aug 16 10:41 skl_dmc_ver1_19.bin

  0 lrwxrwxrwx  1 root root     40 aug 16 10:41 skl_guc_ver1.bin -> /lib/firmware/i915/skl_guc_ver1_1059.bin

108 -rw-r--r--  1 root root 109636 aug 16 10:41 skl_guc_ver1_1059.bin
```

```
<*>   Intel 8xx/9xx/G3x/G4x/HD Graphics

[*]     Enable modesetting on intel by default

[*]     Enable legacy fbdev support for the modesetting intel driver

[*]     Enable preliminary support for prerelease Intel hardware by default
```

Firmware has been downloaded from https://01.org/zh/linuxgraphics/intel-linux-graphics-firmwares

What I got so far: framebuffer console is working whitout any glitch.

I can not start graphics interface, no matter what using startx directly or gdm

Kernel panic is bellow:

```
aug 16 10:08:26 gentoo kernel: ------------[ cut here ]------------

aug 16 10:08:26 gentoo kernel: WARNING: CPU: 1 PID: 1066 at drivers/iommu/intel-iommu.c:3214 intel_unmap+0x146/0x1f0()

aug 16 10:08:26 gentoo kernel: Driver unmaps unmatched page at PFN fd5da000

aug 16 10:08:26 gentoo kernel: Modules linked in: zram x86_pkg_temp_thermal vboxnetadp(O) vboxnetflt(O) vboxdrv(O)

aug 16 10:08:26 gentoo kernel: CPU: 1 PID: 1066 Comm: X Tainted: G           O    4.1.5-gentoo-costel #4

aug 16 10:08:26 gentoo kernel: Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./Z170 Extreme6, BIOS P1.10 07/30/2015

aug 16 10:08:26 gentoo kernel:  0000000000000000 ffffffff81a3b8e4 ffffffff8184bd96 ffff8804516c3c98

aug 16 10:08:26 gentoo kernel:  ffffffff81071cc7 ffff88046379ae40 0000000000000000 00000000fd5da000

aug 16 10:08:26 gentoo kernel:  ffff88046379ae68 0000000000000000 ffffffff81071d45 ffffffff81a55f50

aug 16 10:08:26 gentoo kernel: Call Trace:

aug 16 10:08:26 gentoo kernel:  [<ffffffff8184bd96>] ? dump_stack+0x47/0x67

aug 16 10:08:26 gentoo kernel:  [<ffffffff81071cc7>] ? warn_slowpath_common+0x77/0xb0

aug 16 10:08:26 gentoo kernel:  [<ffffffff81071d45>] ? warn_slowpath_fmt+0x45/0x50

aug 16 10:08:26 gentoo kernel:  [<ffffffff813b7a1b>] ? find_iova+0x6b/0x80

aug 16 10:08:26 gentoo kernel:  [<ffffffff813bf3b0>] ? intel_unmap_sg+0x10/0x10

aug 16 10:08:26 gentoo kernel:  [<ffffffff813bf2f6>] ? intel_unmap+0x146/0x1f0

aug 16 10:08:26 gentoo kernel:  [<ffffffff814025c0>] ? i915_gem_context_free+0xb0/0xb0

aug 16 10:08:26 gentoo kernel:  [<ffffffff814085c5>] ? unmap_and_free_pt+0x45/0x90

aug 16 10:08:26 gentoo kernel:  [<ffffffff8140863c>] ? gen8_free_page_tables+0x2c/0x70

aug 16 10:08:26 gentoo kernel:  [<ffffffff8140875f>] ? gen8_ppgtt_free+0x2f/0x70

aug 16 10:08:26 gentoo kernel:  [<ffffffff8140b303>] ? i915_ppgtt_release+0x63/0xc0

aug 16 10:08:26 gentoo kernel:  [<ffffffff81402595>] ? i915_gem_context_free+0x85/0xb0

aug 16 10:08:26 gentoo kernel:  [<ffffffff814025dc>] ? context_idr_cleanup+0x1c/0x30

aug 16 10:08:26 gentoo kernel:  [<ffffffff812faa99>] ? idr_for_each+0xa9/0x100

aug 16 10:08:26 gentoo kernel:  [<ffffffff81402dcd>] ? i915_gem_context_close+0x1d/0x30

aug 16 10:08:26 gentoo kernel:  [<ffffffff814850c1>] ? i915_driver_preclose+0x21/0x50

aug 16 10:08:26 gentoo kernel:  [<ffffffff813d1a01>] ? drm_release+0x91/0x510

aug 16 10:08:26 gentoo kernel:  [<ffffffff8115b2ff>] ? __fput+0x8f/0x1e0

aug 16 10:08:26 gentoo kernel:  [<ffffffff8108aa1f>] ? task_work_run+0xaf/0xf0

aug 16 10:08:26 gentoo kernel:  [<ffffffff818524c2>] ? int_signal+0x12/0x17

aug 16 10:08:26 gentoo kernel: ---[ end trace ad67e60032afe03d ]---

aug 16 10:08:26 gentoo acpid[484]: 1 client rule loaded

aug 16 10:08:26 gentoo kernel: BUG: Bad page state in process systemd-logind  pfn:45098b

aug 16 10:08:26 gentoo kernel: page:ffffea00114262c0 count:0 mapcount:-16 mapping:          (null) index:0xffff88045098bfc0
```

xorg log:

```
cat /var/log/Xorg.0.log

[    15.799] 

X.Org X Server 1.17.2

Release Date: 2015-06-16

[    15.799] X Protocol Version 11, Revision 0

[    15.799] Build Operating System: Linux 4.1.5-gentoo-costel x86_64 Gentoo

[    15.799] Current Operating System: Linux gentoo 4.1.5-gentoo-costel #4 SMP PREEMPT Sun Aug 16 12:42:52 EEST 2015 x86_64

[    15.799] Kernel command line: root=PARTUUID=EB2D993B-ED7B-4C4F-A205-F9A79E4CB783 ro quiet fastboot init=/usr/lib/systemd/systemd

[    15.799] Build Date: 15 August 2015  06:04:44AM

[    15.799]  

[    15.799] Current version of pixman: 0.33.2

[    15.799]    Before reporting problems, check http://wiki.x.org

   to make sure that you have the latest version.

[    15.799] Markers: (--) probed, (**) from config file, (==) default setting,

   (++) from command line, (!!) notice, (II) informational,

   (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

[    15.799] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Aug 16 10:48:00 2015

[    15.800] (==) Using config directory: "/etc/X11/xorg.conf.d"

[    15.800] (==) Using system config directory "/usr/share/X11/xorg.conf.d"

[    15.800] (==) No Layout section.  Using the first Screen section.

[    15.800] (==) No screen section available. Using defaults.

[    15.800] (**) |-->Screen "Default Screen Section" (0)

[    15.800] (**) |   |-->Monitor "<default monitor>"

[    15.800] (==) No monitor specified for screen "Default Screen Section".

   Using a default monitor configuration.

[    15.800] (==) Automatically adding devices

[    15.800] (==) Automatically enabling devices

[    15.800] (==) Automatically adding GPU devices

[    15.802] (==) FontPath set to:

   /usr/share/fonts/misc/,

   /usr/share/fonts/TTF/,

   /usr/share/fonts/OTF/,

   /usr/share/fonts/Type1/,

   /usr/share/fonts/100dpi/,

   /usr/share/fonts/75dpi/

[    15.802] (==) ModulePath set to "/usr/lib64/xorg/modules"

[    15.802] (II) The server relies on udev to provide the list of input devices.

   If no devices become available, reconfigure udev or disable AutoAddDevices.

[    15.802] (II) Loader magic: 0x60d6c0

[    15.802] (II) Module ABI versions:

[    15.802]    X.Org ANSI C Emulation: 0.4

[    15.802]    X.Org Video Driver: 19.0

[    15.802]    X.Org XInput driver : 21.0

[    15.802]    X.Org Server Extension : 9.0

[    15.803] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_31

[    15.804] (II) xfree86: Adding drm device (/dev/dri/card0)

[    15.805] (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 7 paused 0

[    15.806] (--) PCI:*(0:0:2:0) 8086:1912:1849:1912 rev 6, Mem @ 0xde000000/16777216, 0xc0000000/268435456, I/O @ 0x0000f000/64

[    15.806] (II) LoadModule: "glx"

[    15.806] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so

[    15.813] (II) Module glx: vendor="X.Org Foundation"

[    15.813]    compiled for 1.17.2, module version = 1.0.0

[    15.813]    ABI class: X.Org Server Extension, version 9.0

[    15.813] (==) AIGLX enabled

[    15.813] (==) Matched intel as autoconfigured driver 0

[    15.813] (==) Matched intel as autoconfigured driver 1

[    15.813] (==) Matched modesetting as autoconfigured driver 2

[    15.813] (==) Matched fbdev as autoconfigured driver 3

[    15.813] (==) Matched vesa as autoconfigured driver 4

[    15.813] (==) Assigned the driver to the xf86ConfigLayout

[    15.813] (II) LoadModule: "intel"

[    15.813] (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so

[    15.814] (II) Module intel: vendor="X.Org Foundation"

[    15.814]    compiled for 1.17.2, module version = 2.99.917

[    15.814]    Module class: X.Org Video Driver

[    15.814]    ABI class: X.Org Video Driver, version 19.0

[    15.814] (II) LoadModule: "modesetting"

[    15.814] (II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so

[    15.815] (II) Module modesetting: vendor="X.Org Foundation"

[    15.815]    compiled for 1.17.2, module version = 1.17.2

[    15.815]    Module class: X.Org Video Driver

[    15.815]    ABI class: X.Org Video Driver, version 19.0

[    15.815] (II) LoadModule: "fbdev"

[    15.815] (WW) Warning, couldn't open module fbdev

[    15.815] (II) UnloadModule: "fbdev"

[    15.815] (II) Unloading fbdev

[    15.815] (EE) Failed to load module "fbdev" (module does not exist, 0)

[    15.815] (II) LoadModule: "vesa"

[    15.815] (WW) Warning, couldn't open module vesa

[    15.815] (II) UnloadModule: "vesa"

[    15.815] (II) Unloading vesa

[    15.815] (EE) Failed to load module "vesa" (module does not exist, 0)

[    15.815] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:

   i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,

   915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,

   Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,

   GM45, 4 Series, G45/G43, Q45/Q43, G41, B43

[    15.815] (II) intel: Driver for Intel(R) HD Graphics: 2000-6000

[    15.815] (II) intel: Driver for Intel(R) Iris(TM) Graphics: 5100, 6100

[    15.815] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics: 5200, 6200, P6300

[    15.815] (II) modesetting: Driver for Modesetting Kernel Drivers: kms

[    15.815] (++) using VT number 1

[    15.815] (--) controlling tty is VT number 1, auto-enabling KeepTty

[    15.815] (II) intel(0): Using Kernel Mode Setting driver: i915, version 1.6.0 20150327

[    15.816] (WW) Falling back to old probe method for modesetting

[    15.819] (--) intel(0): gen9 engineering sample

[    15.819] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3, sse4.1, sse4.2, avx, avx2

[    15.819] (II) intel(0): Creating default Display subsection in Screen section

   "Default Screen Section" for depth/fbbpp 24/32

[    15.819] (==) intel(0): Depth 24, (--) framebuffer bpp 32

[    15.819] (==) intel(0): RGB weight 888

[    15.819] (==) intel(0): Default visual is TrueColor

[    15.819] (II) intel(0): Output DP1 has no monitor section

[    15.819] (II) intel(0): Enabled output DP1

[    15.819] (II) intel(0): Output HDMI1 has no monitor section

[    15.819] (II) intel(0): Enabled output HDMI1

[    15.819] (II) intel(0): Output DP2 has no monitor section

[    15.819] (II) intel(0): Enabled output DP2

[    15.819] (II) intel(0): Output HDMI2 has no monitor section

[    15.819] (II) intel(0): Enabled output HDMI2

[    15.819] (II) intel(0): Output DP3 has no monitor section

[    15.819] (II) intel(0): Enabled output DP3

[    15.819] (II) intel(0): Output HDMI3 has no monitor section

[    15.819] (II) intel(0): Enabled output HDMI3

[    15.819] (--) intel(0): Using a maximum size of 256x256 for hardware cursors

[    15.819] (II) intel(0): Output VIRTUAL1 has no monitor section

[    15.819] (II) intel(0): Enabled output VIRTUAL1

[    15.819] (--) intel(0): Output HDMI3 using initial mode 1920x1080 on pipe 0

[    15.819] (==) intel(0): TearFree disabled

[    15.819] (==) intel(0): DPI set to (96, 96)

[    15.819] (II) Loading sub module "dri2"

[    15.819] (II) LoadModule: "dri2"

[    15.819] (II) Module "dri2" already built-in

[    15.819] (II) Loading sub module "present"

[    15.819] (II) LoadModule: "present"

[    15.819] (II) Module "present" already built-in

[    15.819] (II) UnloadModule: "modesetting"

[    15.819] (II) Unloading modesetting

[    15.819] (==) Depth 24 pixmap format is 32 bpp

[    15.820] (II) intel(0): SNA initialized with generic backend

[    15.820] (==) intel(0): Backing store enabled

[    15.820] (==) intel(0): Silken mouse enabled

[    15.820] (II) intel(0): HW Cursor enabled

[    15.820] (II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.

[    15.820] (==) intel(0): DPMS enabled

[    15.820] (==) intel(0): display hotplug detection enabled

[    15.820] (II) intel(0): Textured video not supported on this hardware

[    15.820] (II) intel(0): [DRI2] Setup complete

[    15.820] (II) intel(0): [DRI2]   DRI driver: i965

[    15.820] (II) intel(0): [DRI2]   VDPAU driver: i965

[    15.820] (II) intel(0): direct rendering: DRI2 enabled

[    15.820] (II) intel(0): hardware support for Present enabled

[    15.820] (--) RandR disabled

[    15.843] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer

[    15.843] (II) AIGLX: enabled GLX_ARB_create_context

[    15.843] (II) AIGLX: enabled GLX_ARB_create_context_profile

[    15.843] (II) AIGLX: enabled GLX_EXT_create_context_es2_profile

[    15.843] (II) AIGLX: enabled GLX_INTEL_swap_event

[    15.843] (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control

[    15.843] (II) AIGLX: enabled GLX_EXT_framebuffer_sRGB

[    15.843] (II) AIGLX: enabled GLX_ARB_fbconfig_float

[    15.843] (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects

[    15.843] (II) AIGLX: enabled GLX_ARB_create_context_robustness

[    15.843] (II) AIGLX: Loaded and initialized i965

[    15.843] (II) GLX: Initialized DRI2 GL provider for screen 0

[    15.845] (II) intel(0): switch to mode 1920x1080@60.0 on HDMI3 using pipe 0, position (0, 0), rotation normal, reflection none

[    15.862] (II) intel(0): Setting screen physical size to 508 x 285

[    15.906] (II) config/udev: Adding input device Power Button (/dev/input/event2)

[    15.906] (**) Power Button: Applying InputClass "evdev keyboard catchall"

[    15.906] (II) LoadModule: "evdev"

[    15.906] (II) Loading /usr/lib64/xorg/modules/input/evdev_drv.so

[    15.908] (II) Module evdev: vendor="X.Org Foundation"

[    15.908]    compiled for 1.17.2, module version = 2.9.2

[    15.908]    Module class: X.Org XInput Driver

[    15.908]    ABI class: X.Org XInput driver, version 21.0

[    15.908] (II) systemd-logind: got fd for /dev/input/event2 13:66 fd 15 paused 0

[    15.908] (II) Using input driver 'evdev' for 'Power Button'

[    15.908] (**) Power Button: always reports core events

[    15.908] (**) evdev: Power Button: Device: "/dev/input/event2"

[    15.908] (--) evdev: Power Button: Vendor 0 Product 0x1

[    15.908] (--) evdev: Power Button: Found keys

[    15.908] (II) evdev: Power Button: Configuring as keyboard

[    15.908] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input2/event2"

[    15.908] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)

[    15.908] (**) Option "xkb_rules" "evdev"

[    15.908] (**) Option "xkb_model" "pc104"

[    15.908] (**) Option "xkb_layout" "us"

[    15.943] (EE) Error compiling keymap (server-0)

[    15.943] (EE) XKB: Couldn't compile keymap

[    15.943] (EE) XKB: Failed to load keymap. Loading default keymap instead.
```

Please advise me. Thank you!

----------

## costel78

Thanks to Michael from Phoronix I added i915.preliminary_hw_support=1 to kernel command line.

http://phoronix.com/scan.php?page=news_item&px=Intel-SKL-Prelim-Support

Now, gdm start fine, I can login, but after login screen interface is mostly unusable with mouse.

I mean the portion of the screen under posY of mouse is cleaned, a sort of green color cover everything.

If I move mouse to bootm of the screen, everything is ok, but this mean I can not use the mouse on a graphics interface.

I never user Intel graphics before and I was under impression that Intel have the best graphics driver under Linux.

Well, until skylake   :Very Happy: 

Is this "reder" issue a xorg.conf problem ? I set accel to sna. It can not start with uxa.

Anyone, any hint ?

----------

## costel78

Problem solved. Finally... 

```
cat /proc/cmdline 

root=PARTUUID=EB2D993B-ED7B-4C4F-A205-F9A79E4CB783 init=/usr/lib/systemd/systemd ro quiet fastboot rootfstype=ext4 real_root=/dev/sda6 i915.ips=0
```

And I am using, at least for now, uxa. SNA allow X server to start, but is not usable.

I still have freezes I computer enter to sleep so I disabled all power management in gnome.

For "best open source graphics" it was an... "interesting" experience as first time user of Intel GPU   :Laughing: 

----------

## chessmaster

 *costel78 wrote:*   

> Problem solved. Finally... 
> 
> ```
> cat /proc/cmdline 
> 
> ...

 

What motherboard do you have Z170-AR?

----------

## costel78

AsRock Z170 Extreme 6.

In the meantime all problems got resolved in new kernels. At least for me.

----------

