1intel(4) Kernel Interfaces Manual intel(4)
2
3
4
6 intel - Intel integrated graphics chipsets
7
9 Section "Device"
10 Identifier "devname"
11 Driver "intel"
12 ...
13 EndSection
14
16 intel is an Xorg driver for Intel integrated graphics chipsets. The
17 driver supports depths 8, 15, 16 and 24. All visual types are sup‐
18 ported in depth 8. For the i810/i815 other depths support the True‐
19 Color and DirectColor visuals. For the i830M and later, only the True‐
20 Color visual is supported for depths greater than 8. The driver sup‐
21 ports hardware accelerated 3D via the Direct Rendering Infrastructure
22 (DRI), but only in depth 16 for the i810/i815 and depths 16 and 24 for
23 the 830M and later.
24
26 intel supports the i810, i810-DC100, i810e, i815, i830M, 845G, 852GM,
27 855GM, 865G, 915G, 915GM, 945G, 945GM, 965G, 965Q, 946GZ, 965GM,
28 945GME, G33, Q33, Q35, G35, GM45, G45, Q45, G43, G41 chipsets,
29 Pineview-M in Atom N400 series, Pineview-D in Atom D400/D500 series,
30 Intel(R) HD Graphics: 2000-6000, Intel(R) Iris(TM) Graphics: 5100/6100,
31 and Intel(R) Iris(TM) Pro Graphics: 5200/6200/P6300.
32
33
35 Please refer to xorg.conf(5) for general configuration details. This
36 section only covers configuration details specific to this driver.
37
38 The Intel 8xx and 9xx families of integrated graphics chipsets have a
39 unified memory architecture meaning that system memory is used as video
40 RAM. For the i810 and i815 family of chipsets, operating system sup‐
41 port for allocating system memory is required in order to use this
42 driver. For the 830M and later, this is required in order for the
43 driver to use more video RAM than has been pre-allocated at boot time
44 by the BIOS. This is usually achieved with an "agpgart" or "agp" ker‐
45 nel driver. Linux, FreeBSD, OpenBSD, NetBSD, and Solaris have such
46 kernel drivers available.
47
48 By default, the i810/i815 will use 8 MB of system memory for graphics
49 if AGP allocable memory is < 128 MB, 16 MB if < 192 MB or 24 MB if
50 higher. Use the VideoRam option to change the default value.
51
52 For the 830M and later, the driver will automatically size its memory
53 allocation according to the features it will support. Therefore, the
54 VideoRam option, which in the past had been necessary to allow more
55 than some small amount of memory to be allocated, is now ignored.
56
57 The following driver Options are supported
58
59 Option "ColorKey" "integer"
60 This sets the default pixel value for the YUV video overlay key.
61
62 Default: undefined.
63
64 Option "DRI" "string"
65 Disable or enable DRI support. A driver name to use can be pro‐
66 vided instead of simple boolean value, which will be passed to
67 the GL implementation for it to load the appropriate backend.
68 Alternatively the maximum level of DRI to enable (e.g. "1", "2"
69 or "3") can be specified.
70
71 Default: All levels of DRI are enabled for configurations where
72 it is supported.
73
74
75 The following driver Options are supported for the i810 and i815
76 chipsets:
77
78 Option "CacheLines" "integer"
79 This allows the user to change the amount of graphics memory
80 used for 2D acceleration and video when XAA acceleration is
81 enabled. Decreasing this amount leaves more for 3D textures.
82 Increasing it can improve 2D performance at the expense of 3D
83 performance.
84
85 Default: depends on the resolution, depth, and available video
86 memory. The driver attempts to allocate space for at 3 screen‐
87 fuls of pixmaps plus an HD-sized XV video. The default used for
88 a specific configuration can be found by examining the Xorg log
89 file.
90
91 Option "DDC" "boolean"
92 Disable or enable DDC support.
93
94 Default: enabled.
95
96 Option "Dac6Bit" "boolean"
97 Enable or disable 6-bits per RGB for 8-bit modes.
98
99 Default: 8-bits per RGB for 8-bit modes.
100
101 Option "XvMCSurfaces" "integer"
102 This option enables XvMC. The integer parameter specifies the
103 number of surfaces to use. Valid values are 6 and 7.
104
105 Default: XvMC is disabled.
106
107 VideoRam integer
108 This option specifies the amount of system memory to use for
109 graphics, in KB.
110
111 The default is 8192 if AGP allocable memory is < 128 MB, 16384
112 if < 192 MB, 24576 if higher. DRI require at least a value of
113 16384. Higher values may give better 3D performance, at expense
114 of available system memory.
115
116 Option "NoAccel" "boolean"
117 Disable or enable acceleration.
118
119 Default: acceleration is enabled.
120
121
122 The following driver Options are supported for the 830M and later
123 chipsets:
124
125 Option "NoAccel" "boolean"
126 Disable or enable acceleration.
127
128 Default: acceleration is enabled.
129
130 Option "Present" "boolean"
131 Enable use of hardware counters and flow control for the Present
132 extension.
133
134 Default: Enabled
135
136 Option "AccelMethod" "string"
137 Select acceleration method. There are a couple of backends
138 available for accelerating the DDX. "UXA" (Unified Acceleration
139 Architecture) is the mature backend that was introduced to sup‐
140 port the GEM driver model. It is in the process of being super‐
141 seded by "SNA" (Sandybridge's New Acceleration). Until that
142 process is complete, the ability to choose which backend to use
143 remains for backwards compatibility. In addition, there are a
144 pair of sub-options to limit the acceleration for debugging use.
145 Specify "off" or "none" to disable all acceleration, or "blt" to
146 disable render acceleration and only use the BLT engine.
147
148 Default: use SNA (render acceleration)
149
150 Option "TearFree" "boolean"
151 Disable or enable TearFree updates. This option forces X to per‐
152 form all rendering to a backbuffer prior to updating the actual
153 display. It requires an extra memory allocation the same size as
154 a framebuffer, the occasional extra copy, and requires Damage
155 tracking. Thus enabling TearFree requires more memory and is
156 slower (reduced throughput) and introduces a small amount of
157 output latency, but it should not impact input latency. However,
158 the update to the screen is then performed synchronously with
159 the vertical refresh of the display so that the entire update is
160 completed before the display starts its refresh. That is only
161 one frame is ever visible, preventing an unsightly tear between
162 two visible and differing frames. Note that this replicates what
163 the compositing manager should be doing, however TearFree will
164 redirect the compositor updates (and those of fullscreen games)
165 directly on to the scanout thus incurring no additional overhead
166 in the composited case. Also note that not all compositing man‐
167 agers prevent tearing, and if the outputs are rotated, there
168 will still be tearing without TearFree enabled.
169
170 Default: TearFree is disabled.
171
172 Option "ReprobeOutputs" "boolean"
173 Disable or enable rediscovery of connected displays during
174 server startup. As the kernel driver loads it scans for con‐
175 nected displays and configures a console spanning those outputs.
176 When the X server starts, we then take the list of connected
177 displays and framebuffer layout and use that for the initial
178 configuration. Sometimes, not all displays are correctly
179 detected by the kernel and so it is useful in a few circum‐
180 stances for X to force the kernel to reprobe all displays when
181 it starts. To make the X server recheck the status of connected
182 displays, set the "ReprobeOutputs" option to true. Please do
183 file a bug for any circumstances which require this workaround.
184
185 Default: reprobing is disabled for a faster startup.
186
187 Option "VideoKey" "integer"
188 This is the same as the "ColorKey" option described above. It
189 is provided for compatibility with most other drivers.
190
191 Option "XvPreferOverlay" "boolean"
192 Make hardware overlay be the first XV adaptor. The overlay
193 behaves incorrectly in the presence of compositing, but some
194 prefer it due to it syncing to vblank in the absence of com‐
195 positing. While most XV-using applications have options to
196 select which XV adaptor to use, this option can be used to place
197 the overlay first for applications which don't have options for
198 selecting adaptors.
199
200 Default: Textured video adaptor is preferred.
201
202 Option "Backlight" "string"
203 Override the probed backlight control interface. Sometimes the
204 automatically selected backlight interface may not correspond to
205 the correct, or simply most useful, interface available on the
206 system. This allows you to override that choice by specifying
207 the entry under /sys/class/backlight to use.
208
209 Default: Automatic selection.
210
211 Option "CustomEDID" "string"
212 Override the probed EDID on particular outputs. Sometimes the
213 manufacturer supplied EDID is corrupt or lacking a few usable
214 modes and supplying a corrected EDID may be easier than specify‐
215 ing every modeline. This option allows to pass the path to load
216 an EDID from per output. The format is a comma separated string
217 of output:path pairs, e.g.
218 DP1:/path/to/dp1.edid,DP2:/path/to/dp2.edid
219
220 Default: No override, use manufacturer supplied EDIDs.
221
222 Option "FallbackDebug" "boolean"
223 Enable printing of debugging information on acceleration fall‐
224 backs to the server log.
225
226 Default: Disabled
227
228 Option "DebugFlushBatches" "boolean"
229 Flush the batch buffer after every single operation.
230
231 Default: Disabled
232
233 Option "DebugFlushCaches" "boolean"
234 Include an MI_FLUSH at the end of every batch buffer to force
235 data to be flushed out of cache and into memory before the com‐
236 pletion of the batch.
237
238 Default: Disabled
239
240 Option "DebugWait" "boolean"
241 Wait for the completion of every batch buffer before continuing,
242 i.e. perform synchronous rendering.
243
244 Default: Disabled
245
246 Option "HWRotation" "boolean"
247 Override the use of native hardware rotation and force the use
248 of software, but GPU accelerated where possible, rotation. On
249 some platforms the hardware can scanout directly into a rotated
250 output bypassing the intermediate rendering and extra alloca‐
251 tions required for software implemented rotation (i.e. native
252 rotation uses less resources, is quicker and uses less power).
253 This allows you to disable the native rotation in case of
254 errors.
255
256 Default: Enabled (use hardware rotation)
257
258 Option "VSync" "boolean"
259 This option controls the use of commands to synchronise render‐
260 ing with the vertical refresh of the display. Some rendering
261 commands have the option to be performed in a "tear-free" fash‐
262 ion by stalling the GPU to wait for the display to be outside of
263 the region to be updated. This slows down all rendering, and
264 historically has been the source of many GPU hangs.
265
266 Default: enabled.
267
268 Option "PageFlip" "boolean"
269 This option controls the use of commands to flip the scanout
270 address on a VBlank. This is used by glXSwapBuffers to effi‐
271 ciently perform the back-to-front exchange at the end of a frame
272 without incurring the penalty of a copy, or stalling the render
273 pipeline (the flip is performed asynchronrously to the render
274 command stream by the display engine). However, it has histori‐
275 cally been the source of many GPU hangs.
276
277 Default: enabled.
278
279 Option "SwapbuffersWait" "boolean"
280 This option controls the behavior of glXSwapBuffers and glXCopy‐
281 SubBufferMESA calls by GL applications. If enabled, the calls
282 will avoid tearing by making sure the display scanline is out‐
283 side of the area to be copied before the copy occurs. If dis‐
284 abled, no scanline synchronization is performed, meaning tearing
285 will likely occur.
286
287 Default: enabled.
288
289 Option "TripleBuffer" "boolean"
290 This option enables the use of a third buffer for page-flipping.
291 The third buffer allows applications to run at vrefresh rates
292 even if they occasionally fail to swapbuffers on time. The
293 effect of such missed swaps is the output jitters between 60fps
294 and 30fps, and in the worst case appears frame-locked to 30fps.
295 The disadvantage of triple buffering is that there is an extra
296 frame of latency, due to the pre-rendered frame sitting in the
297 swap queue, between input and any display update.
298
299 Default: enabled.
300
301 Option "Tiling" "boolean"
302 This option controls whether memory buffers for Pixmaps are
303 allocated in tiled mode. In most cases (especially for complex
304 rendering), tiling dramatically improves performance.
305
306 Default: enabled.
307
308 Option "LinearFramebuffer" "boolean"
309 This option controls whether the memory for the scanout (also
310 known as the front or frame buffer) is allocated in linear mem‐
311 ory. A tiled framebuffer is required for power conservation fea‐
312 tures, but for certain system configurations you may wish to
313 override this and force a linear layout.
314
315 Default: disabled
316
317 Option "RelaxedFencing" "boolean"
318 This option controls whether we attempt to allocate the minimal
319 amount of memory required for the buffers. The reduction in
320 working set has a substantial improvement on system performance.
321 However, this has been demonstrate to be buggy on older hardware
322 (845-865 and 915-945, but ok on PineView and later) so on those
323 chipsets defaults to off.
324
325 Default: Enabled for G33 (includes PineView), and later, class
326 machines.
327
328 Option "XvMC" "boolean"
329 Enable XvMC driver. Current support MPEG2 MC on 915/945 and G33
330 series. User should provide absolute path to libIntelXvMC.so in
331 XvMCConfig file.
332
333 Default: Disabled.
334
335 Option "Throttle" "boolean"
336 This option controls whether the driver periodically waits for
337 pending drawing operations to complete. Throttling ensures that
338 the GPU does not lag too far behind the CPU and thus noticeable
339 delays in user responsible at the cost of throughput perfor‐
340 mance.
341
342 Default: enabled.
343
344 Option "HotPlug" "boolean"
345 This option controls whether the driver automatically notifies
346 applications when monitors are connected or disconnected.
347
348 Default: enabled.
349
350 Option "Virtualheads" "integer"
351 This option controls specifies the number of fake outputs to
352 create in addition to the normal outputs detected on your hard‐
353 ware. These outputs cannot be assigned to the regular displays
354 attached to the GPU, but do otherwise act as any other xrandr
355 output and share a portion of the regular framebuffer. One use
356 case for these extra heads is for extending your desktop onto a
357 discrete GPU using the Bumblebee project. However, the recommen‐
358 dation here is to use PRIME instead to create a single Xserver
359 that can addresses and coordinate between multiple GPUs.
360
361 Default: 0
362
363 Option "ZaphodHeads" "string"
364
365 Specify the randr output(s) to use with zaphod mode for a par‐
366 ticular driver instance. If you set this option you must use it
367 with all instances of the driver. By default, each head is
368 assigned only one CRTC (which limits using multiple outputs with
369 that head to cloned mode). CRTC can be manually assigned to
370 individual heads by preceding the output names with a comma
371 delimited list of pipe numbers followed by a colon. Note that
372 different pipes may be limited in their functionality and some
373 outputs may only work with different pipes.
374 For example:
375
376 Option "ZaphodHeads" "LVDS1,VGA1"
377
378 will assign xrandr outputs LVDS1 and VGA1 to this instance of
379 the driver.
380
381 Option "ZaphodHeads" "0,2:HDMI1,DP2"
382
383 will assign xrandr outputs HDMI1 and DP2 and CRTCs 0 and 2 to
384 this instance of the driver.
385
386
388 On 830M and better chipsets, the driver supports runtime configuration
389 of detected outputs. You can use the xrandr tool to control outputs on
390 the command line as follows:
391
392 xrandr --output output --set property value
393
394 Note that you may need to quote property and value arguments that con‐
395 tain spaces. Each output listed below may have one or more properties
396 associated with it (like a binary EDID block if one is found). Some
397 outputs have unique properties which are described below. See the
398 "MULTIHEAD CONFIGURATIONS" section below for additional information.
399
400 VGA
401 VGA output port (typically exposed via an HD15 connector).
402
403
404 LVDS
405 Low Voltage Differential Signalling output (typically a laptop LCD
406 panel). Available properties:
407
408
409 BACKLIGHT - current backlight level (adjustable)
410 By adjusting the BACKLIGHT property, the brightness on the LVDS
411 output can be adjusted. In some cases, this property may be
412 unavailable (for example if your platform uses an external
413 microcontroller to control the backlight).
414
415 scaling mode - control LCD panel scaling mode
416 When the currently selected display mode differs from the native
417 panel resolution, various scaling options are available. These
418 include
419
420 Center Simply center the image on-screen without scaling. This
421 is the only scaling mode that guarantees a one-to-one
422 correspondence between native and displayed pixels, but
423 some portions of the panel may be unused (so-called "let‐
424 terboxing").
425
426 Full aspect
427 Scale the image as much as possible while preserving
428 aspect ratio. Pixels may not be displayed one-to-one
429 (there may be some blurriness). Some portions of the
430 panel may be unused if the aspect ratio of the selected
431 mode does not match that of the panel.
432
433 Full Scale the image to the panel size without regard to
434 aspect ratio. This is the only mode which guarantees that
435 every pixel of the panel will be used. But the displayed
436 image may be distorted by stretching either horizontally
437 or vertically, and pixels may not be displayed one-to-one
438 (there may be some blurriness).
439
440 The precise names of these options may differ depending on the kernel
441 video driver, (but the functionality should be similar). See the output
442 of xrandr --prop for a list of currently available scaling modes.
443
444 TV
445 Integrated TV output. Available properties include:
446
447 BOTTOM, RIGHT, TOP, LEFT - margins
448 Adjusting these properties allows you to control the placement
449 of your TV output buffer on the screen. The options with the
450 same name can also be set in xorg.conf with integer value.
451
452 BRIGHTNESS - TV brightness, range 0-255
453 Adjust TV brightness, default value is 128.
454
455 CONTRAST - TV contrast, range 0-255
456 Adjust TV contrast, default value is 1.0 in chipset specific
457 format.
458
459 SATURATION - TV saturation, range 0-255
460 Adjust TV saturation, default value is 1.0 in chipset specific
461 format.
462
463 HUE - TV hue, range 0-255
464 Adjust TV hue, default value is 0.
465
466 TV_FORMAT - output standard
467 This property allows you to control the output standard used on
468 your TV output port. You can select between NTSC-M, NTSC-443,
469 NTSC-J, PAL-M, PAL-N, and PAL.
470
471 TV_Connector - connector type
472 This config option should be added to xorg.conf TV monitor's
473 section, it allows you to force the TV output connector type,
474 which bypass load detect and TV will always be taken as con‐
475 nected. You can select between S-Video, Composite and Component.
476
477
478 TMDS-1
479 First DVI SDVO output
480
481
482 TMDS-2
483 Second DVI SDVO output
484
485
486 TMDS-1 , TMDS-2 , HDMI-1 , HDMI-2
487 DVI/HDMI outputs. Available common properties include:
488
489 BROADCAST_RGB - method used to set RGB color range
490 Adjusting this property allows you to set RGB color range on
491 each channel in order to match HDTV requirement(default 0 for
492 full range). Setting 1 means RGB color range is 16-235, 0 means
493 RGB color range is 0-255 on each channel. (Full range is 0-255,
494 not 16-235)
495
496
497 SDVO and DVO TV outputs are not supported by the driver at this time.
498
499 See xorg.conf(5) for information on associating Monitor sections with
500 these outputs for configuration. Associating Monitor sections with
501 each output can be helpful if you need to ignore a specific output, for
502 example, or statically configure an extended desktop monitor layout.
503
504
506 The number of independent outputs is dictated by the number of CRTCs
507 (in X parlance) a given chip supports. Most recent Intel chips have
508 two CRTCs, meaning that two separate framebuffers can be displayed
509 simultaneously, in an extended desktop configuration. If a chip sup‐
510 ports more outputs than it has CRTCs (say local flat panel, VGA and TV
511 in the case of many outputs), two of the outputs will have to be
512 "cloned", meaning that they display the same framebuffer contents (or
513 one displays a subset of another's framebuffer if the modes aren't
514 equal).
515
516 You can use the "xrandr" tool, or various desktop utilities, to change
517 your output configuration at runtime. To statically configure your
518 outputs, you can use the "Monitor-<type>" options along with additional
519 monitor sections in your xorg.conf to create your screen topology. The
520 example below puts the VGA output to the right of the builtin laptop
521 screen, both running at 1024x768.
522
523 Section "Monitor"
524 Identifier "Laptop FooBar Internal Display"
525 Option "Position" "0 0"
526 EndSection
527
528 Section "Monitor"
529 Identifier "Some Random CRT"
530 Option "Position" "1024 0"
531 Option "RightOf" "Laptop FoodBar Internal Display"
532 EndSection
533
534 Section "Device"
535 Driver "intel"
536 Option "monitor-LVDS" "Laptop FooBar Internal Display"
537 Option "monitor-VGA" "Some Random CRT"
538 EndSection
539
540
542 The driver supports the following X11 Xv attributes for Textured Video.
543 You can use the "xvattr" tool to query/set those attributes at runtime.
544
545
546 XV_SYNC_TO_VBLANK
547 XV_SYNC_TO_VBLANK is used to control whether textured adapter synchro‐
548 nizes the screen update to the vblank to eliminate tearing. It is a
549 Boolean attribute with values of 0 (never sync) or 1 (always sync). An
550 historic value of -1 (sync for large windows only) will now be inter‐
551 preted as 1, (since the current approach for sync is not costly even
552 with small video windows).
553
554
555 XV_BRIGHTNESS
556 XV_CONTRAST
558 The xf86-video-intel driver is part of the X.Org and Freedesktop.org
559 umbrella projects. Details on bug reporting can be found at
560 https://01.org/linuxgraphics/documentation/how-report-bugs. Mailing
561 lists are also commonly used to report experiences and ask questions
562 about configuration and other topics. See lists.freedesktop.org for
563 more information (the xorg@lists.freedesktop.org mailing list is the
564 most appropriate place to ask X.Org and driver related questions).
565
566
568 Xorg(1), xorg.conf(5), Xserver(1), X(7)
569
571 Authors include: Keith Whitwell, and also Jonathan Bian, Matthew J Sot‐
572 tek, Jeff Hartmann, Mark Vojkovich, Alan Hourihane, H. J. Lu. 830M and
573 845G support reworked for XFree86 4.3 by David Dawes and Keith
574 Whitwell. 852GM, 855GM, and 865G support added by David Dawes and
575 Keith Whitwell. 915G, 915GM, 945G, 945GM, 965G, 965Q and 946GZ support
576 added by Alan Hourihane and Keith Whitwell. Lid status support added by
577 Alan Hourihane. Textured video support for 915G and later chips, RandR
578 1.2 and hardware modesetting added by Eric Anholt and Keith Packard.
579 EXA and Render acceleration added by Wang Zhenyu. TV out support added
580 by Zou Nan Hai and Keith Packard. 965GM, G33, Q33, and Q35 support
581 added by Wang Zhenyu.
582
583
584
585X Version 11 xf86-video-intel 2.99.917 intel(4)