drm: Implement simple broken EDID override by loading firmware (v16)
[dragonfly.git] / share / man / man4 / drm.4
1 .\"     $NetBSD: drm.4,v 1.7 2009/05/12 08:16:46 wiz Exp $
2 .\"
3 .\" Copyright (c) 2007 Thomas Klausner
4 .\" All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\"
15 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 .\"
26 .Dd November 12, 2015
27 .Dt DRM 4
28 .Os
29 .Sh NAME
30 .Nm drm
31 .Nd Direct Rendering Manager (DRI kernel support)
32 .Sh DESCRIPTION
33 The
34 .Tn Direct Rendering Manager
35 is part of the
36 .Tn Direct Rendering Infrastructure
37 (see
38 .Pa http://dri.freedesktop.org/ )
39 for supporting video acceleration.
40 .Pp
41 The
42 .Nm
43 drivers provide support for the following chipsets:
44 .Bl -column -offset indent ".Sy ModuleXXX" ".Sy Kernel option" ".Sy Chipset"
45 .It Sy Module Ta Sy "Kernel option" Ta Sy Chipset
46 .It Pa i915.ko Ta n/a Ta Intel i915, i945, i965, G3x, G4x
47 .It Pa radeonkms.ko Ta n/a Ta AMD Radeon
48 .El
49 .Pp
50 In most cases
51 .Xr Xorg 1
52 will take care of loading the appropriate modules and it is not necessary to
53 modify
54 .Xr loader.conf 5
55 or the kernel configuration to enable
56 .Nm
57 support.
58 .Pp
59 Newer versions of
60 .Xr Xorg 1 ,
61 like the one from
62 .Xr dports 7 ,
63 do a pretty good job of figuring out the right configuration on their own,
64 so having no
65 .Xr xorg.conf 5
66 file at all is usually the best advice.
67 If for some reason an
68 .Xr xorg.conf 5
69 is preferred, DRI must be enabled:
70 .Bd -literal
71 Section "DRI"
72         Group "wheel"
73         Mode 0660
74 EndSection
75 .Ed
76 .Pp
77 With KMS, DRI is always enabled since the
78 .Nm
79 is always required.
80 .\".Pp
81 .\"In order to use two graphics cards (an on-board and another
82 .\"AGP/PCI/PCIe card) with DRI, a
83 .\".Pa /dev/dri/card1
84 .\"link to
85 .\".Pa /dev/dri/card0
86 .\"has to be created using
87 .\".Xr devfsctl 8 .
88 .Pp
89 If
90 .Xr Xorg 1
91 acceleration fails to initialize with a
92 .Dq contigmalloc_map: failed size...
93 error in dmesg, the reserve of memory for DMA ran out early and should
94 be increased to a sufficiently high value by setting the
95 .Va vm.dma_reserved
96 loader tunable.
97 A read only
98 .Xr sysctl 8
99 variable of the same name is provided for obtaining its current value.
100 .Sh LOADER TUNABLES
101 Tunables can be set at the
102 .Xr loader 8
103 prompt before booting the kernel or stored in
104 .Xr loader.conf 5 .
105 .Bl -tag -width "xxxxxx"
106 .It Va drm.edid_firmware
107 Load external EDID binary monitor data from firmware module.
108 Useful if monitor is not sending appropiate EDID block, no video on
109 connected monitor or there is a need to enforce custom video modes.
110 Optionally, connector name can be specified before firmware name
111 followed by colon, for example:
112 .Pp
113 .Dl drm.edid_firmware="DVI-D-1:edidfw_repaired"
114 .Pp
115 Notes:
116 .Xr drm(4)
117 and
118 .Xr Xorg(1)
119 use different naming conventions for connector names.
120 This tunable only applies for KMS drivers.
121 .It Va drm.video.<connector>
122 Can be used to set framebuffer parameters for drm(4) connector
123 in lower case form and without dashes.
124 Mode specifier format:
125 .Pp
126 .Dl <xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]
127 .Bl -tag -width "<refresh>"
128 .It <xres>
129 X resolution, e.g. 1920
130 .It <yres>
131 Y resolution, e.g. 1080
132 .It M
133 calculate timings using VESA CVT instead of table lookups
134 .It R
135 reduced blanking on digital monitors
136 .It <bpp>
137 color depth
138 .It <refresh>
139 refresh rate
140 .It i
141 calculate timings for interlaced mode
142 .It m
143 margins used in calculations
144 .It e
145 force enable output
146 .It D
147 same as e option, but force digital output on HDMI/DVI
148 .It d
149 force disable output
150 .El
151 .El
152 .Sh SYSCTL VARIABLES
153 A number of
154 .Xr sysctl 8
155 variables are available:
156 .Bl -tag -width ".Va hw.dri.vblank_offdelay"
157 .It Va hw.dri.debug
158 If set, enables debugging output.
159 .It Va hw.dri.vblank_offdelay
160 Specifies the delay (in milliseconds) until the vblank
161 interrupt is disabled again when it's no longer needed.
162 (0 = never disable, negative value = disable immediately)
163 .It Va hw.dri.%d.busid
164 Indicates the location of the device on the PCI bus.
165 The format is:
166 .Pp
167 .Dl [0000-ffff]:[00-ff]:[00-1f].[0-7]
168 .It Va hw.dri.%d.modesetting
169 Indicates if kernel mode setting
170 .Dv ( DRIVER_MODESET
171 feature) is set in the device driver.
172 .El
173 .Sh SEE ALSO
174 .Xr Xorg 1 ,
175 .Xr i915kms 4 ,
176 .Xr radeonkms 4 ,
177 .Xr xorg.conf 5
178 .Sh HISTORY
179 DRM was first available for Linux.
180 Subsequently Eric Anholt ported the DRM kernel modules to
181 .Fx .
182 .Sh CAVEATS
183 Disable AIGLX if necessary
184 .Pq Pa xorg.conf :
185 .Bd -literal -offset indent
186 Section "ServerFlags"
187         Option  "AIGLX" "off"
188 EndSection
189 .\"
190 .\"Section "Extensions"
191 .\"        Option "Composite" "Disable"
192 .\"EndSection
193 .Ed
194 .Pp
195 .Cd options DRM_DEBUG
196 can slow DRI down a lot, disable it once
197 .Nm
198 works.