1 # SPDX-License-Identifier: GPL-2.0-only
3 # fbdev core configuration
14 bool "Enable firmware EDID"
17 This enables access to the EDID transferred from the firmware.
18 On the i386, this is from the Video BIOS. Enable this if DDC/I2C
19 transfers do not work for your driver and if you are using
20 nvidiafb, i810fb or savagefb.
22 In general, choosing Y for this option is safe. If you
23 experience extremely long delays while booting before you get
24 something on your display, try setting this to N. Matrox cards in
25 combination with certain motherboards and monitors are known to
26 suffer from this problem.
29 bool "Provide legacy /dev/fb* device"
33 Say Y here if you want the legacy /dev/fb* device file and
34 interfaces within sysfs anc procfs. It is only required if you
35 have userspace programs that depend on fbdev for graphics output.
36 This does not affect the framebuffer console. If unsure, say N.
44 config FB_CFB_FILLRECT
48 Include the cfb_fillrect function for generic software rectangle
49 filling. This is used by drivers that don't provide their own
50 (accelerated) version.
52 config FB_CFB_COPYAREA
56 Include the cfb_copyarea function for generic software area copying.
57 This is used by drivers that don't provide their own (accelerated)
60 config FB_CFB_IMAGEBLIT
64 Include the cfb_imageblit function for generic software image
65 blitting. This is used by drivers that don't provide their own
66 (accelerated) version.
68 config FB_CFB_REV_PIXELS_IN_BYTE
72 Allow generic frame-buffer functions to work on displays with 1, 2
73 and 4 bits per pixel depths which has opposite order of pixels in
74 byte order to bytes in long order.
76 config FB_SYS_FILLRECT
80 Include the sys_fillrect function for generic software rectangle
81 filling. This is used by drivers that don't provide their own
82 (accelerated) version and the framebuffer is in system RAM.
84 config FB_SYS_COPYAREA
88 Include the sys_copyarea function for generic software area copying.
89 This is used by drivers that don't provide their own (accelerated)
90 version and the framebuffer is in system RAM.
92 config FB_SYS_IMAGEBLIT
96 Include the sys_imageblit function for generic software image
97 blitting. This is used by drivers that don't provide their own
98 (accelerated) version and the framebuffer is in system RAM.
100 config FB_PROVIDE_GET_FB_UNMAPPED_AREA
104 Allow generic frame-buffer to provide get_fb_unmapped_area
105 function to provide shareable character device support on nommu.
107 menuconfig FB_FOREIGN_ENDIAN
108 bool "Framebuffer foreign endianness support"
111 This menu will let you enable support for the framebuffers with
112 non-native endianness (e.g. Little-Endian framebuffer on a
113 Big-Endian machine). Most probably you don't have such hardware,
114 so it's safe to say "n" here.
117 prompt "Choice endianness support"
118 depends on FB_FOREIGN_ENDIAN
120 config FB_BOTH_ENDIAN
121 bool "Support for Big- and Little-Endian framebuffers"
124 bool "Support for Big-Endian framebuffers only"
126 config FB_LITTLE_ENDIAN
127 bool "Support for Little-Endian framebuffers only"
135 config FB_DEFERRED_IO
139 config FB_DMAMEM_HELPERS
142 select FB_SYS_COPYAREA
143 select FB_SYS_FILLRECT
145 select FB_SYS_IMAGEBLIT
147 config FB_IOMEM_HELPERS
150 select FB_CFB_COPYAREA
151 select FB_CFB_FILLRECT
152 select FB_CFB_IMAGEBLIT
154 config FB_SYSMEM_HELPERS
157 select FB_SYS_COPYAREA
158 select FB_SYS_FILLRECT
160 select FB_SYS_IMAGEBLIT
162 config FB_SYSMEM_HELPERS_DEFERRED
165 select FB_DEFERRED_IO
166 select FB_SYSMEM_HELPERS
171 select BACKLIGHT_CLASS_DEVICE
173 config FB_MODE_HELPERS
174 bool "Enable Video Mode Handling Helpers"
177 This enables functions for handling video modes using the
178 Generalized Timing Formula and the EDID parser. A few drivers rely
179 on this feature such as the radeonfb, rivafb, and the i810fb. If
180 your driver does not take advantage of this feature, choosing Y will
181 just increase the kernel size by about 5K.
183 config FB_TILEBLITTING
184 bool "Enable Tile Blitting Support"
187 This enables tile blitting. Tile blitting is a drawing technique
188 where the screen is divided into rectangular sections (tiles), whereas
189 the standard blitting divides the screen into pixels. Because the
190 default drawing element is a tile, drawing functions will be passed
191 parameters in terms of number of tiles instead of number of pixels.
192 For example, to draw a single character, instead of using bitmaps,
193 an index to an array of bitmaps will be used. To clear or move a
194 rectangular section of a screen, the rectangle will be described in
195 terms of number of tiles in the x- and y-axis.
197 This is particularly important to one driver, matroxfb. If