Welcome to Intel DRM/KMS Extreme Graphics!
The xorg-video-intel package is the open-source 2D graphics driver for the X Window System as implemented by X.org. It supports a variety of Intel graphics chipsets including:
Open source kernel driver(s) by Oracle:
Relevant kernel code is located in drm and i915 subfolders.
illumos port of Oracle code is available here:
https://github.com/illumos/gfx-drm
Martin Bochnig, creator of OpenSXCE, initially backported the S12 driver to illumos, available in oi-userland until December 20. 2016.
It was then superseeded by the new gate (#2678) providing improvements to the gfx_private interface and agpgart driver, as well as containing userland libraries used by graphics, like libdrm.
Some graphic adapters like Sandy Bridge GT2 may still benefit from the older drivers' better resilience w.r.t GPU hangs.
Alan Coopersmith pointed to the following documents regarding DRI/KMS:
Additionally, information about driver development:
May causes segmentation fault if enabled. If so, just disable SNA and you can copy attached 20-intel-uxa.conf to /etc/X11/xorg.conf.d/.
For now, UXA mode is set by default.
A hardware bug requires implementing a workaround in the Intel ringbuffer implementation, occasional 1-2 second hangs may occur.
Generation 8 specifics in Intel ringbuffer implementation are not committed yet.
Reference:
Generation | Family | Codename | PCI id | Model | i915 support | xf86-video-intel support |
---|---|---|---|---|---|---|
2nd | I830 | Almador | 0x3577 | I830M, I830MG | ||
I845G | Brookdale | 0x2562 | I845G, I845GL, I845GV | |||
I85X | Montara | 0x3582 | I855GM | |||
0x358e | ||||||
I865G | Springdale | 0x2572 | I865G | |||
3rd | I915G | Grantsdale | 0x2582 | I915G | ||
0x258a | E7221G | |||||
I915GM | Alviso | 0x2592 | I915GM | |||
I945G | Lakeport | 0x2772 | I945G | |||
I945GM | Calistoga | 0x27a2 | I945GM | |||
0x27ae | I945GME | |||||
G33 | Bearlake | 0x29b2 | Q35G | |||
0x29c2 | G33G | |||||
0x29d2 | Q33G | |||||
PINEVIEW | Pineview | 0xa001 | ||||
0xa011 | ||||||
4th | I965G | Lakeport | 0x2972 | I946GZ | ||
Bearlake | 0x2982 | G35G | ||||
Broadwater | 0x2992 | I965Q | ||||
0x29a2 | I965G | |||||
I965GM | Crestline | 0x2a02 | I965GM | |||
0x2a12 | I965GME | |||||
GM45 | Cantiga | 0x2a42 | GM45G | |||
G45 | Eaglelake | 0x2e02 | IGDEG | |||
0x2e12 | Q45G | |||||
0x2e22 | G45G | |||||
0x2e32 | G41G | |||||
0x2e42 | B43G | |||||
0x2e92 | B43G.1 | |||||
5th | IRONLAKE D | Ironlake (Clarkdale) | 0x0042 | |||
IRONLAKE M | Ironlake (Arrandale) | 0x0046 | ||||
6th | SANDY BRIDGE D | Sandy Bridge | 0x0102 | |||
0x0112 | ||||||
0x0122 | ||||||
0x010A | ||||||
SANDY BRIDGE M | 0x0106 | HW bug causes GPU hang. Workaround unimplemented. | ||||
0x0116 | ||||||
0x0126 | ||||||
7th | IVY BRIDGE M | Ivy Bridge | 0x0156 | GT1 mobile | ||
0x0166 | GT2 mobile | |||||
IVY BRIDGE D | 0x0152 | GT1 desktop | ||||
0x0162 | GT2 desktop | |||||
0x015a | GT1 server | |||||
0x016a | GT2 server | |||||
IVY BRIDGE Q | QUANTA_VGA_DEVICE | |||||
HASWELL D | Haswell | 0x0402 | GT1 desktop | |||
0x0412 | GT2 desktop | |||||
0x0422 | GT3 desktop | |||||
0x040a | GT1 server | |||||
0x041a | GT2 server | |||||
0x042a | GT3 server | |||||
0x040B | GT1 reserved | |||||
0x041B | GT2 reserved | |||||
0x042B | GT3 reserved | |||||
0x040E | GT1 reserved | |||||
0x041E | GT2 reserved | |||||
0x042E | GT3 reserved | |||||
0x0C02 | SDV GT1 desktop | |||||
0x0C12 | SDV GT2 desktop | |||||
0x0C22 | SDV GT3 desktop | |||||
0x0C0A | SDV GT1 server | |||||
0x0C1A | SDV GT2 server | |||||
0x0C2A | SDV GT3 server | |||||
0x0C0B | SDV GT1 reserved | |||||
0x0C1B | SDV GT2 reserved | |||||
0x0C2B | SDV GT3 reserved | |||||
0x0C0E | SDV GT1 reserved | |||||
0x0C1E | SDV GT2 reserved | |||||
0x0C2E | SDV GT3 reserved | |||||
0x0A02 | ULT GT1 desktop | |||||
0x0A12 | ULT GT2 desktop | |||||
0x0A22 | ULT GT3 desktop | |||||
0x0A0A | ULT GT1 server | |||||
0x0A1A | ULT GT2 server | |||||
0x0A2A | ULT GT3 server | |||||
0x0A0B | ULT GT1 reserved | |||||
0x0A1B | ULT GT2 reserved | |||||
0x0A2B | ULT GT3 reserved | |||||
0x0D02 | CRW GT1 desktop | |||||
0x0D12 | CRW GT2 desktop | |||||
0x0D22 | CRW GT3 desktop | |||||
0x0D0A | CRW GT1 server | |||||
0x0D1A | CRW GT2 server | |||||
0x0D2A | CRW GT3 server | |||||
0x0D0B | CRW GT1 reserved | |||||
0x0D1B | CRW GT2 reserved | |||||
0x0D2B | CRW GT3 reserved | |||||
0x0D0E | CRW GT1 reserved | |||||
0x0D1E | CRW GT2 reserved | |||||
0x0D2E | CRW GT3 reserved | |||||
HASWELL M | 0x0406 | GT1 mobile | ||||
0x0416 | GT2 mobile | |||||
0x0426 | GT2 mobile | |||||
0x0C06 | SDV GT1 mobile | |||||
0x0C16 | SDV GT2 mobile | |||||
0x0C26 | SDV GT3 mobile | |||||
0x0A06 | ULT GT1 mobile | |||||
0x0A16 | ULT GT2 mobile | |||||
0x0A26 | ULT GT3 mobile | |||||
0x0A0E | ULX GT1 mobile | |||||
0x0A1E | ULX GT2 mobile | |||||
0x0A2E | ULT GT3 reserved | |||||
0x0D06 | CRW GT1 mobile | |||||
0x0D16 | CRW GT2 mobile | |||||
0x0D26 | CRW GT3 mobile | |||||
VALLEY VIEW M | Valley View (Bay Trail) | 0x0f30 | ||||
0x0f31 | ||||||
0x0f32 | ||||||
0x0f33 | ||||||
0x0157 | ||||||
VALLEY VIEW D | 0x0155 | |||||
8th | BROADWELL GT12M | Broadwell | 0x1602 | GT1 ULT | Gen >=8 NOT supported at all. | |
0x1606 | GT1 ULT | |||||
0x160B | GT1 Iris | |||||
0x160E | GT1 ULX | |||||
0x1612 | GT2 Halo | |||||
0x1616 | GT2 ULT | |||||
0x161B | GT2 ULT | |||||
0x161E | GT2 ULX | |||||
BROADWELL GT12D | 0x160A | GT1 Server | ||||
0x160D | GT1 Workstation | |||||
0x161A | GT2 Server | |||||
0x161D | GT2 Workstation | |||||
BROADWELL GT3M | 0x1622 | GT3 ULT | ||||
0x1626 | GT3 ULT | |||||
0x162B | GT3 Iris | |||||
0x162E | GT3 ULX | |||||
BROADWELL GT3D | 0x162A | GT3 Server | ||||
0x162D | GT3 Workstation | |||||
BROADWELL RSVDM | 0x1632 | ULT | ||||
0x1636 | ULT | |||||
0x163B | Iris | |||||
0x163E | ULX | |||||
BROADWELL RSVDD | 0x163A | Server | ||||
0x163D | Workstation | |||||
CHERRY VIEW | Cherry View (Braswell, Cherry Trail) | 0x22b0 | ||||
0x22b1 | ||||||
0x22b2 | ||||||
0x22b3 | ||||||
9th | SKYLAKE GT1 | Skylake | 0x1906 | ULT GT1 | ||
0x190E | ULX GT1 | |||||
0x1902 | DT GT1 | |||||
0x190B | Halo GT1 | |||||
0x190A | SRV GT1 | |||||
SKYLAKE GT2 | 0x1916 | ULT GT2 | ||||
0x1921 | ULT GT2F | |||||
0x191E | ULX GT2 | |||||
0x1912 | DT GT2 | |||||
0x191B | Halo GT2 | |||||
0x191A | SRV GT2 | |||||
0x191D | WKS GT2 | |||||
SKYLAKE GT3 | 0x1923 | ULT GT3 | ||||
0x1926 | ULT GT3 | |||||
0x1927 | ULT GT3 | |||||
0x192B | Halo GT3 | |||||
0x192A | SRV GT3 | |||||
SKYLAKE GT4 | 0x1932 | DT GT4 | ||||
0x193B | Halo GT4 | |||||
0x193D | WKS GT4 | |||||
0x193A | SRV GT4 | |||||
BROXTON | Goldmont (Apollo Lake) | 0x0A84 | ||||
0x1A84 | ||||||
0x1A85 | ||||||
0x5A84 | APL HD Graphics 505 | |||||
0x5A85 | APL HD Graphics 500 | |||||
10th | KABY LAKE GT1 | Kaby Lake | 0x5913 | ULT GT1.5 | ||
0x5915 | ULX GT1.5 | |||||
0x5917 | DT GT1.5 | |||||
0x5906 | ULT GT1 | |||||
0x590E | ULX GT1 | |||||
0x5902 | DT GT1 | |||||
0x5908 | Halo GT1 | |||||
0x590B | Halo GT1 | |||||
0x590A | SRV GT1 | |||||
KABY LAKE GT2 | 0x5916 | ULT GT2 | ||||
0x5921 | ULT GT2F | |||||
0x591E | ULX GT2 | |||||
0x5912 | DT GT2 | |||||
0x591B | Halo GT2 | |||||
0x591A | SRV GT2 | |||||
0x591D | WKS GT2 | |||||
KABY LAKE GT3 | 0x5923 | ULT GT3 | ||||
0x5926 | ULT GT3 | |||||
0x5927 | ULT GT3 | |||||
KABY LAKE GT4 | 0x593B | Halo GT4 |
System | Chipset | Status |
---|---|---|
Custom Test System | Intel Iris Pro Graphics P6300 | Working, Tested at 1920x1080 (Intel Xeon E3-1285V4 w/Supermicro X10SLH-F motherboard) |
Custom Test System | Intel Iris Pro Graphics 580 | Working, Tested at 1920x1080. (Intel Core i7-6785R, BGA1364 socket) |
Dell Latitude D620 | Intel 945GM Graphics | Tested at 1280x800 resolution (crashes, seems problematic in NVIDIA Optimus configurations) |
Dell Precision M2800 | Intel HD Graphics 4600 | Working, Tested at 1920x1080. |
HP 15t Laptop | Intel HD Graphics 520 | Working, Tested at 1920x1080. (Part#: V1Z72AV_1) |
HP ZBook Studio G3 | Intel HD Graphics 530 | crashes, system has both discrete graphics and Intel graphics |
ThinkCentre M91p | Intel HD Graphics 2000 | Working, tested from 1024x768 to 1920x1080, GPU hangs and wrong screen adjustment. |
Thinkpad T430 | Intel HD Graphics 4000 | OI-Hipster MATE 2016.08, glxgears @5600FPS, 2D (UXA)/3D Visual Effects works - Xserver 1.14.7, 1366x768 resolution |
Thinkpad T430 | Intel HD Graphics 4000 | OI-Hipster MATE 2016.10, glxgears @4927FPS, 2D (UXA)/3D Visual Effects works - Xserver 1.18.4, 1366x768 resolution |
Thinkpad X1 Carbon | Intel HD Graphics 520 | OI-Hipster MATE 2016.10, 2D (UXA)/3D Visual Effects works - Xserver 1.18.4, 1920x1080 resolution |
ThinkPad X230 | Intel HD Graphics 4000 | Only basic testing, 1366x768. |
Llinks to debug kernel binaries in this email (mirrored as attachments to this page):
Instructions:
01.) cd /tmp
02.) wget http://opensxce.org/intelkms_working_testbins/Intel_DRMxKMS_S12_to_Illumos_backport__RELEASE/01__GLOBAL/01__BINS/TAR/proto__root_i386.tar.bz2
03.) su -
04.) beadm create MyNewBE
05.) beadm activate MyNewBE
06.) beadm mount MyNewBE /a
07.) cd /a
08.) bzcat /tmp/proto__root_i386.tar.bz2|tar xvf -
09.) This README assumes that the old /kernel/drv/amd64/i915 was already add_drv'ed before,
if not, `add_drv -R /a i915` now
10.) Then make a reconf reboot and you should end up in a Intel-KMS-DRM-GEM Gnome session!
Don't forget to also remove or rename /a/etc/X11/xorg.conf (or replace "vesa" with "intel" in the device section)
11.) mv /dev/dri /dev/dri__OLD
12.) touch /a/reconfigure
13.) bootadm update-archive -R /a -v
14.) reboot -p -- -r