Provided by: xserver-xorg-video-intel_2.99.917+git20210115-1_amd64 bug

NAME

       intel - Intel integrated graphics chipsets

SYNOPSIS

       Section "Device"
         Identifier "devname"
         Driver "intel"
         ...
       EndSection

DESCRIPTION

       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, Intel(R) Iris(TM)
       Graphics, Intel(R) Iris(TM) Pro Graphics.

CONFIGURATION DETAILS

       Please refer to xorg.conf(5) 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 "Accel" "boolean"
              Enable or disable acceleration.

              Default: acceleration is enabled.

       The following driver Options are supported for the 830M and later chipsets:

       Option "Accel" "boolean"
              Enable or disable 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 "CustomEDID" "string"
              Override the probed EDID on particular  outputs.  Sometimes  the  manufacturer  supplied  EDID  is
              corrupt or lacking a few usable modes and supplying a corrected EDID may be easier than specifying
              every modeline. This option allows to pass the path to load an EDID from per output. The format is
              a comma separated string of output:path pairs, e.g.  DP1:/path/to/dp1.edid,DP2:/path/to/dp2.edid

              Default: No override, use manufacturer supplied EDIDs.

       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 "HWRotation" "boolean"
              Override  the  use  of native hardware rotation and force the use of software, but GPU accelerated
              where possible, rotation. On some platforms the hardware  can  scanout  directly  into  a  rotated
              output   bypassing  the  intermediate  rendering  and  extra  allocations  required  for  software
              implemented rotation (i.e. native rotation uses less resources, is quicker and uses  less  power).
              This allows you to disable the native rotation in case of errors.

              Default: Enabled (use hardware rotation)

       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 set
              this option you must use it with all instances of the driver. By default, each  head  is  assigned
              only  one  CRTC  (which  limits using multiple outputs with that head to cloned mode). CRTC can be
              manually assigned to individual heads by preceding the output names with a comma delimited list of
              pipe  numbers followed by a colon. Note that different pipes may be limited in their functionality
              and some outputs may only work with different pipes.
              For example:

              Option "ZaphodHeads" "LVDS1,VGA1"

              will assign xrandr outputs LVDS1 and VGA1 to this instance of the driver.

              Option "ZaphodHeads" "0,2:HDMI1,DP2"

              will assign xrandr outputs HDMI1 and DP2 and CRTCs 0 and 2 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. Available 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
              requirement(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(5) 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"
       EndSection

TEXTURED 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_CONTRAST

REPORTING 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(5), Xserver(1), X(7)

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.