Mode setting is a software operation that activates a display mode (screen resolution, color depth, and refresh rate) for a computer's display controller by using VESA BIOS Extensions or UEFI Graphics extensions (on more modern computers).
The display mode is set by the kernel. In user-space mode-setting (UMS), the display mode is set by a user-space process.
Kernel mode-setting is more flexible and allows displaying of an error in the case of a fatal system error in the kernel, even when using a user-space display server.
User-space mode setting would require superuser privileges for direct hardware access, so kernel-based mode setting shuns such requirement for the user-space graphics server.
For "old" cards, support might change from distribution to distribution according to random criteria without apparent reson leaving the card unsupported [1] .
Microsoft Windows versions that are NT-based use kernel mode setting. The kernel error display made possible by kernel mode setting is officially called "bug check", but more commonly known as the Blue Screen of Death.
The Linux kernel got the prerequisite for kernel-based mode setting by accepting Intel GEM in version 2.6.28, released in December 2008. [2] This will be[ needs update ] replaced by Tungstens Graphics TTM (Translation Table Maps) memory manager which supports the GEM API. [3] TTM was developed for the free and open-source drivers for Radeon and S3 Graphics graphic chipsets (see Free and open-source graphics device driver ). [4] Support for Intel GMA graphic chipsets was accepted in version 2.6.29, released on March 23, 2009. [5] Support for pre-R600 ATI Radeon graphics cards was accepted in version 2.6.31, released on September 9, 2009. [6] Support for R600 and R700 was in development within DRM and was merged in version 2.6.32. [7] Support for Evergreen (R800) was merged in version 2.6.34. As Nvidia did not release all the needed documentation for its graphics chip, development proceeded under the nouveau project, which uses reverse engineering to build a working open-source driver for Nvidia cards. Nouveau was accepted in version 2.6.33 of the kernel, released on December 10, 2009. Kernel-based mode setting is not only supported by the nouveau driver, it is required. [8] Wayland compositors (e.g. Weston) and kmscon depend on kernel mode setting via ioctl.
FreeBSD has support for both kernel-based mode setting and GEM for later generations of Intel GPUs (IronLake, SandyBridge, and IvyBridge) starting with version 9.1. [9]
Support of Intel card is limited. Some random Intel cards such as Device 'Intel CometLake-S GT2 [UHD Graphics 630]' does not work with FreeBSD [10] . Some cards where driver is supported but not supported actively and does not work suffer such kind of issues [11] .
NetBSD has support for kernel-based mode setting and accelerated graphics for Intel and Radeon devices. This implementation was introduced in version 7.0 by porting the Linux 3.15 DRM/KMS code. [12]
OpenBSD has kernel-based mode setting support for Intel and Radeon GPUs. Starting with version 5.4 of OpenBSD, support for Intel GPUs is available. With the release of version 5.5, the implementation has been extended to add support for Radeon chipsets as well.
This section needs to be updated.(August 2014) |
The following alternatives have been presented during the Linux Plumbers Conference 2013:
Radeon is a brand of computer products, including graphics processing units, random-access memory, RAM disk software, and solid-state drives, produced by Radeon Technologies Group, a division of AMD. The brand was launched in 2000 by ATI Technologies, which was acquired by AMD in 2006 for US$5.4 billion.
X.Org Server is the free and open-source implementation of the X Window System (X11) display server stewarded by the X.Org Foundation.
The Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU and perform operations such as configuring the mode setting of the display. DRM was first developed as the kernel-space component of the X Server Direct Rendering Infrastructure, but since then it has been used by other graphic stack alternatives such as Wayland and standalone applications and libraries such as SDL2 and Kodi.
Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware drivers.
A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.
The Intel Graphics Media Accelerator (GMA) is a series of integrated graphics processors introduced in 2004 by Intel, replacing the earlier Intel Extreme Graphics series and being succeeded by the Intel HD and Iris Graphics series.
The Radeon R700 is the engineering codename for a graphics processing unit series developed by Advanced Micro Devices under the ATI brand name. The foundation chip, codenamed RV770, was announced and demonstrated on June 16, 2008 as part of the FireStream 9250 and Cinema 2.0 initiative launch media event, with official release of the Radeon HD 4800 series on June 25, 2008. Other variants include enthusiast-oriented RV790, mainstream product RV730, RV740 and entry-level RV710.
nouveau is a free and open-source graphics device driver for Nvidia video cards and the Tegra family of SoCs written by independent software engineers, with minor help from Nvidia employees.
Unified Video Decoder is the name given to AMD's dedicated video decoding ASIC. There are multiple versions implementing a multitude of video codecs, such as H.264 and VC-1.
The Evergreen series is a family of GPUs developed by Advanced Micro Devices for its Radeon line under the ATI brand name. It was employed in Radeon HD 5000 graphics card series and competed directly with Nvidia's GeForce 400 series.
AMD PowerPlay is the brand name for a set of technologies for the reduction of the energy consumption implemented in several of AMD's graphics processing units and APUs supported by their proprietary graphics device driver "Catalyst". AMD PowerPlay is also implemented into ATI/AMD chipsets which integrated graphics and into AMD's Imageon handheld chipset, that was sold to Qualcomm in 2008.
Video Decode and Presentation API for Unix (VDPAU) is a royalty-free application programming interface (API) as well as its implementation as free and open-source library distributed under the MIT License. VDPAU is also supported by Nvidia.
Intel Graphics Technology (GT) is the collective name for a series of integrated graphics processors (IGPs) produced by Intel that are manufactured on the same package or die as the central processing unit (CPU). It was first introduced in 2010 as Intel HD Graphics and renamed in 2017 as Intel UHD Graphics.
Socket FM1 is a CPU socket for desktop computers used by AMD early A-series APUs ("Llano") processors and Llano-derived Athlon II processors. It was released in July 2011. Its direct successors are Socket FM2 and Socket FM2+, while Socket AM1 is targeting low-power SoCs.
The graphics processing unit (GPU) codenamed the Radeon R600 is the foundation of the Radeon HD 2000/3000 series and the FireGL 2007 series video cards developed by ATI Technologies.
The graphics processing unit (GPU) codenamed Radeon R600 is the foundation of the Radeon HD 2000 series and the FireGL 2007 series video cards developed by ATI Technologies. The HD 2000 cards competed with nVidia's GeForce 8 series.
Video Code Engine is AMD's video encoding application-specific integrated circuit implementing the video codec H.264/MPEG-4 AVC. Since 2012 it was integrated into all of their GPUs and APUs except Oland.
AMD Eyefinity is a brand name for AMD video card products that support multi-monitor setups by integrating multiple display controllers on one GPU. AMD Eyefinity was introduced with the Radeon HD 5000 series "Evergreen" in September 2009 and has been available on APUs and professional-grade graphics cards branded AMD FirePro as well.
AMD PowerTune is a series of dynamic frequency scaling technologies built into some AMD GPUs and APUs that allow the clock speed of the processor to be dynamically changed by software. This allows the processor to meet the instantaneous performance needs of the operation being performed, while minimizing power draw, heat generation and noise avoidance. AMD PowerTune aims to solve thermal design power and performance constraints.
The Radeon 300 series is a series of graphics processors developed by AMD. All of the GPUs of the series are produced in 28 nm format and use the Graphics Core Next (GCN) micro-architecture.