intel(7) Standards, Environments, and Macros intel(7)
NAME
intel - Intel integrated graphics chipsets
SYNOPSIS
Section "Device" Identifier "devname" Driver "intel" ...
EndSectionDESCRIPTION
intel is an Xorg driver for Intel integrated graphics chipsets. The
driver supports depths 8, 15, 16 and 24. All visual types are
supported in depth 8. For the i810/i815 other depths support the
TrueColor and DirectColor visuals. For the i830M and later, only the
TrueColor visual is supported for depths greater than 8. The driver
supports hardware accelerated 3D via the Direct Rendering
Infrastructure (DRI), but only in depth 16 for the i810/i815 and
depths 16 and 24 for the 830M and later.
SUPPORTED HARDWARE
intel supports the i810, i810-DC100, i810e, i815, i830M, 845G, 852GM,
855GM, 865G, 915G, 915GM, 945G, 945GM, 965G, 965Q, 946GZ, 965GM,
945GME, G33, Q33, Q35, G35, GM45, G45, Q45, G43, G41 chipsets,
Pineview-M in Atom N400 series, Pineview-D in Atom D400/D500 series,
Intel(R) HD Graphics: 2000-6000, Intel(R) Iris(TM) Graphics:
5100/6100, and Intel(R) Iris(TM) Pro Graphics: 5200/6200/P6300.
CONFIGURATION DETAILS
Please refer to
xorg.conf(4) for general configuration details. This
section only covers configuration details specific to this driver.
The Intel 8xx and 9xx families of integrated graphics chipsets have a
unified memory architecture meaning that system memory is used as
video RAM. For the i810 and i815 family of chipsets, operating
system support for allocating system memory is required in order to
use this driver. For the 830M and later, this is required in order
for the driver to use more video RAM than has been pre-allocated at
boot time by the BIOS. This is usually achieved with an "agpgart" or
"agp" kernel driver. Linux, FreeBSD, OpenBSD, NetBSD, and Solaris
have such kernel drivers available.
By default, the i810/i815 will use 8 MB of system memory for graphics
if AGP allocable memory is < 128 MB, 16 MB if < 192 MB or 24 MB if
higher. Use the
VideoRam option to change the default value.
For the 830M and later, the driver will automatically size its memory
allocation according to the features it will support. Therefore, the
VideoRam option, which in the past had been necessary to allow more
than some small amount of memory to be allocated, is now ignored.
The following driver
Options are supported
Option "ColorKey" "integer" This sets the default pixel value for the YUV video overlay
key.
Default: undefined.
Option "DRI" "string" Disable or enable DRI support. A driver name to use can be
provided instead of simple boolean value, which will be passed
to the GL implementation for it to load the appropriate
backend. Alternatively the maximum level of DRI to enable
(e.g. "1", "2" or "3") can be specified.
Default: All levels of DRI are enabled for configurations
where it is supported.
The following driver
Options are supported for the i810 and i815
chipsets:
Option "CacheLines" "integer" This allows the user to change the amount of graphics memory
used for 2D acceleration and video when XAA acceleration is
enabled. Decreasing this amount leaves more for 3D textures.
Increasing it can improve 2D performance at the expense of 3D
performance.
Default: depends on the resolution, depth, and available video
memory. The driver attempts to allocate space for at 3
screenfuls of pixmaps plus an HD-sized XV video. The default
used for a specific configuration can be found by examining
the Xorg log file.
Option "DDC" "boolean" Disable or enable DDC support.
Default: enabled.
Option "Dac6Bit" "boolean" Enable or disable 6-bits per RGB for 8-bit modes.
Default: 8-bits per RGB for 8-bit modes.
Option "XvMCSurfaces" "integer" This option enables XvMC. The integer parameter specifies the
number of surfaces to use. Valid values are 6 and 7.
Default: XvMC is disabled.
VideoRam integer This option specifies the amount of system memory to use for
graphics, in KB.
The default is 8192 if AGP allocable memory is < 128 MB, 16384
if < 192 MB, 24576 if higher. DRI require at least a value of
16384. Higher values may give better 3D performance, at
expense of available system memory.
Option "NoAccel" "boolean" Disable or enable acceleration.
Default: acceleration is enabled.
The following driver
Options are supported for the 830M and later
chipsets:
Option "NoAccel" "boolean" Disable or enable acceleration.
Default: acceleration is enabled.
Option "Present" "boolean" Enable use of hardware counters and flow control for the
Present extension.
Default: Enabled
Option "AccelMethod" "string" Select acceleration method. There are a couple of backends
available for accelerating the DDX. "UXA" (Unified
Acceleration Architecture) is the mature backend that was
introduced to support the GEM driver model. It is in the
process of being superseded by "SNA" (Sandybridge's New
Acceleration). Until that process is complete, the ability to
choose which backend to use remains for backwards
compatibility. In addition, there are a pair of sub-options
to limit the acceleration for debugging use. Specify "off" or
"none" to disable all acceleration, or "blt" to disable render
acceleration and only use the BLT engine.
Default: use SNA (render acceleration)
Option "TearFree" "boolean" Disable or enable TearFree updates. This option forces X to
perform all rendering to a backbuffer prior to updating the
actual display. It requires an extra memory allocation the
same size as a framebuffer, the occasional extra copy, and
requires Damage tracking. Thus enabling TearFree requires more
memory and is slower (reduced throughput) and introduces a
small amount of output latency, but it should not impact input
latency. However, the update to the screen is then performed
synchronously with the vertical refresh of the display so that
the entire update is completed before the display starts its
refresh. That is only one frame is ever visible, preventing an
unsightly tear between two visible and differing frames. Note
that this replicates what the compositing manager should be
doing, however TearFree will redirect the compositor updates
(and those of fullscreen games) directly on to the scanout
thus incurring no additional overhead in the composited case.
Also note that not all compositing managers prevent tearing,
and if the outputs are rotated, there will still be tearing
without TearFree enabled.
Default: TearFree is disabled.
Option "ReprobeOutputs" "boolean" Disable or enable rediscovery of connected displays during
server startup. As the kernel driver loads it scans for
connected displays and configures a console spanning those
outputs. When the X server starts, we then take the list of
connected displays and framebuffer layout and use that for the
initial configuration. Sometimes, not all displays are
correctly detected by the kernel and so it is useful in a few
circumstances for X to force the kernel to reprobe all
displays when it starts. To make the X server recheck the
status of connected displays, set the "ReprobeOutputs" option
to true. Please do file a bug for any circumstances which
require this workaround.
Default: reprobing is disabled for a faster startup.
Option "VideoKey" "integer" This is the same as the
"ColorKey" option described above. It
is provided for compatibility with most other drivers.
Option "XvPreferOverlay" "boolean" Make hardware overlay be the first XV adaptor. The overlay
behaves incorrectly in the presence of compositing, but some
prefer it due to it syncing to vblank in the absence of
compositing. While most XV-using applications have options to
select which XV adaptor to use, this option can be used to
place the overlay first for applications which don't have
options for selecting adaptors.
Default: Textured video adaptor is preferred.
Option "Backlight" "string" Override the probed backlight control interface. Sometimes the
automatically selected backlight interface may not correspond
to the correct, or simply most useful, interface available on
the system. This allows you to override that choice by
specifying the entry under /sys/class/backlight to use.
Default: Automatic selection.
Option "FallbackDebug" "boolean" Enable printing of debugging information on acceleration
fallbacks to the server log.
Default: Disabled
Option "DebugFlushBatches" "boolean" Flush the batch buffer after every single operation.
Default: Disabled
Option "DebugFlushCaches" "boolean" Include an MI_FLUSH at the end of every batch buffer to force
data to be flushed out of cache and into memory before the
completion of the batch.
Default: Disabled
Option "DebugWait" "boolean" Wait for the completion of every batch buffer before
continuing, i.e. perform synchronous rendering.
Default: Disabled
Option "VSync" "boolean" This option controls the use of commands to synchronise
rendering with the vertical refresh of the display. Some
rendering commands have the option to be performed in a "tear-
free" fashion by stalling the GPU to wait for the display to
be outside of the region to be updated. This slows down all
rendering, and historically has been the source of many GPU
hangs.
Default: enabled.
Option "PageFlip" "boolean" This option controls the use of commands to flip the scanout
address on a VBlank. This is used by glXSwapBuffers to
efficiently perform the back-to-front exchange at the end of a
frame without incurring the penalty of a copy, or stalling the
render pipeline (the flip is performed asynchronrously to the
render command stream by the display engine). However, it has
historically been the source of many GPU hangs.
Default: enabled.
Option "SwapbuffersWait" "boolean" This option controls the behavior of glXSwapBuffers and
glXCopySubBufferMESA calls by GL applications. If enabled,
the calls will avoid tearing by making sure the display
scanline is outside of the area to be copied before the copy
occurs. If disabled, no scanline synchronization is
performed, meaning tearing will likely occur.
Default: enabled.
Option "TripleBuffer" "boolean" This option enables the use of a third buffer for page-
flipping. The third buffer allows applications to run at
vrefresh rates even if they occasionally fail to swapbuffers
on time. The effect of such missed swaps is the output jitters
between 60fps and 30fps, and in the worst case appears frame-
locked to 30fps. The disadvantage of triple buffering is that
there is an extra frame of latency, due to the pre-rendered
frame sitting in the swap queue, between input and any display
update.
Default: enabled.
Option "Tiling" "boolean" This option controls whether memory buffers for Pixmaps are
allocated in tiled mode. In most cases (especially for
complex rendering), tiling dramatically improves performance.
Default: enabled.
Option "LinearFramebuffer" "boolean" This option controls whether the memory for the scanout (also
known as the front or frame buffer) is allocated in linear
memory. A tiled framebuffer is required for power conservation
features, but for certain system configurations you may wish
to override this and force a linear layout.
Default: disabled
Option "RelaxedFencing" "boolean" This option controls whether we attempt to allocate the
minimal amount of memory required for the buffers. The
reduction in working set has a substantial improvement on
system performance. However, this has been demonstrate to be
buggy on older hardware (845-865 and 915-945, but ok on
PineView and later) so on those chipsets defaults to off.
Default: Enabled for G33 (includes PineView), and later, class
machines.
Option "XvMC" "boolean" Enable XvMC driver. Current support MPEG2 MC on 915/945 and
G33 series. User should provide absolute path to
libIntelXvMC.so in XvMCConfig file.
Default: Disabled.
Option "Throttle" "boolean" This option controls whether the driver periodically waits for
pending drawing operations to complete. Throttling ensures
that the GPU does not lag too far behind the CPU and thus
noticeable delays in user responsible at the cost of
throughput performance.
Default: enabled.
Option "HotPlug" "boolean" This option controls whether the driver automatically notifies
applications when monitors are connected or disconnected.
Default: enabled.
Option "Virtualheads" "integer" This option controls specifies the number of fake outputs to
create in addition to the normal outputs detected on your
hardware. These outputs cannot be assigned to the regular
displays attached to the GPU, but do otherwise act as any
other xrandr output and share a portion of the regular
framebuffer. One use case for these extra heads is for
extending your desktop onto a discrete GPU using the Bumblebee
project. However, the recommendation here is to use PRIME
instead to create a single Xserver that can addresses and
coordinate between multiple GPUs.
Default: 0
Option "ZaphodHeads" "string" Specify the randr output(s) to use with zaphod mode for a
particular driver instance. If you this option you must use
it with all instances of the driver
For example:
Option "ZaphodHeads" "LVDS1,VGA1" will assign
xrandr outputs LVDS1 and VGA0 to this instance of the driver.
OUTPUT CONFIGURATION
On 830M and better chipsets, the driver supports runtime
configuration of detected outputs. You can use the
xrandr tool to
control outputs on the command line as follows:
xrandr --output output --set property value Note that you may need to quote property and value arguments that
contain spaces. Each output listed below may have one or more
properties associated with it (like a binary EDID block if one is
found). Some outputs have unique properties which are described
below. See the "MULTIHEAD CONFIGURATIONS" section below for
additional information.
VGA
VGA output port (typically exposed via an HD15 connector).
LVDS
Low Voltage Differential Signalling output (typically a laptop LCD
panel). Available properties:
BACKLIGHT - current backlight level (adjustable) By adjusting the BACKLIGHT property, the brightness on the
LVDS output can be adjusted. In some cases, this property may
be unavailable (for example if your platform uses an external
microcontroller to control the backlight).
scaling mode - control LCD panel scaling mode
When the currently selected display mode differs from the
native panel resolution, various scaling options are
available. These include
Center Simply center the image on-screen without scaling. This
is the only scaling mode that guarantees a one-to-one
correspondence between native and displayed pixels, but
some portions of the panel may be unused (so-called
"letterboxing").
Full aspect Scale the image as much as possible while preserving
aspect ratio. Pixels may not be displayed one-to-one
(there may be some blurriness). Some portions of the
panel may be unused if the aspect ratio of the selected
mode does not match that of the panel.
Full Scale the image to the panel size without regard to
aspect ratio. This is the only mode which guarantees
that every pixel of the panel will be used. But the
displayed image may be distorted by stretching either
horizontally or vertically, and pixels may not be
displayed one-to-one (there may be some blurriness).
The precise names of these options may differ depending on the kernel
video driver, (but the functionality should be similar). See the
output of
xrandr --prop for a list of currently available scaling
modes.
TV
Integrated TV output. Available properties include:
BOTTOM, RIGHT, TOP, LEFT - margins
Adjusting these properties allows you to control the placement
of your TV output buffer on the screen. The options with the
same name can also be set in xorg.conf with integer value.
BRIGHTNESS - TV brightness, range 0-255
Adjust TV brightness, default value is 128.
CONTRAST - TV contrast, range 0-255
Adjust TV contrast, default value is 1.0 in chipset specific
format.
SATURATION - TV saturation, range 0-255
Adjust TV saturation, default value is 1.0 in chipset specific
format.
HUE - TV hue, range 0-255
Adjust TV hue, default value is 0.
TV_FORMAT - output standard
This property allows you to control the output standard used
on your TV output port. You can select between NTSC-M,
NTSC-443, NTSC-J, PAL-M, PAL-N, and PAL.
TV_Connector - connector type
This config option should be added to xorg.conf TV monitor's
section, it allows you to force the TV output connector type,
which bypass load detect and TV will always be taken as
connected. You can select between S-Video, Composite and
Component.
TMDS-1 First DVI SDVO output
TMDS-2 Second DVI SDVO output
TMDS-1 , TMDS-2 , HDMI-1 , HDMI-2 DVI/HDMI outputs. Avaliable common properties include:
BROADCAST_RGB - method used to set RGB color range
Adjusting this property allows you to set RGB color range on
each channel in order to match HDTV requirment(default 0 for
full range). Setting 1 means RGB color range is 16-235, 0
means RGB color range is 0-255 on each channel. (Full range
is 0-255, not 16-235)
SDVO and DVO TV outputs are not supported by the driver at this time.
See
xorg.conf(4) for information on associating Monitor sections with
these outputs for configuration. Associating Monitor sections with
each output can be helpful if you need to ignore a specific output,
for example, or statically configure an extended desktop monitor
layout.
MULTIHEAD CONFIGURATIONS
The number of independent outputs is dictated by the number of CRTCs
(in X parlance) a given chip supports. Most recent Intel chips have
two CRTCs, meaning that two separate framebuffers can be displayed
simultaneously, in an extended desktop configuration. If a chip
supports more outputs than it has CRTCs (say local flat panel, VGA
and TV in the case of many outputs), two of the outputs will have to
be "cloned", meaning that they display the same framebuffer contents
(or one displays a subset of another's framebuffer if the modes
aren't equal).
You can use the "xrandr" tool, or various desktop utilities, to
change your output configuration at runtime. To statically configure
your outputs, you can use the "Monitor-<type>" options along with
additional monitor sections in your xorg.conf to create your screen
topology. The example below puts the VGA output to the right of the
builtin laptop screen, both running at 1024x768.
Section "Monitor" Identifier "Laptop FooBar Internal Display" Option "Position" "0 0" EndSection Section "Monitor" Identifier "Some Random CRT" Option "Position" "1024 0" Option "RightOf" "Laptop FoodBar Internal Display" EndSection Section "Device" Driver "intel" Option "monitor-LVDS" "Laptop FooBar Internal Display" Option "monitor-VGA" "Some Random CRT" EndSectionTEXTURED VIDEO ATTRIBUTES
The driver supports the following X11 Xv attributes for Textured
Video. You can use the "xvattr" tool to query/set those attributes
at runtime.
XV_SYNC_TO_VBLANK XV_SYNC_TO_VBLANK is used to control whether textured adapter
synchronizes the screen update to the vblank to eliminate tearing. It
is a Boolean attribute with values of 0 (never sync) or 1 (always
sync). An historic value of -1 (sync for large windows only) will now
be interpreted as 1, (since the current approach for sync is not
costly even with small video windows).
XV_BRIGHTNESS XV_CONTRASTREPORTING BUGS
The xf86-video-intel driver is part of the X.Org and Freedesktop.org
umbrella projects. Details on bug reporting can be found at
https://01.org/linuxgraphics/documentation/how-report-bugs. Mailing
lists are also commonly used to report experiences and ask questions
about configuration and other topics. See lists.freedesktop.org for
more information (the xorg@lists.freedesktop.org mailing list is the
most appropriate place to ask X.Org and driver related questions).
SEE ALSO
Xorg(1),
xorg.conf(4),
Xserver(1), X(5)
AUTHORS
Authors include: Keith Whitwell, and also Jonathan Bian, Matthew J
Sottek, Jeff Hartmann, Mark Vojkovich, Alan Hourihane, H. J. Lu.
830M and 845G support reworked for XFree86 4.3 by David Dawes and
Keith Whitwell. 852GM, 855GM, and 865G support added by David Dawes
and Keith Whitwell. 915G, 915GM, 945G, 945GM, 965G, 965Q and 946GZ
support added by Alan Hourihane and Keith Whitwell. Lid status
support added by Alan Hourihane. Textured video support for 915G and
later chips, RandR 1.2 and hardware modesetting added by Eric Anholt
and Keith Packard. EXA and Render acceleration added by Wang Zhenyu.
TV out support added by Zou Nan Hai and Keith Packard. 965GM, G33,
Q33, and Q35 support added by Wang Zhenyu.
X Version 11 xf86-video-intel 2.99.917 intel(7)