1 # SPDX-License-Identifier: GPL-2.0-only
10 tristate "Support for frame buffer devices"
14 The frame buffer device provides an abstraction for the graphics
15 hardware. It represents the frame buffer of some video hardware and
16 allows application software to access the graphics hardware through
17 a well-defined interface, so the software doesn't need to know
18 anything about the low-level (hardware register) stuff.
20 Frame buffer devices work identically across the different
21 architectures supported by Linux and make the implementation of
22 application programs easier and more portable; at this point, an X
23 server exists which uses the frame buffer device exclusively.
24 On several non-X86 architectures, the frame buffer device is the
25 only way to use the graphics hardware.
27 The device is accessed through special device nodes, usually located
28 in the /dev directory, i.e. /dev/fb*.
30 You need an utility program called fbset to make full use of frame
31 buffer devices. Please read <file:Documentation/fb/framebuffer.rst>
32 and the Framebuffer-HOWTO at
33 <http://www.munted.org.uk/programming/Framebuffer-HOWTO-1.3.html> for more
36 Say Y here and to the driver for your graphics board below if you
37 are compiling a kernel for a non-x86 architecture.
39 If you are compiling for the x86 architecture, you can say Y if you
40 want to play with it, but it is not essential. Please note that
41 running graphical applications that directly touch the hardware
42 (e.g. an accelerated X server) and that are not frame buffer
43 device-aware may cause unexpected results. If unsure, say N.
46 bool "Enable firmware EDID"
49 This enables access to the EDID transferred from the firmware.
50 On the i386, this is from the Video BIOS. Enable this if DDC/I2C
51 transfers do not work for your driver and if you are using
52 nvidiafb, i810fb or savagefb.
54 In general, choosing Y for this option is safe. If you
55 experience extremely long delays while booting before you get
56 something on your display, try setting this to N. Matrox cards in
57 combination with certain motherboards and monitors are known to
58 suffer from this problem.
66 config FB_CFB_FILLRECT
70 Include the cfb_fillrect function for generic software rectangle
71 filling. This is used by drivers that don't provide their own
72 (accelerated) version.
74 config FB_CFB_COPYAREA
78 Include the cfb_copyarea function for generic software area copying.
79 This is used by drivers that don't provide their own (accelerated)
82 config FB_CFB_IMAGEBLIT
86 Include the cfb_imageblit function for generic software image
87 blitting. This is used by drivers that don't provide their own
88 (accelerated) version.
90 config FB_CFB_REV_PIXELS_IN_BYTE
94 Allow generic frame-buffer functions to work on displays with 1, 2
95 and 4 bits per pixel depths which has opposite order of pixels in
96 byte order to bytes in long order.
98 config FB_SYS_FILLRECT
102 Include the sys_fillrect function for generic software rectangle
103 filling. This is used by drivers that don't provide their own
104 (accelerated) version and the framebuffer is in system RAM.
106 config FB_SYS_COPYAREA
110 Include the sys_copyarea function for generic software area copying.
111 This is used by drivers that don't provide their own (accelerated)
112 version and the framebuffer is in system RAM.
114 config FB_SYS_IMAGEBLIT
118 Include the sys_imageblit function for generic software image
119 blitting. This is used by drivers that don't provide their own
120 (accelerated) version and the framebuffer is in system RAM.
122 config FB_PROVIDE_GET_FB_UNMAPPED_AREA
126 Allow generic frame-buffer to provide get_fb_unmapped_area
127 function to provide shareable character device support on nommu.
129 menuconfig FB_FOREIGN_ENDIAN
130 bool "Framebuffer foreign endianness support"
133 This menu will let you enable support for the framebuffers with
134 non-native endianness (e.g. Little-Endian framebuffer on a
135 Big-Endian machine). Most probably you don't have such hardware,
136 so it's safe to say "n" here.
139 prompt "Choice endianness support"
140 depends on FB_FOREIGN_ENDIAN
142 config FB_BOTH_ENDIAN
143 bool "Support for Big- and Little-Endian framebuffers"
146 bool "Support for Big-Endian framebuffers only"
148 config FB_LITTLE_ENDIAN
149 bool "Support for Little-Endian framebuffers only"
157 config FB_DEFERRED_IO
164 select FB_CFB_COPYAREA
165 select FB_CFB_FILLRECT
166 select FB_CFB_IMAGEBLIT
168 config FB_SYS_HELPERS
171 select FB_SYS_COPYAREA
172 select FB_SYS_FILLRECT
174 select FB_SYS_IMAGEBLIT
176 config FB_SYS_HELPERS_DEFERRED
179 select FB_DEFERRED_IO
180 select FB_SYS_HELPERS
185 depends on FB_DEFERRED_IO
191 Common utility functions useful to fbdev drivers of VGA-based
201 select BACKLIGHT_CLASS_DEVICE
203 config FB_MODE_HELPERS
204 bool "Enable Video Mode Handling Helpers"
207 This enables functions for handling video modes using the
208 Generalized Timing Formula and the EDID parser. A few drivers rely
209 on this feature such as the radeonfb, rivafb, and the i810fb. If
210 your driver does not take advantage of this feature, choosing Y will
211 just increase the kernel size by about 5K.
213 config FB_TILEBLITTING
214 bool "Enable Tile Blitting Support"
217 This enables tile blitting. Tile blitting is a drawing technique
218 where the screen is divided into rectangular sections (tiles), whereas
219 the standard blitting divides the screen into pixels. Because the
220 default drawing element is a tile, drawing functions will be passed
221 parameters in terms of number of tiles instead of number of pixels.
222 For example, to draw a single character, instead of using bitmaps,
223 an index to an array of bitmaps will be used. To clear or move a
224 rectangular section of a screen, the rectangle will be described in
225 terms of number of tiles in the x- and y-axis.
227 This is particularly important to one driver, matroxfb. If
230 comment "Frame buffer hardware drivers"
234 tristate "Aeroflex Gaisler framebuffer support"
235 depends on FB && SPARC
236 select FB_CFB_FILLRECT
237 select FB_CFB_COPYAREA
238 select FB_CFB_IMAGEBLIT
240 This enables support for the SVGACTRL framebuffer in the GRLIB IP library from Aeroflex Gaisler.
243 tristate "Cirrus Logic support"
244 depends on FB && (ZORRO || PCI)
245 select FB_CFB_FILLRECT
246 select FB_CFB_COPYAREA
247 select FB_CFB_IMAGEBLIT
248 select VIDEO_NOMODESET
250 This enables support for Cirrus Logic GD542x/543x based boards on
251 Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum.
253 If you have a PCI-based system, this enables support for these
254 chips: GD-543x, GD-544x, GD-5480.
256 Please read the file <file:Documentation/fb/cirrusfb.rst>.
258 Say N unless you have such a graphics board or plan to get one
259 before you next recompile the kernel.
262 tristate "Permedia2 support"
263 depends on FB && ((AMIGA && BROKEN) || PCI)
264 select FB_CFB_FILLRECT
265 select FB_CFB_COPYAREA
266 select FB_CFB_IMAGEBLIT
267 select VIDEO_NOMODESET
269 This is the frame buffer device driver for cards based on
270 the 3D Labs Permedia, Permedia 2 and Permedia 2V chips.
271 The driver was tested on the following cards:
272 Diamond FireGL 1000 PRO AGP
273 ELSA Gloria Synergy PCI
274 Appian Jeronimo PRO (both heads) PCI
275 3DLabs Oxygen ACX aka EONtronics Picasso P2 PCI
276 Techsource Raptor GFX-8P (aka Sun PGX-32) on SPARC
277 ASK Graphic Blaster Exxtreme AGP
279 To compile this driver as a module, choose M here: the
280 module will be called pm2fb.
282 config FB_PM2_FIFO_DISCONNECT
283 bool "enable FIFO disconnect feature"
284 depends on FB_PM2 && PCI
286 Support the Permedia2 FIFO disconnect feature.
289 tristate "ARM PrimeCell PL110 support"
290 depends on ARM || ARM64 || COMPILE_TEST
291 depends on FB && ARM_AMBA && HAS_IOMEM
292 select FB_CFB_FILLRECT
293 select FB_CFB_COPYAREA
294 select FB_CFB_IMAGEBLIT
295 select FB_MODE_HELPERS if OF
296 select VIDEOMODE_HELPERS if OF
297 select BACKLIGHT_CLASS_DEVICE if OF
299 This framebuffer device driver is for the ARM PrimeCell PL110
300 Colour LCD controller. ARM PrimeCells provide the building
301 blocks for System on a Chip devices.
303 If you want to compile this as a module (=code which can be
304 inserted into and removed from the running kernel), say M
305 here and read <file:Documentation/kbuild/modules.rst>. The module
306 will be called amba-clcd.
309 bool "Acorn VIDC support"
310 depends on (FB = y) && ARM && ARCH_ACORN
311 select FB_CFB_FILLRECT
312 select FB_CFB_COPYAREA
313 select FB_CFB_IMAGEBLIT
315 This is the frame buffer device driver for the Acorn VIDC graphics
316 hardware found in Acorn RISC PCs and other ARM-based machines. If
320 tristate "CLPS711X LCD support"
321 depends on FB && (ARCH_CLPS711X || COMPILE_TEST)
322 select FB_MODE_HELPERS
323 select FB_SYS_FILLRECT
324 select FB_SYS_COPYAREA
325 select FB_SYS_IMAGEBLIT
326 select LCD_CLASS_DEVICE
327 select VIDEOMODE_HELPERS
329 Say Y to enable the Framebuffer driver for the Cirrus Logic
333 bool "SA-1100 LCD support"
334 depends on (FB = y) && ARM && ARCH_SA1100
335 select FB_CFB_FILLRECT
336 select FB_CFB_COPYAREA
337 select FB_CFB_IMAGEBLIT
339 This is a framebuffer device for the SA-1100 LCD Controller.
340 See <http://www.linux-fbdev.org/> for information on framebuffer
343 If you plan to use the LCD display with your SA-1100 system, say
347 tristate "Freescale i.MX1/21/25/27 LCD support"
348 depends on FB && HAVE_CLK && HAS_IOMEM
349 depends on ARCH_MXC || COMPILE_TEST
350 select LCD_CLASS_DEVICE
351 select FB_CFB_FILLRECT
352 select FB_CFB_COPYAREA
353 select FB_CFB_IMAGEBLIT
354 select FB_MODE_HELPERS
355 select VIDEOMODE_HELPERS
358 tristate "CyberPro 2000/2010/5000 support"
359 depends on FB && PCI && (BROKEN || !SPARC64)
360 select FB_CFB_FILLRECT
361 select FB_CFB_COPYAREA
362 select FB_CFB_IMAGEBLIT
363 select VIDEO_NOMODESET
365 This enables support for the Integraphics CyberPro 20x0 and 5000
366 VGA chips used in the Rebel.com Netwinder and other machines.
367 Say Y if you have a NetWinder or a graphics card containing this
368 device, otherwise say N.
370 config FB_CYBER2000_DDC
371 bool "DDC for CyberPro support"
372 depends on FB_CYBER2000
376 Say Y here if you want DDC support for your CyberPro graphics
377 card. This is only I2C bus support, driver does not use EDID.
379 config FB_CYBER2000_I2C
380 bool "CyberPro 2000/2010/5000 I2C support"
381 depends on FB_CYBER2000 && I2C && ARCH_NETWINDER
382 depends on I2C=y || FB_CYBER2000=m
385 Enable support for the I2C video decoder interface on the
386 Integraphics CyberPro 20x0 and 5000 VGA chips. This is used
387 on the Netwinder machines for the SAA7111 video capture.
391 depends on (FB = y) && APOLLO
393 select FB_CFB_FILLRECT
394 select FB_CFB_IMAGEBLIT
398 depends on (FB = y) && Q40
400 select FB_CFB_FILLRECT
401 select FB_CFB_COPYAREA
402 select FB_CFB_IMAGEBLIT
405 tristate "Amiga native chipset support"
406 depends on FB && AMIGA
408 This is the frame buffer device driver for the builtin graphics
409 chipset found in Amigas.
411 To compile this driver as a module, choose M here: the
412 module will be called amifb.
415 bool "Amiga OCS chipset support"
418 This enables support for the original Agnus and Denise video chips,
419 found in the Amiga 1000 and most A500's and A2000's. If you intend
420 to run Linux on any of these systems, say Y; otherwise say N.
423 bool "Amiga ECS chipset support"
426 This enables support for the Enhanced Chip Set, found in later
427 A500's, later A2000's, the A600, the A3000, the A3000T and CDTV. If
428 you intend to run Linux on any of these systems, say Y; otherwise
432 bool "Amiga AGA chipset support"
435 This enables support for the Advanced Graphics Architecture (also
436 known as the AGA or AA) Chip Set, found in the A1200, A4000, A4000T
437 and CD32. If you intend to run Linux on any of these systems, say Y;
441 bool "Amiga FrameMaster II/Rainbow II support"
442 depends on (FB = y) && ZORRO
443 select FB_CFB_FILLRECT
444 select FB_CFB_COPYAREA
445 select FB_CFB_IMAGEBLIT
447 This is the frame buffer device driver for the Amiga FrameMaster
448 card from BSC (exhibited 1992 but not shipped as a CBM product).
451 tristate "Arc Monochrome LCD board support"
452 depends on FB && (X86 || COMPILE_TEST)
453 select FB_SYS_FILLRECT
454 select FB_SYS_COPYAREA
455 select FB_SYS_IMAGEBLIT
458 This enables support for the Arc Monochrome LCD board. The board
459 is based on the KS-108 lcd controller and is typically a matrix
460 of 2*n chips. This driver was tested with a 128x64 panel. This
461 driver supports it for use with x86 SBCs through a 16 bit GPIO
462 interface (8 bit data, 8 bit control). If you anticipate using
463 this driver, say Y or M; otherwise say N. You must specify the
464 GPIO IO address to be used for setting control and data.
467 bool "Atari native chipset support"
468 depends on (FB = y) && ATARI
469 select FB_CFB_FILLRECT
470 select FB_CFB_COPYAREA
471 select FB_CFB_IMAGEBLIT
473 This is the frame buffer device driver for the builtin graphics
474 chipset found in Ataris.
477 tristate "Open Firmware frame buffer device support"
478 depends on FB && PPC && (!PPC_PSERIES || PCI)
479 depends on !DRM_OFDRM
480 select APERTURE_HELPERS
481 select FB_CFB_FILLRECT
482 select FB_CFB_COPYAREA
483 select FB_CFB_IMAGEBLIT
486 Say Y if you want support with Open Firmware for your graphics
490 bool "Apple \"control\" display support"
491 depends on (FB = y) && ((PPC_PMAC && PPC32) || COMPILE_TEST)
492 select FB_CFB_FILLRECT
493 select FB_CFB_COPYAREA
494 select FB_CFB_IMAGEBLIT
497 This driver supports a frame buffer for the graphics adapter in the
498 Power Macintosh 7300 and others.
501 bool "Apple \"platinum\" display support"
502 depends on (FB = y) && PPC_PMAC && PPC32
503 select FB_CFB_FILLRECT
504 select FB_CFB_COPYAREA
505 select FB_CFB_IMAGEBLIT
508 This driver supports a frame buffer for the "platinum" graphics
509 adapter in some Power Macintoshes.
512 bool "Apple \"valkyrie\" display support"
513 depends on (FB = y) && (MAC || (PPC_PMAC && PPC32))
514 select FB_CFB_FILLRECT
515 select FB_CFB_COPYAREA
516 select FB_CFB_IMAGEBLIT
519 This driver supports a frame buffer for the "valkyrie" graphics
520 adapter in some Power Macintoshes.
523 bool "Chips 65550 display support"
524 depends on (FB = y) && PPC32 && PCI
525 select FB_CFB_FILLRECT
526 select FB_CFB_COPYAREA
527 select FB_CFB_IMAGEBLIT
528 select VIDEO_NOMODESET
530 This is the frame buffer device driver for the Chips & Technologies
531 65550 graphics chip in PowerBooks.
534 bool "Asiliant (Chips) 69000 display support"
535 depends on (FB = y) && PCI
536 select FB_CFB_FILLRECT
537 select FB_CFB_COPYAREA
538 select FB_CFB_IMAGEBLIT
539 select VIDEO_NOMODESET
541 This is the frame buffer device driver for the Asiliant 69030 chipset
544 bool "IMS Twin Turbo display support"
545 depends on (FB = y) && PCI
546 select FB_CFB_IMAGEBLIT
547 select FB_MACMODES if PPC_PMAC
548 select VIDEO_NOMODESET
550 The IMS Twin Turbo is a PCI-based frame buffer card bundled with
551 many Macintosh and compatible computers.
554 tristate "VGA 16-color graphics support"
555 depends on FB && (X86 || PPC)
556 select APERTURE_HELPERS
557 select FB_CFB_FILLRECT
558 select FB_CFB_COPYAREA
559 select FB_CFB_IMAGEBLIT
561 select FONT_8x16 if FRAMEBUFFER_CONSOLE
563 This is the frame buffer device driver for VGA 16 color graphic
564 cards. Say Y if you have such a card.
566 To compile this driver as a module, choose M here: the
567 module will be called vga16fb.
570 tristate "HP STI frame buffer device support"
571 depends on FB && PARISC
572 select FB_CFB_FILLRECT
573 select FB_CFB_COPYAREA
574 select FB_CFB_IMAGEBLIT
578 Enabling this option will implement the linux framebuffer device
579 using calls to the STI BIOS routines for initialisation.
581 If you enable this option, you will get a planar framebuffer device
582 /dev/fb which will work on the most common HP graphic cards of the
583 NGLE family, including the artist chips (in the 7xx and Bxxx series),
584 HCRX, HCRX24, CRX, CRX24 and VisEG series.
586 It is safe to enable this option, so you should probably say "Y".
589 bool "Generic Macintosh display support"
590 depends on (FB = y) && MAC
591 select FB_CFB_FILLRECT
592 select FB_CFB_COPYAREA
593 select FB_CFB_IMAGEBLIT
598 depends on (FB = y) && DIO
599 select FB_CFB_IMAGEBLIT
603 tristate "TGA/SFB+ framebuffer support"
606 depends on ALPHA || TC
607 select FB_CFB_FILLRECT
608 select FB_CFB_COPYAREA
609 select FB_CFB_IMAGEBLIT
611 select VIDEO_NOMODESET
613 This is the frame buffer device driver for generic TGA and SFB+
614 graphic cards. These include DEC ZLXp-E1, -E2 and -E3 PCI cards,
615 also known as PBXGA-A, -B and -C, and DEC ZLX-E1, -E2 and -E3
616 TURBOchannel cards, also known as PMAGD-A, -B and -C.
618 Due to hardware limitations ZLX-E2 and E3 cards are not supported
619 for DECstation 5000/200 systems. Additionally due to firmware
620 limitations these cards may cause troubles with booting DECstation
621 5000/240 and /260 systems, but are fully supported under Linux if
622 you manage to get it going. ;-)
624 Say Y if you have one of those.
627 tristate "Userspace VESA VGA graphics support"
628 depends on FB && CONNECTOR
630 select FB_CFB_FILLRECT
631 select FB_CFB_COPYAREA
632 select FB_CFB_IMAGEBLIT
633 select FB_MODE_HELPERS
635 This is the frame buffer driver for generic VBE 2.0 compliant
636 graphic cards. It can also take advantage of VBE 3.0 features,
637 such as refresh rate adjustment.
639 This driver generally provides more features than vesafb but
640 requires a userspace helper application called 'v86d'. See
641 <file:Documentation/fb/uvesafb.rst> for more information.
646 bool "VESA VGA graphics support"
647 depends on (FB = y) && X86
648 select APERTURE_HELPERS
649 select FB_CFB_FILLRECT
650 select FB_CFB_COPYAREA
651 select FB_CFB_IMAGEBLIT
654 This is the frame buffer device driver for generic VESA 2.0
655 compliant graphic cards. The older VESA 1.2 cards are not supported.
656 You will get a boot time penguin logo at no additional cost. Please
657 read <file:Documentation/fb/vesafb.rst>. If unsure, say Y.
660 bool "EFI-based Framebuffer Support"
661 depends on (FB = y) && !IA64 && EFI
662 select APERTURE_HELPERS
663 select DRM_PANEL_ORIENTATION_QUIRKS
664 select FB_CFB_FILLRECT
665 select FB_CFB_COPYAREA
666 select FB_CFB_IMAGEBLIT
669 This is the EFI frame buffer device driver. If the firmware on
670 your platform is EFI 1.10 or UEFI 2.0, select Y to add support for
671 using the EFI framebuffer as your console.
674 tristate "N411 Apollo/Hecuba devkit support"
675 depends on FB && X86 && MMU
676 select FB_SYS_FILLRECT
677 select FB_SYS_COPYAREA
678 select FB_SYS_IMAGEBLIT
680 select FB_DEFERRED_IO
683 This enables support for the Apollo display controller in its
684 Hecuba form using the n411 devkit.
687 tristate "Hercules mono graphics support"
690 Say Y here if you have a Hercules mono graphics card.
692 To compile this driver as a module, choose M here: the
693 module will be called hgafb.
695 As this card technology is at least 25 years old,
696 most people will answer N here.
699 bool "SGI Graphics Backend frame buffer support"
700 depends on (FB = y) && HAS_IOMEM
701 depends on SGI_IP32 || COMPILE_TEST
702 select FB_CFB_FILLRECT
703 select FB_CFB_COPYAREA
704 select FB_CFB_IMAGEBLIT
706 This is the frame buffer device driver for SGI Graphics Backend.
707 This chip is used in SGI O2 and Visual Workstation 320/540.
710 int "Video memory size in MB"
714 This is the amount of memory reserved for the framebuffer,
715 which can be any value between 1MB and 8MB.
718 bool "SBUS and UPA framebuffers"
719 depends on (FB = y) && SPARC
721 Say Y if you want support for SBUS or UPA based frame buffer device.
725 depends on (FB = y) && (SPARC && FB_SBUS)
726 select FB_CFB_FILLRECT
727 select FB_CFB_COPYAREA
728 select FB_CFB_IMAGEBLIT
730 This is the frame buffer device driver for the BWtwo frame buffer.
733 bool "CGthree support"
734 depends on (FB = y) && (SPARC && FB_SBUS)
735 select FB_CFB_FILLRECT
736 select FB_CFB_COPYAREA
737 select FB_CFB_IMAGEBLIT
739 This is the frame buffer device driver for the CGthree frame buffer.
742 bool "CGsix (GX,TurboGX) support"
743 depends on (FB = y) && (SPARC && FB_SBUS)
744 select FB_CFB_COPYAREA
745 select FB_CFB_IMAGEBLIT
747 This is the frame buffer device driver for the CGsix (GX, TurboGX)
751 bool "Creator/Creator3D/Elite3D support"
752 depends on FB_SBUS && SPARC64
753 select FB_CFB_COPYAREA
754 select FB_CFB_IMAGEBLIT
756 This is the frame buffer device driver for the Creator, Creator3D,
757 and Elite3D graphics boards.
760 bool "TCX (SS4/SS5 only) support"
762 select FB_CFB_FILLRECT
763 select FB_CFB_COPYAREA
764 select FB_CFB_IMAGEBLIT
766 This is the frame buffer device driver for the TCX 24/8bit frame
770 bool "CGfourteen (SX) support"
772 select FB_CFB_FILLRECT
773 select FB_CFB_COPYAREA
774 select FB_CFB_IMAGEBLIT
776 This is the frame buffer device driver for the CGfourteen frame
777 buffer on Desktop SPARCsystems with the SX graphics option.
780 bool "P9100 (Sparcbook 3 only) support"
782 select FB_CFB_FILLRECT
783 select FB_CFB_COPYAREA
784 select FB_CFB_IMAGEBLIT
786 This is the frame buffer device driver for the P9100 card
787 supported on Sparcbook 3 machines.
790 bool "Leo (ZX) support"
792 select FB_CFB_FILLRECT
793 select FB_CFB_COPYAREA
794 select FB_CFB_IMAGEBLIT
796 This is the frame buffer device driver for the SBUS-based Sun ZX
797 (leo) frame buffer cards.
800 bool "Sun XVR-500 3DLABS Wildcat support"
801 depends on (FB = y) && PCI && SPARC64
802 select FB_CFB_FILLRECT
803 select FB_CFB_COPYAREA
804 select FB_CFB_IMAGEBLIT
805 select VIDEO_NOMODESET
807 This is the framebuffer device for the Sun XVR-500 and similar
808 graphics cards based upon the 3DLABS Wildcat chipset. The driver
809 only works on sparc64 systems where the system firmware has
810 mostly initialized the card already. It is treated as a
811 completely dumb framebuffer device.
814 bool "Sun XVR-2500 3DLABS Wildcat support"
815 depends on (FB = y) && PCI && SPARC64
816 select FB_CFB_FILLRECT
817 select FB_CFB_COPYAREA
818 select FB_CFB_IMAGEBLIT
819 select VIDEO_NOMODESET
821 This is the framebuffer device for the Sun XVR-2500 and similar
822 graphics cards based upon the 3DLABS Wildcat chipset. The driver
823 only works on sparc64 systems where the system firmware has
824 mostly initialized the card already. It is treated as a
825 completely dumb framebuffer device.
828 bool "Sun XVR-1000 support"
829 depends on (FB = y) && SPARC64
830 select FB_CFB_FILLRECT
831 select FB_CFB_COPYAREA
832 select FB_CFB_IMAGEBLIT
834 This is the framebuffer device for the Sun XVR-1000 and similar
835 graphics cards. The driver only works on sparc64 systems where
836 the system firmware has mostly initialized the card already. It
837 is treated as a completely dumb framebuffer device.
840 tristate "NEC PowerVR 2 display support"
841 depends on FB && HAS_IOMEM
842 depends on SH_DREAMCAST || COMPILE_TEST
843 select FB_CFB_FILLRECT
844 select FB_CFB_COPYAREA
845 select FB_CFB_IMAGEBLIT
846 select VIDEO_NOMODESET
848 Say Y here if you have a PowerVR 2 card in your box. If you plan to
849 run linux on your Dreamcast, you will have to say Y here.
850 This driver may or may not work on other PowerVR 2 cards, but is
851 totally untested. Use at your own risk. If unsure, say N.
853 To compile this driver as a module, choose M here: the
854 module will be called pvr2fb.
856 You can pass several parameters to the driver at boot time or at
857 module load time. The parameters look like "video=pvr2:XXX", where
858 the meaning of XXX can be found at the end of the main source file
859 (<file:drivers/video/fbdev/pvr2fb.c>). Please see the file
860 <file:Documentation/fb/pvr2fb.rst>.
863 tristate "OpenCores VGA/LCD core 2.0 framebuffer support"
864 depends on FB && HAS_DMA
865 select FB_CFB_FILLRECT
866 select FB_CFB_COPYAREA
867 select FB_CFB_IMAGEBLIT
869 This enables support for the OpenCores VGA/LCD core.
871 The OpenCores VGA/LCD core is typically used together with
872 softcore CPUs (e.g. OpenRISC or Microblaze) or hard processor
873 systems (e.g. Altera socfpga or Xilinx Zynq) on FPGAs.
875 The source code and specification for the core is available at
876 <https://opencores.org/project,vga_lcd>
879 tristate "Epson S1D13XXX framebuffer support"
881 select FB_CFB_FILLRECT
882 select FB_CFB_COPYAREA
883 select FB_CFB_IMAGEBLIT
885 Support for S1D13XXX framebuffer device family (currently only
886 working with S1D13806). Product specs at
887 <https://vdc.epson.com/>
890 tristate "AT91 LCD Controller support"
891 depends on FB && OF && HAVE_CLK && HAS_IOMEM
892 depends on HAVE_FB_ATMEL || COMPILE_TEST
894 select FB_CFB_FILLRECT
895 select FB_CFB_COPYAREA
896 select FB_CFB_IMAGEBLIT
897 select FB_MODE_HELPERS
898 select VIDEOMODE_HELPERS
900 This enables support for the AT91 LCD Controller.
903 tristate "nVidia Framebuffer Support"
905 select FB_BACKLIGHT if FB_NVIDIA_BACKLIGHT
906 select FB_MODE_HELPERS
907 select FB_CFB_FILLRECT
908 select FB_CFB_COPYAREA
909 select FB_CFB_IMAGEBLIT
912 select VIDEO_NOMODESET
914 This driver supports graphics boards with the nVidia chips, TNT
915 and newer. For very old chipsets, such as the RIVA128, then use
917 Say Y if you have such a graphics board.
919 To compile this driver as a module, choose M here: the
920 module will be called nvidiafb.
923 bool "Enable DDC Support"
927 This enables I2C support for nVidia Chipsets. This is used
928 only for getting EDID information from the attached display
929 allowing for robust video mode handling and switching.
931 Because fbdev-2.6 requires that drivers must be able to
932 independently validate video mode parameters, you should say Y
935 config FB_NVIDIA_DEBUG
936 bool "Lots of debug output"
939 Say Y here if you want the nVidia driver to output all sorts
940 of debugging information to provide to the maintainer when
941 something goes wrong.
943 config FB_NVIDIA_BACKLIGHT
944 bool "Support for backlight control"
948 Say Y here if you want to control the backlight of your display.
951 tristate "nVidia Riva support"
953 select FB_BACKLIGHT if FB_RIVA_BACKLIGHT
954 select FB_MODE_HELPERS
955 select FB_CFB_FILLRECT
956 select FB_CFB_COPYAREA
957 select FB_CFB_IMAGEBLIT
960 select VIDEO_NOMODESET
962 This driver supports graphics boards with the nVidia Riva/Geforce
964 Say Y if you have such a graphics board.
966 To compile this driver as a module, choose M here: the
967 module will be called rivafb.
970 bool "Enable DDC Support"
974 This enables I2C support for nVidia Chipsets. This is used
975 only for getting EDID information from the attached display
976 allowing for robust video mode handling and switching.
978 Because fbdev-2.6 requires that drivers must be able to
979 independently validate video mode parameters, you should say Y
983 bool "Lots of debug output"
986 Say Y here if you want the Riva driver to output all sorts
987 of debugging information to provide to the maintainer when
988 something goes wrong.
990 config FB_RIVA_BACKLIGHT
991 bool "Support for backlight control"
995 Say Y here if you want to control the backlight of your display.
998 tristate "Intel740 support"
1000 select FB_MODE_HELPERS
1001 select FB_CFB_FILLRECT
1002 select FB_CFB_COPYAREA
1003 select FB_CFB_IMAGEBLIT
1005 select VIDEO_NOMODESET
1008 This driver supports graphics cards based on Intel740 chip.
1011 tristate "Intel 810/815 support"
1012 depends on FB && PCI && X86_32 && AGP_INTEL
1013 select FB_MODE_HELPERS
1014 select FB_CFB_FILLRECT
1015 select FB_CFB_COPYAREA
1016 select FB_CFB_IMAGEBLIT
1018 select VIDEO_NOMODESET
1020 This driver supports the on-board graphics built in to the Intel 810
1021 and 815 chipsets. Say Y if you have and plan to use such a board.
1023 To compile this driver as a module, choose M here: the
1024 module will be called i810fb.
1026 For more information, please read
1027 <file:Documentation/fb/intel810.rst>
1030 bool "use VESA Generalized Timing Formula"
1033 If you say Y, then the VESA standard, Generalized Timing Formula
1034 or GTF, will be used to calculate the required video timing values
1035 per video mode. Since the GTF allows nondiscrete timings
1036 (nondiscrete being a range of values as opposed to discrete being a
1037 set of values), you'll be able to use any combination of horizontal
1038 and vertical resolutions, and vertical refresh rates without having
1039 to specify your own timing parameters. This is especially useful
1040 to maximize the performance of an aging display, or if you just
1041 have a display with nonstandard dimensions. A VESA compliant
1042 monitor is recommended, but can still work with non-compliant ones.
1043 If you need or want this, then select this option. The timings may
1044 not be compliant with Intel's recommended values. Use at your own
1047 If you say N, the driver will revert to discrete video timings
1048 using a set recommended by Intel in their documentation.
1053 bool "Enable DDC Support"
1054 depends on FB_I810 && FB_I810_GTF
1057 Add DDC/I2C support for i810fb. This will allow the driver to get
1058 display information, especially for monitors with fickle timings.
1063 tristate "Intel LE80578 (Vermilion) support"
1064 depends on FB && PCI && X86
1065 select FB_MODE_HELPERS
1066 select FB_CFB_FILLRECT
1067 select FB_CFB_COPYAREA
1068 select FB_CFB_IMAGEBLIT
1069 select VIDEO_NOMODESET
1071 This driver supports the LE80578 (Vermilion Range) chipset
1073 config FB_CARILLO_RANCH
1074 tristate "Intel Carillo Ranch support"
1075 depends on FB_LE80578 && FB && PCI && X86
1077 This driver supports the LE80578 (Carillo Ranch) board
1080 tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM support"
1081 depends on FB && PCI && X86 && AGP_INTEL && EXPERT
1082 select FB_MODE_HELPERS
1083 select FB_CFB_FILLRECT
1084 select FB_CFB_COPYAREA
1085 select FB_CFB_IMAGEBLIT
1086 select BOOT_VESA_SUPPORT if FB_INTEL = y
1087 select VIDEO_NOMODESET
1088 depends on !DRM_I915
1090 This driver supports the on-board graphics built in to the Intel
1091 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets.
1092 Say Y if you have and plan to use such a board.
1094 To make FB_INTEL=Y work you need to say AGP_INTEL=y too.
1096 To compile this driver as a module, choose M here: the
1097 module will be called intelfb.
1099 For more information, please read <file:Documentation/fb/intelfb.rst>
1101 config FB_INTEL_DEBUG
1102 bool "Intel driver Debug Messages"
1105 Say Y here if you want the Intel driver to output all sorts
1106 of debugging information to provide to the maintainer when
1107 something goes wrong.
1110 bool "DDC/I2C for Intel framebuffer support"
1115 Say Y here if you want DDC/I2C support for your on-board Intel graphics.
1118 tristate "Matrox acceleration"
1119 depends on FB && PCI
1120 select FB_CFB_FILLRECT
1121 select FB_CFB_COPYAREA
1122 select FB_CFB_IMAGEBLIT
1123 select FB_TILEBLITTING
1124 select FB_MACMODES if PPC_PMAC
1125 select VIDEO_NOMODESET
1127 Say Y here if you have a Matrox Millennium, Matrox Millennium II,
1128 Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
1129 Mystique G200, Matrox Millennium G200, Matrox Marvel G200 video,
1130 Matrox G400, G450 or G550 card in your box.
1132 To compile this driver as a module, choose M here: the
1133 module will be called matroxfb.
1135 You can pass several parameters to the driver at boot time or at
1136 module load time. The parameters look like "video=matroxfb:XXX", and
1137 are described in <file:Documentation/fb/matroxfb.rst>.
1139 config FB_MATROX_MILLENIUM
1140 bool "Millennium I/II support"
1141 depends on FB_MATROX
1143 Say Y here if you have a Matrox Millennium or Matrox Millennium II
1144 video card. If you select "Advanced lowlevel driver options" below,
1145 you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp
1146 packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can
1147 also use font widths different from 8.
1149 config FB_MATROX_MYSTIQUE
1150 bool "Mystique support"
1151 depends on FB_MATROX
1153 Say Y here if you have a Matrox Mystique or Matrox Mystique 220
1154 video card. If you select "Advanced lowlevel driver options" below,
1155 you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp
1156 packed pixel and 32 bpp packed pixel. You can also use font widths
1160 bool "G100/G200/G400/G450/G550 support"
1161 depends on FB_MATROX
1163 Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based
1164 video card. If you select "Advanced lowlevel driver options", you
1165 should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed
1166 pixel and 32 bpp packed pixel. You can also use font widths
1169 If you need support for G400 secondary head, you must say Y to
1170 "Matrox I2C support" and "G400 second head support" right below.
1171 G450/G550 secondary head and digital output are supported without
1174 The driver starts in monitor mode. You must use the matroxset tool
1175 (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to
1176 swap primary and secondary head outputs, or to change output mode.
1177 Secondary head driver always start in 640x480 resolution and you
1178 must use fbset to change it.
1180 Do not forget that second head supports only 16 and 32 bpp
1181 packed pixels, so it is a good idea to compile them into the kernel
1182 too. You can use only some font widths, as the driver uses generic
1183 painting procedures (the secondary head does not use acceleration
1186 G450/G550 hardware can display TV picture only from secondary CRTC,
1187 and it performs no scaling, so picture must have 525 or 625 lines.
1189 config FB_MATROX_I2C
1190 tristate "Matrox I2C support"
1191 depends on FB_MATROX
1194 This drivers creates I2C buses which are needed for accessing the
1195 DDC (I2C) bus present on all Matroxes, an I2C bus which
1196 interconnects Matrox optional devices, like MGA-TVO on G200 and
1197 G400, and the secondary head DDC bus, present on G400 only.
1199 You can say Y or M here if you want to experiment with monitor
1200 detection code. You must say Y or M here if you want to use either
1201 second head of G400 or MGA-TVO on G200 or G400.
1203 If you compile it as module, it will create a module named
1206 config FB_MATROX_MAVEN
1207 tristate "G400 second head support"
1208 depends on FB_MATROX_G && FB_MATROX_I2C
1210 WARNING !!! This support does not work with G450 !!!
1212 Say Y or M here if you want to use a secondary head (meaning two
1213 monitors in parallel) on G400 or MGA-TVO add-on on G200. Secondary
1214 head is not compatible with accelerated XFree 3.3.x SVGA servers -
1215 secondary head output is blanked while you are in X. With XFree
1216 3.9.17 preview you can use both heads if you use SVGA over fbdev or
1217 the fbdev driver on first head and the fbdev driver on second head.
1219 If you compile it as module, two modules are created,
1220 matroxfb_crtc2 and matroxfb_maven. Matroxfb_maven is needed for
1221 both G200 and G400, matroxfb_crtc2 is needed only by G400. You must
1222 also load i2c-matroxfb to get it to run.
1224 The driver starts in monitor mode and you must use the matroxset
1226 <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to switch it to
1227 PAL or NTSC or to swap primary and secondary head outputs.
1228 Secondary head driver also always start in 640x480 resolution, you
1229 must use fbset to change it.
1231 Also do not forget that second head supports only 16 and 32 bpp
1232 packed pixels, so it is a good idea to compile them into the kernel
1233 too. You can use only some font widths, as the driver uses generic
1234 painting procedures (the secondary head does not use acceleration
1238 tristate "ATI Radeon display support"
1239 depends on FB && PCI
1240 select FB_BACKLIGHT if FB_RADEON_BACKLIGHT
1241 select FB_MODE_HELPERS
1242 select FB_CFB_FILLRECT
1243 select FB_CFB_COPYAREA
1244 select FB_CFB_IMAGEBLIT
1245 select FB_MACMODES if PPC
1246 select VIDEO_NOMODESET
1248 Choose this option if you want to use an ATI Radeon graphics card as
1249 a framebuffer device. There are both PCI and AGP versions. You
1250 don't need to choose this to run the Radeon in plain VGA mode.
1252 There is a product page at
1253 https://products.amd.com/en-us/GraphicCardResult.aspx
1255 config FB_RADEON_I2C
1256 bool "DDC/I2C for ATI Radeon support"
1257 depends on FB_RADEON
1261 Say Y here if you want DDC/I2C support for your Radeon board.
1263 config FB_RADEON_BACKLIGHT
1264 bool "Support for backlight control"
1265 depends on FB_RADEON
1268 Say Y here if you want to control the backlight of your display.
1270 config FB_RADEON_DEBUG
1271 bool "Lots of debug output from Radeon driver"
1272 depends on FB_RADEON
1274 Say Y here if you want the Radeon driver to output all sorts
1275 of debugging information to provide to the maintainer when
1276 something goes wrong.
1279 tristate "ATI Rage128 display support"
1280 depends on FB && PCI
1281 select FB_CFB_FILLRECT
1282 select FB_CFB_COPYAREA
1283 select FB_CFB_IMAGEBLIT
1284 select FB_BACKLIGHT if FB_ATY128_BACKLIGHT
1285 select FB_MACMODES if PPC_PMAC
1286 select VIDEO_NOMODESET
1288 This driver supports graphics boards with the ATI Rage128 chips.
1289 Say Y if you have such a graphics board and read
1290 <file:Documentation/fb/aty128fb.rst>.
1292 To compile this driver as a module, choose M here: the
1293 module will be called aty128fb.
1295 config FB_ATY128_BACKLIGHT
1296 bool "Support for backlight control"
1297 depends on FB_ATY128
1300 Say Y here if you want to control the backlight of your display.
1303 tristate "ATI Mach64 display support" if PCI || ATARI
1304 depends on FB && !SPARC32
1305 select FB_CFB_FILLRECT
1306 select FB_CFB_COPYAREA
1307 select FB_CFB_IMAGEBLIT
1308 select FB_BACKLIGHT if FB_ATY_BACKLIGHT
1309 select FB_MACMODES if PPC
1310 select FB_ATY_CT if SPARC64 && PCI
1311 select VIDEO_NOMODESET
1313 This driver supports graphics boards with the ATI Mach64 chips.
1314 Say Y if you have such a graphics board.
1316 To compile this driver as a module, choose M here: the
1317 module will be called atyfb.
1320 bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support"
1321 depends on PCI && FB_ATY
1323 Say Y here to support use of ATI's 64-bit Rage boards (or other
1324 boards based on the Mach64 CT, VT, GT, and LT chipsets) as a
1325 framebuffer device. The ATI product support page for these boards
1326 is at <http://support.ati.com/products/pc/mach64/mach64.html>.
1328 config FB_ATY_GENERIC_LCD
1329 bool "Mach64 generic LCD support"
1330 depends on FB_ATY_CT
1332 Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility,
1333 Rage XC, or Rage XL chipset.
1336 bool "Mach64 GX support" if PCI
1340 Say Y here to support use of the ATI Mach64 Graphics Expression
1341 board (or other boards based on the Mach64 GX chipset) as a
1342 framebuffer device. The ATI product support page for these boards
1344 <http://support.ati.com/products/pc/mach64/graphics_xpression.html>.
1346 config FB_ATY_BACKLIGHT
1347 bool "Support for backlight control"
1351 Say Y here if you want to control the backlight of your display.
1354 tristate "S3 Trio/Virge support"
1355 depends on FB && PCI
1356 select FB_CFB_FILLRECT
1357 select FB_CFB_COPYAREA
1358 select FB_CFB_IMAGEBLIT
1359 select FB_TILEBLITTING
1362 select VIDEO_NOMODESET
1363 select FONT_8x16 if FRAMEBUFFER_CONSOLE
1365 Driver for graphics boards with S3 Trio / S3 Virge chip.
1368 bool "DDC for S3 support"
1373 Say Y here if you want DDC support for your S3 graphics card.
1376 tristate "S3 Savage support"
1377 depends on FB && PCI
1378 select FB_MODE_HELPERS
1379 select FB_CFB_FILLRECT
1380 select FB_CFB_COPYAREA
1381 select FB_CFB_IMAGEBLIT
1383 select VIDEO_NOMODESET
1385 This driver supports notebooks and computers with S3 Savage PCI/AGP
1388 Say Y if you have such a graphics card.
1390 To compile this driver as a module, choose M here; the module
1391 will be called savagefb.
1393 config FB_SAVAGE_I2C
1394 bool "Enable DDC2 Support"
1395 depends on FB_SAVAGE
1398 This enables I2C support for S3 Savage Chipsets. This is used
1399 only for getting EDID information from the attached display
1400 allowing for robust video mode handling and switching.
1402 Because fbdev-2.6 requires that drivers must be able to
1403 independently validate video mode parameters, you should say Y
1406 config FB_SAVAGE_ACCEL
1407 bool "Enable Console Acceleration"
1408 depends on FB_SAVAGE
1410 This option will compile in console acceleration support. If
1411 the resulting framebuffer console has bothersome glitches, then
1415 tristate "SiS/XGI display support"
1416 depends on FB && PCI
1417 select FB_CFB_FILLRECT
1418 select FB_CFB_COPYAREA
1419 select FB_CFB_IMAGEBLIT
1420 select BOOT_VESA_SUPPORT if FB_SIS = y
1421 select FB_SIS_300 if !FB_SIS_315
1422 select VIDEO_NOMODESET
1424 This is the frame buffer device driver for the SiS 300, 315, 330
1425 and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets.
1426 Specs available at <https://www.sis.com> and <http://www.xgitech.com>.
1428 To compile this driver as a module, choose M here; the module
1429 will be called sisfb.
1432 bool "SiS 300 series support"
1435 Say Y here to support use of the SiS 300/305, 540, 630 and 730.
1438 bool "SiS 315/330/340 series and XGI support"
1441 Say Y here to support use of the SiS 315, 330 and 340 series
1442 (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well
1443 as XGI V3XT, V5, V8 and Z7.
1446 tristate "VIA UniChrome (Pro) and Chrome9 display support"
1447 depends on FB && PCI && GPIOLIB && I2C && (X86 || COMPILE_TEST)
1448 select FB_CFB_FILLRECT
1449 select FB_CFB_COPYAREA
1450 select FB_CFB_IMAGEBLIT
1452 select VIDEO_NOMODESET
1454 This is the frame buffer device driver for Graphics chips of VIA
1455 UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/
1456 CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896
1458 Say Y if you have a VIA UniChrome graphics board.
1460 To compile this driver as a module, choose M here: the
1461 module will be called viafb.
1465 config FB_VIA_DIRECT_PROCFS
1466 bool "direct hardware access via procfs (DEPRECATED)(DANGEROUS)"
1468 Allow direct hardware access to some output registers via procfs.
1469 This is dangerous but may provide the only chance to get the
1470 correct output device configuration.
1471 Its use is strongly discouraged.
1473 config FB_VIA_X_COMPATIBILITY
1474 bool "X server compatibility"
1476 This option reduces the functionality (power saving, ...) of the
1477 framebuffer to avoid negative impact on the OpenChrome X server.
1478 If you use any X server other than fbdev you should enable this
1479 otherwise it should be safe to disable it and allow using all
1485 tristate "NeoMagic display support"
1486 depends on FB && PCI
1487 select FB_MODE_HELPERS
1488 select FB_CFB_FILLRECT
1489 select FB_CFB_COPYAREA
1490 select FB_CFB_IMAGEBLIT
1492 select VIDEO_NOMODESET
1494 This driver supports notebooks with NeoMagic PCI chips.
1495 Say Y if you have such a graphics card.
1497 To compile this driver as a module, choose M here: the
1498 module will be called neofb.
1501 tristate "IMG Kyro support"
1502 depends on FB && PCI
1503 select FB_CFB_FILLRECT
1504 select FB_CFB_COPYAREA
1505 select FB_CFB_IMAGEBLIT
1506 select VIDEO_NOMODESET
1508 Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
1511 To compile this driver as a module, choose M here: the
1512 module will be called kyrofb.
1515 tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support"
1516 depends on FB && PCI
1517 select FB_CFB_IMAGEBLIT
1518 select FB_CFB_FILLRECT
1519 select FB_CFB_COPYAREA
1520 select FB_MODE_HELPERS
1521 select VIDEO_NOMODESET
1523 This driver supports graphics boards with the 3Dfx Banshee,
1524 Voodoo3 or VSA-100 (aka Voodoo4/5) chips. Say Y if you have
1525 such a graphics board.
1527 To compile this driver as a module, choose M here: the
1528 module will be called tdfxfb.
1530 config FB_3DFX_ACCEL
1531 bool "3Dfx Acceleration functions"
1534 This will compile the 3Dfx Banshee/Voodoo3/VSA-100 frame buffer
1535 device driver with acceleration functions.
1538 bool "Enable DDC/I2C support"
1543 Say Y here if you want DDC/I2C support for your 3dfx Voodoo3.
1546 tristate "3Dfx Voodoo Graphics (sst1) support"
1547 depends on FB && PCI
1548 select FB_CFB_FILLRECT
1549 select FB_CFB_COPYAREA
1550 select FB_CFB_IMAGEBLIT
1551 select VIDEO_NOMODESET
1553 Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or
1554 Voodoo2 (cvg) based graphics card.
1556 To compile this driver as a module, choose M here: the
1557 module will be called sstfb.
1559 WARNING: Do not use any application that uses the 3D engine
1560 (namely glide) while using this driver.
1561 Please read the <file:Documentation/fb/sstfb.rst> for supported
1562 options and other important info support.
1565 tristate "VIA VT8623 support"
1566 depends on FB && PCI
1567 select FB_CFB_FILLRECT
1568 select FB_CFB_COPYAREA
1569 select FB_CFB_IMAGEBLIT
1570 select FB_TILEBLITTING
1573 select VIDEO_NOMODESET
1574 select FONT_8x16 if FRAMEBUFFER_CONSOLE
1576 Driver for CastleRock integrated graphics core in the
1577 VIA VT8623 [Apollo CLE266] chipset.
1580 tristate "Trident/CyberXXX/CyberBlade support"
1581 depends on FB && PCI
1582 select FB_CFB_FILLRECT
1583 select FB_CFB_COPYAREA
1584 select FB_CFB_IMAGEBLIT
1586 select FB_MODE_HELPERS
1587 select VIDEO_NOMODESET
1589 This is the frame buffer device driver for Trident PCI/AGP chipsets.
1590 Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D
1592 There are also integrated versions of these chips called CyberXXXX,
1593 CyberImage or CyberBlade. These chips are mostly found in laptops
1594 but also on some motherboards including early VIA EPIA motherboards.
1595 For more information, read <file:Documentation/fb/tridentfb.rst>
1597 Say Y if you have such a graphics board.
1599 To compile this driver as a module, choose M here: the
1600 module will be called tridentfb.
1603 tristate "ARK 2000PV support"
1604 depends on FB && PCI
1605 select FB_CFB_FILLRECT
1606 select FB_CFB_COPYAREA
1607 select FB_CFB_IMAGEBLIT
1608 select FB_TILEBLITTING
1611 select VIDEO_NOMODESET
1612 select FONT_8x16 if FRAMEBUFFER_CONSOLE
1614 Driver for PCI graphics boards with ARK 2000PV chip
1615 and ICS 5342 RAMDAC.
1618 tristate "Permedia3 support"
1619 depends on FB && PCI
1620 select FB_CFB_FILLRECT
1621 select FB_CFB_COPYAREA
1622 select FB_CFB_IMAGEBLIT
1623 select VIDEO_NOMODESET
1625 This is the frame buffer device driver for the 3DLabs Permedia3
1626 chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 &
1627 similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
1628 and maybe other boards.
1631 tristate "Fujitsu carmine frame buffer support"
1632 depends on FB && PCI
1633 select FB_CFB_FILLRECT
1634 select FB_CFB_COPYAREA
1635 select FB_CFB_IMAGEBLIT
1636 select VIDEO_NOMODESET
1638 This is the frame buffer device driver for the Fujitsu Carmine chip.
1639 The driver provides two independent frame buffer devices.
1642 depends on FB_CARMINE
1643 prompt "DRAM timing"
1644 default FB_CARMINE_DRAM_EVAL
1646 config FB_CARMINE_DRAM_EVAL
1647 bool "Eval board timings"
1649 Use timings which work on the eval card.
1651 config CARMINE_DRAM_CUSTOM
1652 bool "Custom board timings"
1654 Use custom board timings.
1658 bool "Au1100 LCD Driver"
1659 depends on (FB = y) && MIPS_ALCHEMY
1660 select FB_CFB_FILLRECT
1661 select FB_CFB_COPYAREA
1662 select FB_CFB_IMAGEBLIT
1664 This is the framebuffer driver for the AMD Au1100 SOC. It can drive
1665 various panels and CRTs by passing in kernel cmd line option
1666 au1100fb:panel=<name>.
1669 bool "Au1200/Au1300 LCD Driver"
1670 depends on (FB = y) && MIPS_ALCHEMY
1671 select FB_SYS_FILLRECT
1672 select FB_SYS_COPYAREA
1673 select FB_SYS_IMAGEBLIT
1676 This is the framebuffer driver for the Au1200/Au1300 SOCs.
1677 It can drive various panels and CRTs by passing in kernel cmd line
1678 option au1200fb:panel=<name>.
1681 bool "VIA VT8500 framebuffer support"
1682 depends on (FB = y) && ARM && ARCH_VT8500
1683 select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1684 select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1685 select FB_SYS_IMAGEBLIT
1686 select FB_MODE_HELPERS
1687 select VIDEOMODE_HELPERS
1689 This is the framebuffer driver for VIA VT8500 integrated LCD
1693 bool "Wondermedia WM8xxx-series frame buffer support"
1694 depends on (FB = y) && HAS_IOMEM && (ARCH_VT8500 || COMPILE_TEST)
1695 select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1696 select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1697 select FB_SYS_IMAGEBLIT
1698 select FB_MODE_HELPERS
1699 select VIDEOMODE_HELPERS
1701 This is the framebuffer driver for WonderMedia WM8xxx-series
1702 integrated LCD controller. This driver covers the WM8505, WM8650
1705 config FB_WMT_GE_ROPS
1706 bool "VT8500/WM8xxx accelerated raster ops support"
1707 depends on (FB = y) && (FB_VT8500 || FB_WM8505)
1709 This adds support for accelerated raster operations on the
1710 VIA VT8500 and Wondermedia 85xx series SoCs.
1712 source "drivers/video/fbdev/geode/Kconfig"
1715 tristate "HD64461 Frame Buffer support"
1716 depends on FB && HD64461
1717 select FB_CFB_FILLRECT
1718 select FB_CFB_COPYAREA
1719 select FB_CFB_IMAGEBLIT
1721 This is the frame buffer device driver for the Hitachi HD64461 LCD
1725 tristate "PMAG-AA TURBOchannel framebuffer support"
1727 select FB_CFB_FILLRECT
1728 select FB_CFB_COPYAREA
1729 select FB_CFB_IMAGEBLIT
1731 Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
1732 used mainly in the MIPS-based DECstation series.
1735 tristate "PMAG-BA TURBOchannel framebuffer support"
1737 select FB_CFB_FILLRECT
1738 select FB_CFB_COPYAREA
1739 select FB_CFB_IMAGEBLIT
1741 Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
1742 used mainly in the MIPS-based DECstation series.
1745 tristate "PMAGB-B TURBOchannel framebuffer support"
1747 select FB_CFB_FILLRECT
1748 select FB_CFB_COPYAREA
1749 select FB_CFB_IMAGEBLIT
1751 Support for the PMAGB-B TURBOchannel framebuffer card used mainly
1752 in the MIPS-based DECstation series. The card is currently only
1753 supported in 1280x1024x8 mode.
1756 bool "Maxine (Personal DECstation) onboard framebuffer support"
1757 depends on (FB = y) && MACH_DECSTATION
1758 select FB_CFB_FILLRECT
1759 select FB_CFB_COPYAREA
1760 select FB_CFB_IMAGEBLIT
1762 Support for the onboard framebuffer (1024x768x8) in the Personal
1763 DECstation series (Personal DECstation 5000/20, /25, /33, /50,
1767 bool "G364 frame buffer support"
1768 depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700)
1769 select FB_CFB_FILLRECT
1770 select FB_CFB_COPYAREA
1771 select FB_CFB_IMAGEBLIT
1773 The G364 driver is the framebuffer used in MIPS Magnum 4000 and
1774 Olivetti M700-10 systems.
1777 bool "Motorola 68328 native frame buffer support"
1778 depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328)
1779 select FB_CFB_FILLRECT
1780 select FB_CFB_COPYAREA
1781 select FB_CFB_IMAGEBLIT
1783 Say Y here if you want to support the built-in frame buffer of
1784 the Motorola 68328 CPU family.
1787 tristate "PXA168/910 LCD framebuffer support"
1788 depends on FB && HAVE_CLK && HAS_IOMEM
1789 depends on CPU_PXA168 || CPU_PXA910 || COMPILE_TEST
1790 select FB_CFB_FILLRECT
1791 select FB_CFB_COPYAREA
1792 select FB_CFB_IMAGEBLIT
1794 Frame buffer driver for the built-in LCD controller in the Marvell
1798 tristate "PXA LCD framebuffer support"
1799 depends on FB && ARCH_PXA
1800 select FB_CFB_FILLRECT
1801 select FB_CFB_COPYAREA
1802 select FB_CFB_IMAGEBLIT
1803 select VIDEOMODE_HELPERS if OF
1804 select FB_MODE_HELPERS if OF
1806 Frame buffer driver for the built-in LCD controller in the Intel
1809 This driver is also available as a module ( = code which can be
1810 inserted and removed from the running kernel whenever you want). The
1811 module will be called pxafb. If you want to compile it as a module,
1812 say M here and read <file:Documentation/kbuild/modules.rst>.
1816 config FB_PXA_OVERLAY
1817 bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer"
1818 depends on FB_PXA && (PXA27x || PXA3xx)
1820 config FB_PXA_SMARTPANEL
1821 bool "PXA Smartpanel LCD support"
1824 config FB_PXA_PARAMETERS
1825 bool "PXA LCD command line parameters"
1828 Enable the use of kernel command line or module parameters
1829 to configure the physical properties of the LCD panel when
1830 using the PXA LCD driver.
1832 This option allows you to override the panel parameters
1833 supplied by the platform in order to support multiple
1834 different models of flatpanel. If you will only be using a
1835 single model of flatpanel then you can safely leave this
1838 <file:Documentation/fb/pxafb.rst> describes the available parameters.
1841 tristate "PXA3xx 2D graphics accelerator driver"
1844 Kernelspace driver for the 2D graphics controller unit (GCU)
1845 found on PXA3xx processors. There is a counterpart driver in the
1846 DirectFB suite, see http://www.directfb.org/
1848 If you compile this as a module, it will be called pxa3xx_gcu.
1851 tristate "Freescale DIU framebuffer support"
1852 depends on FB && FSL_SOC
1853 select FB_MODE_HELPERS
1854 select FB_CFB_FILLRECT
1855 select FB_CFB_COPYAREA
1856 select FB_CFB_IMAGEBLIT
1857 select PPC_LIB_RHEAP
1859 Framebuffer driver for the Freescale SoC DIU
1861 config FB_SH_MOBILE_LCDC
1862 tristate "SuperH Mobile LCDC framebuffer support"
1863 depends on FB && HAVE_CLK && HAS_IOMEM
1864 depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
1865 select FB_SYS_FILLRECT
1866 select FB_SYS_COPYAREA
1867 select FB_SYS_IMAGEBLIT
1869 select FB_DEFERRED_IO
1872 Frame buffer driver for the on-chip SH-Mobile LCD controller.
1875 tristate "Samsung S3C framebuffer support"
1876 depends on FB && HAVE_CLK && HAS_IOMEM
1877 depends on ARCH_S3C64XX || COMPILE_TEST
1878 select FB_CFB_FILLRECT
1879 select FB_CFB_COPYAREA
1880 select FB_CFB_IMAGEBLIT
1882 Frame buffer driver for the built-in FB controller in the Samsung
1883 SoC line such as the S3C6400 and S3C6410.
1885 These chips all have the same basic framebuffer design with the
1886 actual capabilities depending on the chip. The S3C6400
1887 and S3C6410 support 4 hardware windows.
1889 Currently the support is only for the S3C6400 and S3C6410 SoCs.
1891 config FB_S3C_DEBUG_REGWRITE
1892 bool "Debug register writes"
1895 Show all register writes via pr_debug()
1898 tristate "Silicon Motion SM501 framebuffer support"
1899 depends on FB && MFD_SM501
1900 select FB_CFB_FILLRECT
1901 select FB_CFB_COPYAREA
1902 select FB_CFB_IMAGEBLIT
1904 Frame buffer driver for the CRT and LCD controllers in the Silicon
1907 This driver is also available as a module ( = code which can be
1908 inserted and removed from the running kernel whenever you want). The
1909 module will be called sm501fb. If you want to compile it as a module,
1910 say M here and read <file:Documentation/kbuild/modules.rst>.
1915 tristate "SMSC UFX6000/7000 USB Framebuffer support"
1916 depends on FB && USB
1917 select FB_MODE_HELPERS
1918 select FB_SYS_FILLRECT
1919 select FB_SYS_COPYAREA
1920 select FB_SYS_IMAGEBLIT
1922 select FB_DEFERRED_IO
1924 This is a kernel framebuffer driver for SMSC UFX USB devices.
1925 Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1926 mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000
1928 To compile as a module, choose M here: the module name is smscufx.
1931 tristate "Displaylink USB Framebuffer support"
1932 depends on FB && USB
1933 select FB_MODE_HELPERS
1934 select FB_SYS_FILLRECT
1935 select FB_SYS_COPYAREA
1936 select FB_SYS_IMAGEBLIT
1938 select FB_DEFERRED_IO
1940 This is a kernel framebuffer driver for DisplayLink USB devices.
1941 Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1942 mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices.
1943 To compile as a module, choose M here: the module name is udlfb.
1945 config FB_IBM_GXT4500
1946 tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors"
1948 select FB_CFB_FILLRECT
1949 select FB_CFB_COPYAREA
1950 select FB_CFB_IMAGEBLIT
1951 select VIDEO_NOMODESET
1953 Say Y here to enable support for the IBM GXT4000P/6000P and
1954 GXT4500P/6500P display adaptor based on Raster Engine RC1000,
1955 found on some IBM System P (pSeries) machines. This driver
1956 doesn't use Geometry Engine GT1000. This driver also supports
1957 AGP Fire GL2/3/4 cards on x86.
1960 tristate "PS3 GPU framebuffer driver"
1961 depends on FB && PS3_PS3AV
1962 select FB_SYS_FILLRECT
1963 select FB_SYS_COPYAREA
1964 select FB_SYS_IMAGEBLIT
1967 Include support for the virtual frame buffer in the PS3 platform.
1969 config FB_PS3_DEFAULT_SIZE_M
1970 int "PS3 default frame buffer size (in MiB)"
1974 This is the default size (in MiB) of the virtual frame buffer in
1976 The default value can be overridden on the kernel command line
1977 using the "ps3fb" option (e.g. "ps3fb=9M");
1980 tristate "Xilinx frame buffer support"
1981 depends on FB && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
1982 select FB_CFB_FILLRECT
1983 select FB_CFB_COPYAREA
1984 select FB_CFB_IMAGEBLIT
1986 Include support for the Xilinx ML300/ML403 reference design
1987 framebuffer. ML300 carries a 640*480 LCD display on the board,
1988 ML403 uses a standard DB15 VGA connector.
1991 tristate "Goldfish Framebuffer"
1993 depends on GOLDFISH || COMPILE_TEST
1994 select FB_CFB_FILLRECT
1995 select FB_CFB_COPYAREA
1996 select FB_CFB_IMAGEBLIT
1998 Framebuffer driver for Goldfish Virtual Platform
2001 tristate "Cobalt server LCD frame buffer support"
2002 depends on FB && MIPS_COBALT
2005 bool "SH7760/SH7763/SH7720/SH7721 LCDC support"
2006 depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \
2007 || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721)
2008 select FB_CFB_FILLRECT
2009 select FB_CFB_COPYAREA
2010 select FB_CFB_IMAGEBLIT
2012 Support for the SH7760/SH7763/SH7720/SH7721 integrated
2013 (D)STN/TFT LCD Controller.
2014 Supports display resolutions up to 1024x1024 pixel, grayscale and
2015 color operation, with depths ranging from 1 bpp to 8 bpp monochrome
2016 and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for
2017 panels <= 320 pixel horizontal resolution.
2020 tristate "DA8xx/OMAP-L1xx/AM335x Framebuffer support"
2021 depends on FB && HAVE_CLK && HAS_IOMEM
2022 depends on ARCH_DAVINCI_DA8XX || SOC_AM33XX || COMPILE_TEST
2023 select FB_CFB_FILLRECT
2024 select FB_CFB_COPYAREA
2025 select FB_CFB_IMAGEBLIT
2026 select FB_CFB_REV_PIXELS_IN_BYTE
2027 select FB_MODE_HELPERS
2028 select VIDEOMODE_HELPERS
2030 This is the frame buffer device driver for the TI LCD controller
2031 found on DA8xx/OMAP-L1xx/AM335x SoCs.
2035 tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
2037 select FB_SYS_FILLRECT
2038 select FB_SYS_COPYAREA
2039 select FB_SYS_IMAGEBLIT
2042 This is a `virtual' frame buffer device. It operates on a chunk of
2043 unswappable kernel memory instead of on the memory of a graphics
2044 board. This means you cannot see any output sent to this frame
2045 buffer device, while it does consume precious memory. The main use
2046 of this frame buffer device is testing and debugging the frame
2047 buffer subsystem. Do NOT enable it for normal systems! To protect
2048 the innocent, it has to be enabled explicitly at boot time using the
2049 kernel option `video=vfb:'.
2051 To compile this driver as a module, choose M here: the
2052 module will be called vfb. In order to load it, you must use
2053 the vfb_enable=1 option.
2057 config XEN_FBDEV_FRONTEND
2058 tristate "Xen virtual frame buffer support"
2059 depends on FB && XEN
2060 select FB_SYS_FILLRECT
2061 select FB_SYS_COPYAREA
2062 select FB_SYS_IMAGEBLIT
2064 select FB_DEFERRED_IO
2065 select XEN_XENBUS_FRONTEND
2068 This driver implements the front-end of the Xen virtual
2069 frame buffer driver. It communicates with a back-end
2073 tristate "E-Ink Metronome/8track controller support"
2075 select FB_SYS_FILLRECT
2076 select FB_SYS_COPYAREA
2077 select FB_SYS_IMAGEBLIT
2079 select FB_DEFERRED_IO
2081 This driver implements support for the E-Ink Metronome
2082 controller. The pre-release name for this device was 8track
2083 and could also have been called by some vendors as PVI-nnnn.
2086 tristate "Fujitsu MB862xx GDC support"
2088 depends on PCI || (OF && PPC)
2089 select FB_CFB_FILLRECT
2090 select FB_CFB_COPYAREA
2091 select FB_CFB_IMAGEBLIT
2092 select VIDEO_NOMODESET
2094 Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers.
2097 prompt "GDC variant"
2098 depends on FB_MB862XX
2100 config FB_MB862XX_PCI_GDC
2101 bool "Carmine/Coral-P(A) GDC"
2104 This enables framebuffer support for Fujitsu Carmine/Coral-P(A)
2105 PCI graphics controller devices.
2107 config FB_MB862XX_LIME
2109 depends on OF && PPC
2110 select FB_FOREIGN_ENDIAN
2111 select FB_LITTLE_ENDIAN
2113 Framebuffer support for Fujitsu Lime GDC on host CPU bus.
2117 config FB_MB862XX_I2C
2118 bool "Support I2C bus on MB862XX GDC"
2119 depends on FB_MB862XX && I2C
2120 depends on FB_MB862XX=m || I2C=y
2123 Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter
2124 driver to support accessing I2C devices on controller's I2C bus.
2125 These are usually some video decoder chips.
2128 tristate "EP93XX frame buffer support"
2129 depends on FB && ARCH_EP93XX
2130 select FB_CFB_FILLRECT
2131 select FB_CFB_COPYAREA
2132 select FB_CFB_IMAGEBLIT
2134 Framebuffer driver for the Cirrus Logic EP93XX series of processors.
2135 This driver is also available as a module. The module will be called
2138 config FB_PRE_INIT_FB
2139 bool "Don't reinitialize, use bootloader's GDC/Display configuration"
2140 depends on FB && FB_MB862XX_LIME
2142 Select this option if display contents should be inherited as set by
2146 tristate "MX3 Framebuffer support"
2147 depends on FB && MX3_IPU
2148 select BACKLIGHT_CLASS_DEVICE
2149 select FB_CFB_FILLRECT
2150 select FB_CFB_COPYAREA
2151 select FB_CFB_IMAGEBLIT
2154 This is a framebuffer device for the i.MX31 LCD Controller. So
2155 far only synchronous displays are supported. If you plan to use
2156 an LCD display with your i.MX31 system, say Y here.
2158 config FB_BROADSHEET
2159 tristate "E-Ink Broadsheet/Epson S1D13521 controller support"
2160 depends on FB && (ARCH_PXA || COMPILE_TEST)
2161 select FB_SYS_FILLRECT
2162 select FB_SYS_COPYAREA
2163 select FB_SYS_IMAGEBLIT
2165 select FB_DEFERRED_IO
2167 This driver implements support for the E-Ink Broadsheet
2168 controller. The release name for this device was Epson S1D13521
2169 and could also have been called by other names when coupled with
2173 tristate "Microsoft Hyper-V Synthetic Video support"
2174 depends on FB && HYPERV
2175 select FB_CFB_FILLRECT
2176 select FB_CFB_COPYAREA
2177 select FB_CFB_IMAGEBLIT
2178 select FB_DEFERRED_IO
2179 select DMA_CMA if HAVE_DMA_CONTIGUOUS && CMA
2180 select VIDEO_NOMODESET
2182 This framebuffer driver supports Microsoft Hyper-V Synthetic Video.
2185 tristate "Simple framebuffer support"
2187 depends on !DRM_SIMPLEDRM
2188 select APERTURE_HELPERS
2189 select FB_CFB_FILLRECT
2190 select FB_CFB_COPYAREA
2191 select FB_CFB_IMAGEBLIT
2193 Say Y if you want support for a simple frame-buffer.
2195 This driver assumes that the display hardware has been initialized
2196 before the kernel boots, and the kernel will simply render to the
2197 pre-allocated frame buffer surface.
2199 Configuration re: surface address, size, and format must be provided
2200 through device tree, or plain old platform data.
2203 tristate "Solomon SSD1307 framebuffer support"
2204 depends on FB && I2C
2205 depends on GPIOLIB || COMPILE_TEST
2207 select FB_SYS_FILLRECT
2208 select FB_SYS_COPYAREA
2209 select FB_SYS_IMAGEBLIT
2210 select FB_DEFERRED_IO
2213 This driver implements support for the Solomon SSD1307
2214 OLED controller over I2C.
2217 tristate "Silicon Motion SM712 framebuffer support"
2218 depends on FB && PCI
2219 select FB_CFB_FILLRECT
2220 select FB_CFB_COPYAREA
2221 select FB_CFB_IMAGEBLIT
2222 select VIDEO_NOMODESET
2224 Frame buffer driver for the Silicon Motion SM710, SM712, SM721
2227 This driver is also available as a module. The module will be
2228 called sm712fb. If you want to compile it as a module, say M
2229 here and read <file:Documentation/kbuild/modules.rst>.
2231 source "drivers/video/fbdev/omap/Kconfig"
2232 source "drivers/video/fbdev/omap2/Kconfig"
2233 source "drivers/video/fbdev/mmp/Kconfig"