132 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
.\" shorthand for double quote that works everywhere.
 | 
						|
.ds q \N'34'
 | 
						|
.TH MODESETTING @drivermansuffix@ @vendorversion@
 | 
						|
.SH NAME
 | 
						|
modesetting \- video driver for framebuffer device
 | 
						|
.SH SYNOPSIS
 | 
						|
.nf
 | 
						|
.B "Section \*qDevice\*q"
 | 
						|
.BI "  Identifier \*q"  devname \*q
 | 
						|
.B  "  Driver \*qmodesetting\*q"
 | 
						|
.BI "  BusID  \*qpci:" bus : dev : func \*q
 | 
						|
\ \ ...
 | 
						|
.B EndSection
 | 
						|
.fi
 | 
						|
.SH DESCRIPTION
 | 
						|
.B modesetting
 | 
						|
is an @xservername@ driver for KMS devices.  This driver supports
 | 
						|
TrueColor visuals at framebuffer depths of 15, 16, 24, and 30. RandR
 | 
						|
1.2 is supported for multi-head configurations. Acceleration is available
 | 
						|
through glamor for devices supporting at least OpenGL ES 2.0 or OpenGL 2.1.
 | 
						|
If glamor is not enabled, a shadow framebuffer is configured based on the
 | 
						|
KMS drivers' preference (unless the framebuffer is 24 bits per pixel, in
 | 
						|
which case the shadow framebuffer is always used).
 | 
						|
.SH SUPPORTED HARDWARE
 | 
						|
The 
 | 
						|
.B modesetting
 | 
						|
driver supports all hardware where a KMS driver is available.
 | 
						|
modesetting uses the Linux DRM KMS ioctls and dumb object create/map.
 | 
						|
.SH CONFIGURATION DETAILS
 | 
						|
Please refer to @xconfigfile@(@filemansuffix@) for general configuration
 | 
						|
details.  This section only covers configuration details specific to
 | 
						|
this driver.
 | 
						|
.PP
 | 
						|
For this driver it is not required to specify modes in the screen 
 | 
						|
section of the config file.  The
 | 
						|
.B modesetting
 | 
						|
driver can pick up the currently used video mode from the kernel
 | 
						|
driver and will use it if there are no video modes configured.
 | 
						|
.PP
 | 
						|
For PCI boards you might have to add a BusID line to the Device
 | 
						|
section.  See above for a sample line.
 | 
						|
.PP
 | 
						|
The following driver 
 | 
						|
.B Options
 | 
						|
are supported:
 | 
						|
.TP
 | 
						|
.BI "Option \*qSWcursor\*q \*q" boolean \*q
 | 
						|
Selects software cursor.  The default is
 | 
						|
.B off.
 | 
						|
.TP
 | 
						|
.BI "Option \*qkmsdev\*q \*q" string \*q
 | 
						|
The framebuffer device to use. Default: /dev/dri/card0.
 | 
						|
.TP
 | 
						|
.BI "Option \*qShadowFB\*q \*q" boolean \*q
 | 
						|
Enable or disable use of the shadow framebuffer layer.  Default: on.
 | 
						|
.TP
 | 
						|
.BI "Option \*qDoubleShadow\*q \*q" boolean \*q
 | 
						|
Double-buffer shadow updates. When enabled, the driver will keep two copies of
 | 
						|
the shadow framebuffer. When the shadow framebuffer is flushed, the old and new
 | 
						|
versions of the shadow are compared, and only tiles that have actually changed
 | 
						|
are uploaded to the device. This is an optimization for server-class GPUs with
 | 
						|
a remote display function (typically VNC), where remote updates are triggered
 | 
						|
by any framebuffer write, so minimizing the amount of data uploaded is crucial.
 | 
						|
This defaults to enabled for ASPEED and Matrox G200 devices, and disabled
 | 
						|
otherwise.
 | 
						|
.TP
 | 
						|
.BI "Option \*qAccelMethod\*q \*q" string \*q
 | 
						|
One of \*qglamor\*q or \*qnone\*q.  Default: glamor.
 | 
						|
.TP
 | 
						|
.BI "Option \*qPageFlip\*q \*q" boolean \*q
 | 
						|
Enable DRI3 page flipping.  The default is
 | 
						|
.B on.
 | 
						|
.TP
 | 
						|
.BI "Option \*qVariableRefresh\*q \*q" boolean \*q
 | 
						|
Enables support for enabling variable refresh on the Screen's CRTCs
 | 
						|
when an suitable application is flipping via the Present extension.
 | 
						|
.br
 | 
						|
The default is
 | 
						|
.B off.
 | 
						|
.TP
 | 
						|
.BI "Option \*qAsyncFlipSecondaries\*q \*q" boolean \*q
 | 
						|
Use async flips for secondary video outputs on multi-display setups. If a screen
 | 
						|
has multiple displays attached and DRI3 page flipping is used, then only one of
 | 
						|
the displays will have its page flip synchronized to vblank for tear-free
 | 
						|
presentation. This is the display that is used for presentation timing and
 | 
						|
timestamping, usually the one covering the biggest pixel area of the screen.
 | 
						|
All other displays ("Secondaries") will not synchronize their flips. This may
 | 
						|
cause some tearing on these displays, but it prevents a permanent or periodic
 | 
						|
slowdown or irritating judder of animations if not all video outputs are running
 | 
						|
synchronized with each other and with the same refresh rate. There is no perfect
 | 
						|
solution apart from perfectly synchronized outputs, but this option may give
 | 
						|
preferrable results if the displays in a multi-display setup mirror or clone
 | 
						|
each other.  The default is
 | 
						|
.B off.
 | 
						|
.TP
 | 
						|
.BI "Option \*qZaphodHeads\*q \*q" string \*q
 | 
						|
Specify the RandR output(s) to use with zaphod mode for a particular driver
 | 
						|
instance.  If you use this option you must use this option for all instances
 | 
						|
of the driver.
 | 
						|
.br
 | 
						|
For example:
 | 
						|
.B
 | 
						|
Option \*qZaphodHeads\*q \*qLVDS,VGA-0\*q
 | 
						|
will assign xrandr outputs LVDS and VGA-0 to this instance of the driver.
 | 
						|
.TP
 | 
						|
.BI "Option \*qUseGammaLUT\*q \*q" boolean \*q
 | 
						|
Enable or disable use of the GAMMA_LUT property, when available.
 | 
						|
When enabled, this option allows the driver to use gamma ramps with more
 | 
						|
entries, if supported by the kernel. By default, GAMMA_LUT will be used for
 | 
						|
kms drivers which are known to be safe for use of GAMMA_LUT.
 | 
						|
.TP
 | 
						|
.BI "Option \*qTearFree\*q \*q" boolean \*q
 | 
						|
Enable tearing prevention using the hardware page flipping mechanism.
 | 
						|
It allocates two extra scanout buffers for each CRTC and utilizes damage
 | 
						|
tracking to minimize buffer copying and skip unnecessary flips when the
 | 
						|
screen's contents have not changed. It works on transformed screens too, such
 | 
						|
as rotated and scaled CRTCs. When PageFlip is enabled, fullscreen DRI
 | 
						|
applications will still have the discretion to not use tearing prevention.
 | 
						|
.br
 | 
						|
The default is
 | 
						|
.B on.
 | 
						|
.TP
 | 
						|
.BI "Option \*qAtomic\*q \*q" boolean \*q
 | 
						|
Enable atomic modesetting when supported.  The default is
 | 
						|
.B off.
 | 
						|
.TP
 | 
						|
.SH "SEE ALSO"
 | 
						|
@xservername@(@appmansuffix@), @xconfigfile@(@filemansuffix@), Xserver(@appmansuffix@),
 | 
						|
X(@miscmansuffix@)
 | 
						|
.SH AUTHORS
 | 
						|
Authors include: Dave Airlie
 |