Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Direct Rendering Manager
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Hardware support == {{Main article|Free and open-source graphics device driver}} [[File:Linux AMD graphics stack.svg|thumb|DRM is to be used by user-mode graphics devices driver, like e.g. [[AMD Catalyst]] or [[Mesa 3D]]. User-space programs use the [[Linux API|Linux System Call Interface]] to access DRM. DRM augments the Linux System Call Interface with own system calls.{{r|Deucher amdgpu}}]] The Linux DRM subsystem includes [[Free and open-source software|free and open-source]] drivers to support hardware from the 3 main manufacturers of GPUs for desktop computers (AMD, NVIDIA and Intel), as well as from a growing number of mobile GPU and [[System on a chip]] (SoC) integrators. The quality of each driver varies highly, depending on the degree of cooperation by the manufacturer and other matters. {| class="wikitable sortable" style="text-align:center" |+ DRM drivers |- ! Driver ! Since kernel ! Supported hardware ! Vendor support ! Status/Notes |- | radeon | 2.4.1 | style="text-align:left;"| [[Advanced Micro Devices|AMD]] (formerly ATi) [[Radeon]] GPU series with the architectures [[TeraScale (microarchitecture)|TeraScale]] and [[Graphics Core Next#first|GCN 1st]] & [[Graphics Core Next#second|2nd gen]]. Including models from [[Radeon R100 series|R100]]/[[Radeon R200 series|200]]/[[Radeon R300 series|300]]/[[Radeon R400 series|400]], [[Radeon X1000 series|Radeon X1000]], [[Radeon HD 2000 series|HD 2000]]/[[Radeon HD 4000 series|4000]]/[[Radeon HD 5000 series|5000]]/[[Radeon HD 6000 series|6000]]/[[Radeon HD 7000 series|7000]]/[[Radeon HD 8000 series|8000]], R5/R7/R9 [[AMD Radeon Rx 200 series|200]]/[[AMD Radeon Rx 300 series|300]] series and [[AMD Accelerated Processing Unit#Steamroller architecture .282014.29: Kaveri|Kaveri]] APUs. | {{yes}} | {{active}} |- | i915 | 2.6.9 | style="text-align:left;"| [[Intel GMA]] 830M, 845G, 852GM, 855GM, 865G, 915G, 945G, 965G, G35, G41, G43, G45 chipsets. [[Intel HD and Iris Graphics]] HD Graphics 2000/3000/2500/4000/4200/4400/4600/P4600/P4700/5000, Iris Graphics 5100, Iris Pro Graphics 5200 integrated GPUs. | {{yes}} | {{active}} |- | [[Nouveau (software)|nouveau]] | 2.6.33{{r|Kernelnewbies nouveau}}{{r|nouveau merge}} | style="text-align:left;"| [[NVIDIA]] [[Tesla (microarchitecture)|Tesla]], [[Fermi (microarchitecture)|Fermi]], [[Kepler (microarchitecture)|Kepler]], [[Maxwell (microarchitecture)|Maxwell]] based [[GeForce]] GPUs, [[Tegra K1]], [[Tegra X1|X1]] SoC | {{partial}} | {{active}} |- | exynos | 3.2{{r|exynos merge}} | style="text-align:left;"| [[Samsung Electronics|Samsung]] ARM-based Exynos SoCs | | |- | vmwgfx | 3.2 (from staging){{r|vmwgfx merge}} | style="text-align:left;"| Virtual GPU for the [[VMware Workstation|VMware]] SVGA2 | | virtual driver |- | gma500 | 3.3 (from staging){{r|Kernelnewbies gma500}}{{r|Larabel linux 3.3}} | style="text-align:left;"| Intel [[GMA 500]] and other [[Imagination Technologies]] ([[PowerVR]]) based graphics GPUs | | experimental 2D KMS-only driver |- | ast | 3.5{{r|ast merge}} | style="text-align:left;"| ASpeed Technologies 2000 series | | experimental |- | mgag200 | 3.5<ref>{{cite web |title=mgag200: initial g200se driver (v2) |url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=414c453106255b11df77ed6b08eedb6d2369c338 |first=Dave |last=Airlie |date=17 May 2012 |access-date=24 January 2018}}</ref> | style="text-align:left;"| [[Matrox]] MGA-G200 server display engines | | KMS-only |- | shmobile | 3.7{{r|shmobile merge}} | style="text-align:left;"| [[Renesas Electronics|Renesas]] SH Mobile | | |- | tegra | 3.8{{r|tegra merge}} | style="text-align:left;"| [[Nvidia]] [[Tegra]]20, Tegra30 SoCs | {{yes}} | {{active}} |- | omapdrm | 3.9{{r|omapdrm merge}} | style="text-align:left;"| [[Texas Instruments]] [[OMAP]]5 SoCs | | |- | rcar-du | 3.11{{r|rcar merge}} | style="text-align:left;"| [[Renesas Electronics|Renesas]] R-Car SoC Display Units | | |- | msm | 3.12{{r|msm merge}}{{r|Larabel msm}} | style="text-align:left;"| [[Qualcomm]]'s [[Adreno]] A2xx/A3xx/A4xx GPU families ([[Qualcomm Snapdragon|Snapdragon]] SOCs){{r|Edge freedreno}} | | |- | armada | 3.13{{r|Russell armada}}{{r|armada merge}} | style="text-align:left;"| [[Marvell Technology Group|Marvell]] Armada 510 SoCs | | |- | bochs | 3.14{{r|bochs merge}} | style="text-align:left;"| Virtual [[VGA]] cards using the [[Bochs]] dispi vga interface (such as [[QEMU]] stdvga) | | virtual driver |- | sti | 3.17{{r|Larabel sti}}{{r|Corbet linux 3.17}} | style="text-align:left;"| [[STMicroelectronics]] SoC stiH41x series | | |- | imx | 3.19 (from staging){{r|Corbet linux 3.19}}{{r|imx merge}} | style="text-align:left;"| [[Freescale]] [[i.MX]] SoCs | | |- | rockchip | 3.19{{r|Corbet linux 3.19}}{{r|rockchip merge}} | style="text-align:left;"| [[Rockchip]] SoC-based GPUs | | KMS-only |- | amdgpu{{r|Deucher amdgpu}} | 4.2{{r|Larabel linux 4.2}}{{r|Corbet linux 4.2}} | style="text-align:left;"| [[Advanced Micro Devices|AMD]] [[Radeon]] GPU series with the architectures [[Graphics Core Next#third|GCN 3rd]] & [[Graphics Core Next#fourth|4th gen]]. Including models from Radeon [[AMD Radeon Rx 200 series|Rx 200]]/[[AMD Radeon Rx 300 series|300]]/[[AMD Radeon 400 series|400]]/[[AMD Radeon 500 series|500]]{{r|Deucher amdgpu fiji}} series and [[AMD Accelerated Processing Unit#Puma.2B architecture .282015.29: Carrizo-L .28laptop and mobile processors.29|Carrizo]] and [[AMD Accelerated Processing Unit#Excavator architecture .282016.29: Bristol Ridge and Stoney Ridge|Bristol & Stoney Ridge]] APUs. | {{yes}} | {{active}} |- | virtio | 4.2{{r|virtio merge}} | style="text-align:left;"| Virtual GPU driver for [[QEMU]] based virtual machine managers (like [[Kernel-based Virtual Machine|KVM]] or [[Xen]]) | | virtual driver |- | vc4 | 4.4{{r|Corbet linux 4.4}}{{r|Larabel linux 4.4}}{{r|vc4 merge}} | style="text-align:left;"| [[Raspberry Pi]]'s [[Broadcom]] BCM2835 and BCM2836 SoCs ([[VideoCore]] IV GPU) | | |- | etnaviv | 4.5{{r|Kernelnewbies etnaviv}}{{r|Larabel linux 4.5}}{{r|Corbet linux 4.5}} | style="text-align:left;"| [[Vivante]] GPU cores found in several SoCs such as [[Marvell Technology Group|Marvell]] ARMADA and Freescale [[I.MX#i.MX6x series|i.MX6 Series]] | | |- | sun4i | 4.7{{r|sun4i merge}}{{r|Airlie linux 4.7}} | style="text-align:left;"| [[Allwinner]] SoCs (ARM [[Mali (GPU)|Mali-400]] GPU) | | |- | kirin | 4.7{{r|hisilicon merge}}{{r|Airlie linux 4.7}} | style="text-align:left;"| [[HiSilicon]] Kirin hi6220 SoC (ARM [[Mali (GPU)|Mali 450-MP4]] GPU) | | |- | mediatek | 4.7{{r|mediatek merge}}{{r|Airlie linux 4.7}} | style="text-align:left;"| [[MediaTek]] MT8173 SoC (Imagination [[PowerVR]] GX6250 GPU) | | |- | hibmc | 4.10<ref>{{cite web|title=Hisilicon Hibmc DRM Driver Being Added For Linux 4.10 |url=https://www.phoronix.com/scan.php?page=news_item&px=Hisilicon-Hibmc-DRM-Linux-4.10 |first=Michael |last=Larabel |work=[[Phoronix]] |date=22 November 2016 |access-date=24 January 2018}}</ref> | style="text-align:left;"| HiSilicon hi1710 [[Huawei]] [[Baseboard management controller|iBMC]] SoC ([[Silicon Image]] SM750 GPU core<ref>{{cite web |title=Huawei FusionServer RH5885 V3 Technical White Paper |url=http://e-file.huawei.com/en/material/MaterialDownload?materialid=77d7cd3156c646abbcbaaa20cd4f0358 |quote=uses an onboard display chip that is integrated into the management chip Hi1710 and uses the IP core of the SM750 |date=18 November 2016|archive-url = https://web.archive.org/web/20180125015931/http://e-file.huawei.com/en/material/MaterialDownload?materialid=77d7cd3156c646abbcbaaa20cd4f0358|archive-date = 2018-01-25}}</ref>) | | KMS-only |- | vkms | 4.19<ref name="vkms merge">{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1c7c5fd916a0ff66501467f1e8e79d3ff8eca112|title=drm/vkms: Introduce basic VKMS driver|website=git.kernel.org|access-date=2022-07-20}}</ref><ref name="phoronix-2018-08-15">{{cite web|title=Virtual Kernel Mode-Setting Driver Being Added To Linux 4.19 |url=https://www.phoronix.com/scan.php?page=news_item&px=Virtual-KMS-VKMS-Linux-4.19 |first=Michael |last=Larabel |work=[[Phoronix]] |date=15 August 2018 |access-date=20 July 2022}}</ref> | style="text-align:left;"| Software-only model of a KMS driver that is useful for testing and for running [[X Window System|X]] (or similar) on [[headless machine]]s. | | virtual driver, experimental |- | lima | 5.2<ref name="lima merge">{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/gpu/drm/lima?id=a1d2a6339961efc078208dc3b2f006e9e9a8e119|title=kernel/git/torvalds/linux.git - Linux kernel source tree|website=git.kernel.org|access-date=2019-11-28}}</ref><ref name="phoronix-2019-05-09" /> | style="text-align:left;"| [[Mali (GPU)|ARM Mali]] 4xx GPUs | | |- | panfrost | 5.2<ref name="panfrost merge">{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/gpu/drm/panfrost?id=f3ba91228e8e917e5bd6c4b72bfe846933d17370|title=kernel/git/torvalds/linux.git - Linux kernel source tree|website=git.kernel.org|access-date=2019-11-28}}</ref><ref name="phoronix-2019-05-09" /> | style="text-align:left;"| ARM Mali Txxx (Midgard) and Gxx (Bifrost) GPUs | | |- | vboxvideo | 5.2 (from staging)<ref name="vboxvideo merge">{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=131abc56e1bacef23cb7b340519d36e2f5adb2a9|title=drm/vboxvideo: Move the vboxvideo driver out of staging|website=git.kernel.org|access-date=2022-07-20}}</ref><ref name="phoronix-2019-05-09">{{cite web|title=Linux 5.2 DRM Makes Icelake Production-Ready, Adds Lima & Panfrost Drivers |url=https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.2-DRM-Update |first=Michael |last=Larabel |work=[[Phoronix]] |date=9 May 2019 |access-date=20 July 2022}}</ref> | style="text-align:left;"| Virtual GPU driver for [[VirtualBox]] (VBoxVGA GPU) | | virtual driver |- | hyperv_drm | 5.14<ref name="hyperv-drm merge">{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=76c56a5affeba1e163b66b9d8cc192e6154466f0|title=drm/hyperv: Add DRM driver for hyperv synthetic video device|website=git.kernel.org|access-date=2021-08-30}}</ref><ref>{{cite web|title=Microsoft's Hyper-V DRM Display Driver Will Land For Linux 5.14 |url=https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.14-Hyper-V-Display |first=Michael |last=Larabel |work=[[Phoronix]] |date=9 June 2021 |access-date=30 August 2021}}</ref> | style="text-align:left;"| Virtual GPU driver for [[Hyper-V]] synthetic video device | | virtual driver |- | simpledrm | 5.14<ref name="simpledrm merge">{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=11e8f5fd223bd4d33fa10527bad3fe48469a15df|title=drm: Add simpledrm driver|website=git.kernel.org|access-date=2021-08-30}}</ref><ref>{{cite web|title=Linux 5.14 To Bring SimpleDRM Driver, VC4 HDR, Marks More AGP Code As Legacy |url=https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.14-Initial-DRM-Misc |first=Michael |last=Larabel |work=[[Phoronix]] |date=13 May 2021 |access-date=30 August 2021}}</ref> | style="text-align:left;"| GPU Driver for firmware-provided framebuffers ([[UEFI GOP]], [[VESA BIOS Extensions]], [[embedded system]]s) | | |- | ofdrm | 6.2<ref name="ofdrm merge">{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c8a17756c42581ba1a567d1dd3b69e8f5619a7d8|title=drm/ofdrm: Add ofdrm for Open Firmware framebuffers|website=git.kernel.org|access-date=21 February 2023}}</ref><ref>{{cite web|title=Open Firmware DRM Driver "OFDRM" Queuing For Linux 6.2 |url=https://www.phoronix.com/news/Linux-6.2-OFDRM |first=Michael |last=Larabel |work=[[Phoronix]] |date=20 October 2022 |access-date=21 February 2023}}</ref> | style="text-align:left;"| GPU Driver for [[Open Firmware]] framebuffers | | |- | loongson | 6.6<ref name="loongson merge">{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f39db26c54281da6a785259498ca74b5e470476f|title=drm: Add kms driver for loongson display controller|website=git.kernel.org|access-date=23 February 2024}}</ref><ref>{{cite web|title=Open-Source Graphics Driver Updates Begin Queuing For Linux 6.6 |url=https://www.phoronix.com/news/Linux-6.6-Initial-DRM-Misc-Next |first=Michael |last=Larabel |work=[[Phoronix]] |date=13 July 2023 |access-date=23 February 2024}}</ref> | style="text-align:left;"| GPU Driver for [[Loongson]] GPUs and SoCs | | |- | powervr | 6.8<ref name="powervr merge">{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4babef0708656c54e67ee0ee3994ee98898f51d1|title=drm/imagination: Add skeleton PowerVR driver|website=git.kernel.org|access-date=27 May 2024}}</ref><ref>{{cite web|title=Imagination PowerVR Open-Source GPU Driver To Be Introduced In Linux 6.8 |url=https://www.phoronix.com/news/Imagination-PVR-Linux-6.8-DRM |first=Michael |last=Larabel |work=[[Phoronix]] |date=23 November 2023 |access-date=27 May 2024}}</ref> | style="text-align:left;"| [[Imagination Technologies]] [[PowerVR]] ([[PowerVR#Series6 (Rogue)|Series 6]] and later) & IMG Graphics GPUs | | |- | xe | 6.8<ref name="xe merge">{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dd08ebf6c3525a7ea2186e636df064ea47281987|title=drm/xe: Introduce a new DRM driver for Intel GPUs|website=git.kernel.org|access-date=27 May 2024}}</ref><ref>{{cite web|title=Intel's New "Xe" Kernel Graphics Driver Submitted Ahead Of Linux 6.8 |url=https://www.phoronix.com/news/Intel-Xe-Submission-Linux-6.8 |first=Michael |last=Larabel |work=[[Phoronix]] |date=15 December 2023 |access-date=27 May 2024}}</ref> | style="text-align:left;"| [[Intel Xe]] series GPUs ([[Intel Graphics Technology#Xe-LP architecture (Gen12)|Gen12]] integrated GPUs, [[Intel Arc]] discrete GPUs) | {{yes}} | experimental |} There is also a number of drivers for old, obsolete hardware detailed in the next table for historical purposes. {| class="wikitable" style="text-align:center" |+ Historic DRM drivers |- ! Driver ! Since kernel ! Supported hardware ! Status/Notes |- | gamma | 2.3.18 | style="text-align:left;"| [[3Dlabs]] GLINT GMX 2000 | Removed since 2.6.14{{r|gamma remove}} |- | ffb | 2.4 | style="text-align:left;"| Creator/Creator3D (used by [[Sun Microsystems]] [[Sun Ultra series|Ultra]] workstations) | Removed since 2.6.21{{r|ffb remove}} |- | tdfx | 2.4 | style="text-align:left;"| [[3dfx Interactive|3dfx]] Banshee/[[Voodoo3]]+ | Removed since 6.3<ref name="tdfx remove">{{cite web|title=drm: Remove the obsolete driver-tdfx|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cfc8860eacec5da2ee2880c502b10daf196c6cbb|website=Kernel.org|access-date=23 February 2024}}</ref> |- | mga | 2.4 | style="text-align:left;"| [[Matrox]] [[Matrox G200|G200]]/[[Matrox G400|G400]]/G450 | Removed since 6.3<ref name="mga remove">{{cite web|title=drm: Remove the obsolete driver-mga|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=96ed7db55bef1db201aaaef2761416c4e64e1245|website=Kernel.org|access-date=23 February 2024}}</ref> |- | r128 | 2.4 | style="text-align:left;"| [[ATI Rage 128]] | Removed since 6.3<ref name="r128 remove">{{cite web|title=drm: Remove the obsolete driver-r128|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=28483b8666bfe7d0ec34cfc492d77e64f97f6de1|website=Kernel.org|access-date=23 February 2024}}</ref> |- | i810 | 2.4 | style="text-align:left;"| [[Intel i810]] | Removed since 6.3<ref name="i810 remove">{{cite web|title=drm: Remove the obsolete driver-i810|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cab18866feade5ffa0cadc5e632528b2050e8e28|website=Kernel.org|access-date=23 February 2024}}</ref> |- | sis | 2.4.17 | style="text-align:left;"| [[Silicon Integrated Systems|SiS]] [[SiS 300|300]]/630/540 | Removed since 6.3<ref name="sis remove">{{cite web|title=drm: Remove the obsolete driver-sis|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=20efabc2e80be1df79510b8be9ca004d3ce9be11|website=Kernel.org|access-date=23 February 2024}}</ref> |- | i830 | 2.4.20 | style="text-align:left;"| Intel 830M/845G/852GM/855GM/865G | style="width:200px;"|Removed since 2.6.39{{r|i830 remove}} (replaced by i915 driver) |- | via | 2.6.13{{r|unichrome merge}} | style="text-align:left;"| [[VIA Technologies|VIA]] [[Unichrome]] / Unichrome Pro | Removed since 6.3<ref name="unichrome remove">{{cite web|title=drm: Remove the obsolete driver-via|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8391e000065d4fac88548e071fc43c3e07cb7047|website=Kernel.org|access-date=23 February 2024}}</ref> |- | savage | 2.6.14{{r|savage merge}} | style="text-align:left;"| [[S3 Graphics]] [[S3 Savage|Savage]] 3D/MX/IX/4/SuperSavage/Pro/Twister | Removed since 6.3<ref name="savage remove">{{cite web|title=drm: Remove the obsolete driver-savage|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7872bc2cb13e4dd83d193d50a835e179f449ab07|website=Kernel.org|access-date=23 February 2024}}</ref> |}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)