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!
== References == {{reflist|30em|refs= <!-- documentation --> <ref name="drmbook-init">{{cite web|last1=Barnes|first1=Jesse|last2=Pinchart|first2=Laurent|last3=Vetter|first3=Daniel|last4=Wunner|first4=Lukas|title=Linux GPU Driver Developer's Guide - Driver Initialization|url=https://dri.freedesktop.org/docs/drm/gpu/drm-internals.html#driver-features|access-date=31 August 2016}}</ref> <ref name="drmbook-mm">{{cite web|last1=Barnes|first1=Jesse|last2=Pinchart|first2=Laurent|last3=Vetter|first3=Daniel|last4=Wunner|first4=Lukas|title=Linux GPU Driver Developer's Guide - Memory management|url=https://dri.freedesktop.org/docs/drm/gpu/drm-mm.html|access-date=31 August 2016}}</ref> <ref name="drmbook-kms">{{cite web|last1=Barnes|first1=Jesse|last2=Pinchart|first2=Laurent|last3=Vetter|first3=Daniel|last4=Wunner|first4=Lukas|title=Linux GPU Driver Developer's Guide - KMS Initialization and Cleanup|url=https://dri.freedesktop.org/docs/drm/gpu/drm-kms.html#kms-initialization-and-cleanup|access-date=31 August 2016}}</ref> <ref name="drmbook-modesetting">{{cite web|last1=Barnes|first1=Jesse|last2=Pinchart|first2=Laurent|last3=Vetter|first3=Daniel|last4=Wunner|first4=Lukas|title=Linux GPU Driver Developer's Guide - Dumb Buffer Objects|url=https://dri.freedesktop.org/docs/drm/gpu/drm-kms.html#dumb-buffer-objects|access-date=31 August 2016}}</ref> <ref name="drmbook-rendernodes">{{cite web|last1=Barnes|first1=Jesse|last2=Pinchart|first2=Laurent|last3=Vetter|first3=Daniel|last4=Wunner|first4=Lukas|title=Linux GPU Driver Developer's Guide - Render nodes|url=https://dri.freedesktop.org/docs/drm/gpu/drm-uapi.html#render-nodes|access-date=31 August 2016}}</ref> <ref name="DRM readme">{{cite web|title=Linux kernel/drivers/gpu/drm/README.drm |url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/README.drm |archive-url=https://archive.today/20140226185421/https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/README.drm |url-status=dead |archive-date=2014-02-26 |work=[[kernel.org]] |access-date=2014-02-26 }}</ref> <ref name="libdrm README">{{cite web|title=README.rst - mesa/drm - Direct Rendering Manager headers and kernel modules|url=https://cgit.freedesktop.org/mesa/drm/tree/README.rst|date= 2020-03-21|archive-url=https://archive.today/20200321143932/https://cgit.freedesktop.org/mesa/drm/tree/README.rst|archive-date=2020-03-21}}</ref> <ref name="fb doc">{{cite web|last1=Uytterhoeven|first1=Geert|title=The Frame Buffer Device|url=https://www.kernel.org/doc/Documentation/fb/framebuffer.txt|website=Kernel.org|access-date=28 January 2015}}</ref> <ref name="kms manpage">{{cite web|title=drm-kms man page|url=http://manpages.ubuntu.com/manpages/trusty/man7/drm-kms.7.html|website=Ubuntu manuals|access-date=19 November 2015}}</ref> <ref name="drm-mem manpage">{{cite web|title=drm-memory man page|url=http://manpages.ubuntu.com/manpages/trusty/man7/drm-memory.7.html|website=Ubuntu manuals|access-date=29 January 2015|quote="Many modern high-end GPUs come with their own memory managers. They even include several different caches that need to be synchronized during access. [...] . Therefore, memory management on GPUs is highly driver- and hardware-dependent."}}</ref> <!-- articles --> <ref name="Airlie 2010">{{cite web|last1=Airlie |first1=Dave |title=GPU offloading - PRIME - proof of concept |url=http://airlied.livejournal.com/71734.html |date=12 March 2010 |access-date=10 February 2015 |url-status=dead |archive-url=https://web.archive.org/web/20150210173401/http://airlied.livejournal.com/71734.html |archive-date=10 February 2015 }}</ref> <ref name="Clark Semwal 2012">{{cite web|last1=Clark|first1=Rob|last2=Semwal|first2=Sumit|title=DMA Buffer Sharing Framework: An Introduction|url=http://elinux.org/images/a/a8/DMA_Buffer_Sharing-_An_Introduction.pdf|access-date=14 May 2016}}</ref> <ref name="Corbet 2004">{{cite web|last1=Corbet|first1=Jonathan|title=Kernel Summit: Video Drivers|url=https://lwn.net/Articles/94202/|website=LWN.net|date=20 July 2004|access-date=23 November 2015}}</ref> <ref name="Corbet 2007 LCA">{{cite web|last1=Corbet|first1=Jonathan|title=LCA: Updates on the X Window System|url=https://lwn.net/Articles/218380/|website=LWN.net|date=22 January 2007|access-date=23 November 2015}}</ref> <ref name="Corbet 2007">{{cite web|last1=Corbet|first1=Jonathan|title=Memory management for graphics processors|url=https://lwn.net/Articles/257417/|website=LWN.net|date=6 November 2007|access-date=23 July 2014}}</ref> <ref name="Corbet 2008">{{cite web|last1=Corbet|first1=Jonathan|title=GEM v. TTM|url=https://lwn.net/Articles/283793/|website=LWN.net|date=28 May 2008|access-date=10 February 2015}}</ref> <ref name="Corbet 2010">{{cite web|last1=Corbet|first1=Jonathan|title=The end of user-space mode setting?|url=https://lwn.net/Articles/369706/|website=LWN.net|date=13 January 2010|access-date=20 November 2015}}</ref> <ref name="Corbet 2012 dmabuf">{{cite web|last1=Corbet|first1=Jonathan|title=DMA buffer sharing in 3.3|url=https://lwn.net/Articles/474819/|website=LWN.net|date=11 January 2012|access-date=14 May 2016}}</ref> <ref name="Corbet linux 3.12">{{cite web|last1=Corbet|first1=Jonathan|title=3.12 merge window, part 2|url=https://lwn.net/Articles/566122/|website=LWN.net|date=11 September 2013|access-date=21 July 2014}}</ref> <ref name="Corbet linux 3.17">{{cite web|last1=Corbet|first1=Jonathan|title=3.17 merge window, part 2|url=https://lwn.net/Articles/608434/|website=LWN.net|date=13 August 2014|access-date=7 October 2014}}</ref> <ref name="Corbet linux 3.19">{{cite web|last1=Corbet|first1=Jonathan|title=3.19 Merge window part 2|url=https://lwn.net/Articles/626150/|website=LWN.net|date=17 December 2014|access-date=9 February 2015}}</ref> <ref name="Corbet linux 4.2">{{cite web|last1=Corbet|first1=Jonathan|title=4.2 Merge window part 2|url=https://lwn.net/Articles/649652/|website=LWN.net|date=1 July 2015|access-date=31 August 2015}}</ref> <ref name="Corbet linux 4.4">{{cite web|last1=Corbet|first1=Jonathan|title=4.4 Merge window, part 1|url=https://lwn.net/Articles/663742/|website=LWN.net|date=11 November 2015|access-date=11 January 2016}}</ref> <ref name="Corbet linux 4.5">{{cite web|last1=Corbet|first1=Jonathan|title=4.5 merge window part 2|url=https://lwn.net/Articles/672344/|website=LWN.Net|date=20 January 2016|access-date=14 March 2016}}</ref> <ref name="DRI Wiki modesetting">{{cite web|title=DrmModesetting - Enhancing kernel graphics|url=http://dri.freedesktop.org/wiki/DrmModesetting/|website=DRI Wiki|access-date=23 November 2015}}</ref> <ref name="DRI2 spec">{{cite web|last1=Høgsberg|first1=Kristian|title=The DRI2 Extension - Version 2.0|url=http://www.x.org/releases/X11R7.5/doc/dri2proto/dri2proto.txt|website=X.Org|date=4 September 2008|access-date=23 May 2016}}</ref> <ref name="Deucher 2010">{{cite web|last1=Deucher |first1=Alex |title=Notes about radeon display hardware |url=http://www.botchco.com/agd5f/?p=51 |date=15 April 2010 |access-date=8 April 2016 |url-status=dead |archive-url=https://web.archive.org/web/20160405145025/http://www.botchco.com/agd5f/?p=51 |archive-date=5 April 2016 }}</ref> <ref name="Edge 2013">{{cite web|last1=Edge|first1=Jake|title=DRI3 and Present|url=https://lwn.net/Articles/569701/|website=LWN.net|date=9 October 2013|access-date=28 May 2016}}</ref> <ref name="Edge freedreno">{{cite web|last1=Edge|first1=Jake|title=An update on the freedreno graphics driver|url=https://lwn.net/Articles/638908/|website=LWN.net|date=8 April 2015|access-date=23 April 2015}}</ref> <ref name="Faith 1999">{{cite web|last1=Faith|first1=Rickard E.|title=The Direct Rendering Manager: Kernel Support for the Direct Rendering Infrastructure|url=http://dri.sourceforge.net/doc/drm_low_level.html|date=11 May 1999|access-date=12 May 2016|archive-date=24 May 2016|archive-url=https://web.archive.org/web/20160524202114/http://dri.sourceforge.net/doc/drm_low_level.html|url-status=dead}}</ref> <ref name="Fedora KMS">{{cite web|title=Fedora - Features/KernelModeSetting|url=https://fedoraproject.org/wiki/Features/KernelModesetting|website=Fedora Project|access-date=20 November 2015|quote="Historically, the X server was responsible for saving output state when it started up, and then restoring it when it switched back to text mode. Fast user switching was accomplished with a VT switch, so switching away from the first user's X server would blink once to go to text mode, then immediately blink again to go to the second user's session."}}</ref> <ref name="Gettys Packard 2004">{{cite web|last1=Gettys|first1=James|last2=Packard|first2=Keith|title=The (Re)Architecture of the X Window System|url=http://keithp.com/~keithp/talks/xarch_ols2004/xarch-ols2004-html/|date=15 June 2004|access-date=30 April 2016}}</ref> <ref name="Glisse 2007">{{cite web|last1=Glisse|first1=Jerome|title=Radeon kernel modesetting|url=http://jglisse.livejournal.com/852.html|access-date=30 April 2016|date=4 December 2007}}</ref> <ref name="Herrmann 2012 kmscon">{{cite web|last1=Herrmann|first1=David|title=KMSCON Introduction|url=http://dvdhrm.wordpress.com/2012/12/10/kmscon-introduction/|date=10 December 2012|access-date=22 November 2015}}</ref> <ref name="Herrmann 2013 rendernodes">{{cite web|last1=Herrmann|first1=David|title=DRM Render- and Modeset-Nodes|url=http://dvdhrm.wordpress.com/2013/05/29/drm-render-and-modeset-nodes/|date=29 May 2013|access-date=21 July 2014}}</ref> <ref name="Herrmann 2013 DRM split">{{cite web|last1=Herrmann|first1=David|title=Splitting DRM and KMS device nodes|url=http://dvdhrm.wordpress.com/2013/09/01/splitting-drm-and-kms-device-nodes/|date=1 September 2013|access-date=23 July 2014}}</ref> <ref name="Herrmann 2013 XDC">{{cite web|last1=Herrmann|first1=David|title=DRM Security|url=http://www.x.org/wiki/Events/XDC2013/XDC2013DavidHerrmannDRMSecurity/DRM_SECURITY|website=The 2013 X.Org Developer's Conference (XDC2013) Proceedings|date=2 July 2013|access-date=13 February 2015|quote=gem-flink doesn't provide any private namespaces to applications and servers. Instead, only one global namespace is provided per DRM node. Malicious authenticated applications can attack other clients via brute-force "name-guessing" of gem buffers}}</ref> <ref name="Kernelnewbies linux 2.6.28">{{cite web|title=Linux 2.6.28 - The GEM Memory Manager for GPU memory|url=http://kernelnewbies.org/Linux_2_6_28#head-b957b19f6139b6bbbfabaf790bf643b1746985d6|website=Linux Kernel Newbies|access-date=23 July 2014}}</ref> <ref name="Kernelnewbies linux 2.6.29">{{cite web|title=Linux 2.6.29 - Kernel Modesetting|url=http://kernelnewbies.org/Linux_2_6_29#head-e1bab8dc862e3b477cc38d87e8ddc779a66509d1|website=Linux Kernel Newbies|access-date=19 November 2015}}</ref> <ref name="Kernelnewbies linux 2.6.31">{{cite web|title=Linux 2.6.31 - ATI Radeon Kernel Mode Setting support|url=http://kernelnewbies.org/Linux_2_6_31#head-78158343fc06e5e289f2ccaf51d6a30090a46524|website=Linux Kernel Newbies|access-date=28 April 2016|archive-url=https://web.archive.org/web/20151105025721/http://kernelnewbies.org/Linux_2_6_31#head-78158343fc06e5e289f2ccaf51d6a30090a46524|archive-date=5 November 2015|url-status=dead}}</ref> <ref name="Kernelnewbies nouveau">{{cite web|title=Linux 2.6.33 - Nouveau, a driver for Nvidia graphic cards|url=http://kernelnewbies.org/Linux_2_6_33#head-ef4ca9ac1fa7bdec15f40718c2cf216b4f3c9472|website=Linux Kernel Newbies|access-date=26 April 2016}}</ref> <ref name="Kernelnewbies linux 2.6.33">{{cite web|title=Linux 2.6.33 - Graphic improvements|url=http://kernelnewbies.org/Linux_2_6_33#head-7b9aa9665c31092b57f38ae4ee0c3627172cdf1b|website=Linux Kernel Newbies|access-date=28 April 2016}}</ref> <ref name="Kernelnewbies linux 2.6.38">{{cite web|title=Linux 2.6.38 - Graphics|url=http://kernelnewbies.org/Linux_2_6_38-DriversArch#head-647f92e38d919f452ea858999f3ece9ccc6f46df|website=Linux Kernel Newbies|access-date=28 April 2016}}</ref> <ref name="Kernelnewbies linux 2.6.39">{{cite web|title=Linux 2 6 39-DriversArch|url=http://kernelnewbies.org/Linux_2_6_39-DriversArch#head-94ecdcc82ca5e98eb1d56c20c0ef1a1274737078|website=Linux Kernel Newbies|access-date=19 April 2016}}</ref> <ref name="Kernelnewbies gma500">{{cite web|title=Linux 3.3 - DriverArch - Graphics|url=http://kernelnewbies.org/Linux_3.3_DriverArch#head-55c126b70d6e61f4496629a7f19a3be36d1ea84a|website=Linux Kernel Newbies|access-date=3 March 2016}}</ref> <ref name="Kernelnewbies linux 3.4">{{cite web|title=Linux 3.4 DriverArch|url=http://kernelnewbies.org/Linux_3.4_DriverArch|website=Linux Kernel Newbies|access-date=15 April 2016}}</ref> <ref name="Kernelnewbies linux 3.5">{{cite web|title=Linux 3.5 DriverArch|url=http://kernelnewbies.org/Linux_3.5_DriverArch|website=Linux Kernel Newbies|access-date=15 April 2016}}</ref> <ref name="Kernelnewbies linux 4.0">{{cite web|title=Linux 4.0 - DriverArch - Graphics|url=http://kernelnewbies.org/Linux_4.0-DriversArch#head-bd65a3376f9359d60c2230cfc06625a9849139bb|website=Linux Kernel Newbies|access-date=3 May 2016}}</ref> <ref name="Kernelnewbies linux 4.2">{{cite web|title=Linux 4.2 - Atomic modesetting API enabled by default|url=http://kernelnewbies.org/Linux_4.2#head-a3780edb904ea47c235cd6a4b226539228d50e17|website=Linux Kernel Newbies|access-date=3 May 2016}}</ref> <ref name="Kernelnewbies etnaviv">{{cite web|title=Linux 4.5-DriversArch - Graphics|url=http://kernelnewbies.org/Linux_4.5-DriversArch#head-bf8f7e938057931a7faa7e22547a108c01aba222|website=Linux Kernel Newbies|access-date=14 March 2016}}</ref> <ref name="Kerrisk 2012">{{cite web|last1=Kerrisk|first1=Michael|title=XDC2012: Graphics stack security|url=https://lwn.net/Articles/517375/|website=LWN.net|date=25 September 2012|access-date=25 November 2015}}</ref> <ref name="Kitching 2012">{{cite web|last1=Kitching|first1=Simon|title=DRM and KMS kernel modules|url=http://moi.vonos.net/linux/drm-and-kms/|access-date=13 May 2016}}</ref> <ref name="Larabel 2008 gem-ttm">{{cite web|last1=Larabel|first1=Michael|title=A GEM-ified TTM Manager For Radeon|url=https://www.phoronix.com/scan.php?page=news_item&px=NjY3Ng|website=Phoronix|date=26 August 2008|access-date=24 April 2016}}</ref> <ref name="Larabel 2008 KMS">{{cite web|last1=Larabel|first1=Michael|title=The State of Kernel Mode-Setting|url=https://www.phoronix.com/scan.php?page=article&item=xorg_kms_2008&num=1|website=Phoronix|date=1 October 2008|access-date=30 April 2016}}</ref> <ref name="Larabel msm">{{cite web|last1=Larabel|first1=Michael|title=Snapdragon DRM/KMS Driver Merged For Linux 3.12|url=https://www.phoronix.com/scan.php?page=news_item&px=MTQ0NzQ|website=Phoronix|date=28 August 2013|access-date=26 January 2015}}</ref> <ref name="Larabel linux 3.3">{{cite web|last1=Larabel|first1=Michael|title=The Linux 3.3 DRM Pull Is Heavy On Enhancements|url=https://www.phoronix.com/scan.php?page=news_item&px=MTA0MDk|website=Phoronix|date=10 January 2012|access-date=3 March 2016}}</ref> <ref name="Larabel 2010 PRIME">{{cite web|last1=Larabel|first1=Michael|title=Proof Of Concept: Open-Source Multi-GPU Rendering!|url=https://www.phoronix.com/scan.php?page=news_item&px=ODA1OQ|website=Phoronix|access-date=14 April 2016}}</ref> <ref name="Larabel 2012 PRIME">{{cite web|last1=Larabel|first1=Michael|title=DRM Base PRIME Support Part Of VGEM Work|url=https://www.phoronix.com/scan.php?page=news_item&px=MTA2MTM|website=Phoronix|access-date=14 April 2016|date=23 February 2012}}</ref> <ref name="Larabel 2012 PRIME 3.4">{{cite web|last1=Larabel|first1=Michael|title=Last Minute For Linux 3.4: DMA-BUF PRIME Support|url=https://www.phoronix.com/scan.php?page=news_item&px=MTA3OTQ|website=Phoronix|access-date=15 April 2016|date=30 March 2012}}</ref> <ref name="Larabel 2012 PRIME 3.5">{{cite web|last1=Larabel|first1=Michael|title=DMA-BUF PRIME Coming Together For Linux 3.5|url=https://www.phoronix.com/scan.php?page=news_item&px=MTEwMjA|website=Phoronix|access-date=15 April 2016|date=12 May 2012}}</ref> <ref name="Larabel 2014 planes">{{cite web|last1=Larabel|first1=Michael|title=Universal Plane Support Set For Linux 3.15|url=https://www.phoronix.com/scan.php?page=news_item&px=MTY1MTg|website=Phoronix|access-date=14 April 2016|date=2 April 2014}}</ref> <ref name="Larabel sti">{{cite web|last1=Larabel|first1=Michael|title=Linux 3.17 DRM Pull Brings New Graphics Driver|url=https://www.phoronix.com/scan.php?page=news_item&px=MTc1NzY|website=Phoronix|date=8 August 2014|access-date=3 March 2016}}</ref> <ref name="Larabel linux 4.2">{{cite web|last1=Larabel|first1=Michael|title=Linux 4.2 DRM Updates: Lots Of AMD Attention, No Nouveau Driver Changes|url=https://www.phoronix.com/scan.php?page=news_item&px=Linux-4.2-Kernel-DRM|website=Phoronix|date=25 June 2015|access-date=31 August 2015}}</ref> <ref name="Larabel linux 4.4">{{cite web|last1=Larabel|first1=Michael|title=A Look At The New Features Of The Linux 4.4 Kernel|url=https://www.phoronix.com/scan.php?page=article&item=linux-44-features&num=1|website=Phoronix|date=15 November 2015|access-date=11 January 2016}}</ref> <ref name="Larabel linux 4.5">{{cite web|last1=Larabel|first1=Michael|title=The Many New Features & Improvements Of The Linux 4.5 Kernel|url=https://www.phoronix.com/scan.php?page=article&item=linux-45-features&num=1|website=Phoronix|date=24 January 2016|access-date=14 March 2016}}</ref> <ref name="Paalanen 2014">{{cite web|last1=Paalanen|first1=Pekka|title=From pre-history to beyond the global thermonuclear war|url=http://ppaalanen.blogspot.de/2014/06/from-pre-history-to-beyond-global.html|date=5 June 2014|access-date=29 July 2014}}</ref> <ref name="Packard 2007">{{cite web|last1=Packard|first1=Keith|title=kernel-mode-drivers|url=http://keithp.com/blogs/kernel-mode-drivers/|date=16 September 2007|access-date=30 April 2016}}</ref> <ref name="Packard Anholt 2008">{{cite web|last1=Packard|first1=Keith|last2=Anholt|first2=Eric|title=GEM - the Graphics Execution Manager|url=https://lwn.net/Articles/283798/|work=dri-devel mailing list|date=13 May 2008|access-date=23 July 2014}}</ref> <ref name="Packard 2008 GEM">{{cite web|last1=Packard|first1=Keith|title=gem update|url=http://keithp.com/blogs/gem_update/|date=4 July 2008|access-date=25 April 2016}}</ref> <ref name="Packard 2008 status">{{cite web|last1=Packard|first1=Keith|title=X output status july 2008|url=http://keithp.com/blogs/X_output_status_july_2008/|date=21 July 2008|access-date=1 May 2016}}</ref> <ref name="Packard 2009">{{cite web|last1=Packard|first1=Keith|title=Sharpening the Intel Driver Focus|url=http://keithp.com/blogs/Sharpening_the_Intel_Driver_Focus/|date=24 April 2000|access-date=23 May 2016|quote=A more subtle limitation is that the driver couldn't handle interrupts, so there wasn't any hot-plug monitor support.}}</ref> <ref name="Packard 2012">{{cite web|last1=Packard|first1=Keith|title=Thoughts about DRI.Next|url=http://keithp.com/blogs/DRI-Next/|date=28 September 2012|access-date=26 May 2016|quote="GEM flink has lots of issues. The flink names are global, allowing anyone with access to the device to access the flink data contents."}}</ref> <ref name="Peres Ravier 2013">{{cite web|last1=Peres|first1=Martin|last2=Ravier|first2=Timothée|title=DRI-next/DRM2: A walkthrough the Linux Graphics stack and its security|url=http://phd.mupuf.org/files/fosdem2013_drinext_drm2.pdf|date=2 February 2013|access-date=13 May 2016}}</ref> <ref name="Peres 2014">{{cite web|last1=Peres|first1=Martin|title=The Linux graphics stack, Optimus and the Nouveau driver|url=http://phd.mupuf.org/files/kr2014.pdf|date=26 September 2014|access-date=14 May 2016}}</ref> <ref name="Pinchart 2013">{{cite web|last1=Pinchart|first1=Laurent|title=Anatomy of an Embedded KMS Driver|url=http://elinux.org/images/0/0f/Elc2013_Pinchart.pdf|date=20 February 2013|access-date=27 June 2016}}</ref> <ref name="Rathmann 2008">{{cite web|last1=Rathmann|first1=B.|title=The state of Nouveau, part I|url=https://lwn.net/Articles/269558/|website=LWN.net|date=15 February 2008|access-date=23 November 2015|quote="Graphics cards are programmed in numerous ways, but most initialization and mode setting is done via memory-mapped IO. This is just a set of registers accessible to the CPU via its standard memory address space. The registers in this address space are split up into ranges dealing with various features of the graphics card such as mode setup, output control, or clock configuration."}}</ref> <ref name="Reding 2015">{{cite web|last1=Reding|first1=Thierry|title=Atomic Mode-Setting|url=https://archive.fosdem.org/2015/schedule/event/kms_atomic/attachments/slides/740/export/events/attachments/kms_atomic/slides/740/atomic_modesetting.pdf|website=FOSDEM Archives|access-date=7 May 2016|date=1 February 2015}}</ref> <ref name="Smirl 2005">{{cite web|last1=Smirl|first1=Jon|title=The State of Linux Graphics|url=https://sites.google.com/site/jonsmirl/graphics|date=30 August 2005|access-date=30 April 2016|quote=I believe the best solution to this problem is for the kernel to provide a single, comprehensive device driver for each piece of video hardware. This means that conflicting drivers like fbdev and DRM must be merged into a cooperating system. It also means that poking hardware from user space while a kernel based device driver is loaded should be prevented.}}</ref> <ref name="Verhaegen 2006">{{cite web|last1=Verhaegen|first1=Luc|title=X and Modesetting: Atrophy illustrated|url=https://people.freedesktop.org/~libv/X_and_Modesetting_-_Atrophy_illustrated_%28paper%29.pdf|access-date=30 April 2016|date=2 March 2006}}</ref> <ref name="Vetter 2011">{{cite web|last1=Vetter|first1=Daniel|title=GEM Overview|url=http://blog.ffwll.ch/2011/05/gem-overview.html|date=4 May 2011|access-date=13 February 2015}}</ref> <ref name="Vetter 2012">{{cite web|last1=Vetter|first1=Daniel|title=i915/GEM Crashcourse by Daniel Vetter|url=https://01.org/linuxgraphics/blogs/vivijim/2012/i915/gem-crashcourse-daniel-vetter|website=Intel Open Source Technology Center|access-date=31 January 2015|quote="GEM essentially deals with graphics buffer objects (which can contain textures, renderbuffers, shaders, or all kinds of other state objects and data used by the gpu)"}}</ref> <ref name="Vetter linux 3.17">{{cite web|last1=Vetter|first1=Daniel|title=Neat stuff for 3.17|url=http://blog.ffwll.ch/2014/08/neat-stuff-for-317.html|date=7 August 2014|access-date=14 April 2016}}</ref> <ref name="Vetter 2014 atomic">{{cite web|last1=Vetter|first1=Daniel|title=Atomic Modeset Support for KMS Drivers|url=http://blog.ffwll.ch/2014/11/atomic-modeset-support-for-kms-drivers.html|date=2 November 2014|access-date=4 May 2016}}</ref> <ref name="Vetter 2015 atomic">{{cite web|last1=Vetter|first1=Daniel|title=Update for Atomic Display Updates|url=http://blog.ffwll.ch/2015/01/update-for-atomic-display-updates.html|date=28 January 2015|access-date=4 May 2016}}</ref> <ref name="Vetter 2015 LWN p1">{{cite web|last1=Vetter|first1=Daniel|title=Atomic mode setting design overview, part 1|url=https://lwn.net/Articles/653071/|website=LWN.net|date=5 August 2015|access-date=7 May 2016}}</ref> <ref name="Vetter 2015 LWN p2">{{cite web|last1=Vetter|first1=Daniel|title=Atomic mode setting design overview, part 2|url=https://lwn.net/Articles/653466/|website=LWN.net|date=12 August 2015|access-date=7 May 2016}}</ref> <ref name="Vetter 2016 atomic">{{cite web|last1=Vetter|first1=Daniel|title=Embrace the Atomic Display Age|url=https://people.freedesktop.org/~danvet/presentations/lca-2016.pdf|date=3 February 2016|access-date=4 May 2016}}</ref> <ref name="Vetter 2016 atomic update">{{cite web|last1=Vetter|first1=Daniel|title=Awesome Atomic Advances|url=http://blog.ffwll.ch/2016/06/awesome-atomic-advances.html|date=6 June 2016|access-date=7 June 2016|quote=right now there's 17 drivers supporting atomic modesetting merged into the DRM subsystem}}</ref> <ref name="Stone 2018">{{cite web|last1=Stone|first1=Daniel|title=A new era for Linux's low-level graphics - Part 1|url=https://www.collabora.com/news-and-blog/blog/2018/03/20/a-new-era-for-linux-low-level-graphics-part-1/|date=20 March 2018|access-date=5 May 2018}}</ref> <ref name="White">{{cite web|last1=White|first1=Thomas|title=How DRI and DRM Work|url=http://www.bitwiz.org.uk/s/how-dri-and-drm-work.html|access-date=22 July 2014}}</ref> <!-- Mailing lists messages --> <ref name="Airlie redesign">{{cite mailing list|mailing-list=dri-devel|last=Airlie|first=Dave|title=New proposed DRM interface design|date=4 September 2004|url=https://lwn.net/Articles/100839/}}</ref> <ref name="Airlie DRM split">{{cite mailing list|mailing-list=linux-kernel|last=Airlie|first=Dave|title=[bk pull] drm core/personality split|date=30 December 2004|url=https://lwn.net/Articles/117419/}}</ref> <ref name="Torvalds linux 2.6.11-rc1">{{cite mailing list|mailing-list=linux-kernel|last=Torvalds|first=Linus|author-link=Linus Torvalds|title=Linux 2.6.11-rc1|date=11 January 2005|url=https://lkml.org/lkml/2005/1/12/6}}</ref> <ref name="Barnes modesetting">{{cite mailing list|mailing-list=linux-kernel|last=Barnes|first=Jesse|title=[RFC] enhancing the kernel's graphics subsystem|date=17 May 2007|url=https://lwn.net/Articles/235120/}}</ref> <ref name="xf86-video-intel 2.5.0">{{cite mailing list|mailing-list=xorg-announce|title=[ANNOUNCE] xf86-video-intel 2.5.0|first=Jesse|last=Barnes|date=20 October 2008|url=https://lists.freedesktop.org/archives/xorg-announce/2008-October/000677.html}}</ref> <ref name="Torvalds linux 2.6.31">{{cite mailing list|mailing-list=linux-kernel|title=Linux 2.6.31|last=Torvalds|first=Linus|author-link=Linus Torvalds|date=9 September 2009|url=http://lkml.iu.edu/hypermail/linux/kernel/0909.1/00839.html}}</ref> <ref name="Barnes 2011 overlays">{{cite mailing list|mailing-list=dri-devel|last=Barnes|first=Jesse|title=[RFC] drm: add overlays as first class KMS objects|date=25 April 2011|url=https://lists.freedesktop.org/archives/dri-devel/2011-April/010559.html}}</ref> <ref name="Barnes 2011 planes">{{cite mailing list|mailing-list=dri-devel|last=Barnes|first=Jesse|title=[RFC] drm: add overlays as first class KMS objects|date=13 May 2011|url=https://lists.freedesktop.org/archives/dri-devel/2011-May/011178.html}}</ref> <ref name="Barnes atomic">{{cite mailing list|mailing-list=dri-devel|last=Barnes|first=Jesse|title=[RFC] drm: atomic mode set API|date=15 February 2012|url=https://lists.freedesktop.org/archives/dri-devel/2012-February/019165.html}}</ref> <ref name="Syrjala 2012 atomic">{{cite mailing list|mailing-list=dri-devel|last=Syrjälä|first=Ville|title=[RFC][PATCH 0/6] WIP: drm: Atomic mode setting idea|date=24 May 2012|url=https://lists.freedesktop.org/archives/dri-devel/2012-May/023398.html}}</ref> <ref name="Clark 2012 atomic">{{cite mailing list|mailing-list=dri-devel|last=Clark|first=Rob|title=[RFC 0/9] nuclear pageflip|date=9 September 2012|url=https://lists.freedesktop.org/archives/dri-devel/2012-September/027506.html}}</ref> <ref name="Airlie PRIME patch">{{cite mailing list|mailing-list=dri-devel|last=Airlie|first=Dave|title=[PATCH] drm: base prime/dma-buf support (v5)|date=27 March 2012|url=https://lists.freedesktop.org/archives/dri-devel/2012-March/020611.html}}</ref> <ref name="Russell armada">{{cite mailing list|mailing-list=dri-devel|last=King|first=Russell|title=[GIT PULL] Armada DRM support|date=18 October 2013|url=http://lists.freedesktop.org/archives/dri-devel/2013-October/047640.html}}</ref> <ref name="Clark 2013 atomic">{{cite mailing list|mailing-list=dri-devel|last=Clark|first=Rob|title=[RFCv1 00/12] Atomic/nuclear modeset/pageflip|date=6 October 2013|url=https://lists.freedesktop.org/archives/dri-devel/2013-October/046618.html}}</ref> <ref name="Roper 2014">{{cite mailing list|mailing-list=dri-devel|last=Roper|first=Matt|title=[RFCv2 00/10] Universal plane support|date=7 March 2014|url=http://lists.freedesktop.org/archives/dri-devel/2014-March/055222.html}}</ref> <ref name="Airlie linux 3.19">{{cite mailing list|mailing-list=dri-devel|last=Airlie|first=Dave|title=[git pull] drm for 3.19-rc1|date=14 December 2014|url=https://lists.freedesktop.org/archives/dri-devel/2014-December/073956.html}}</ref> <ref name="Airlie linux 4.0">{{cite mailing list|mailing-list=dri-devel|last=Airlie|first=Dave|title=[git pull] drm pull for 3.20-rc1|date=15 February 2015|url=https://lists.freedesktop.org/archives/dri-devel/2015-February/077595.html}}</ref> <ref name="Deucher amdgpu">{{cite mailing list|mailing-list=dri-devel|last=Deucher|first=Alex|title=Initial amdgpu driver release|date=20 April 2015|url=http://lists.freedesktop.org/archives/dri-devel/2015-April/081501.html}}</ref> <ref name="Deucher amdgpu fiji">{{cite mailing list|mailing-list=dri-devel|last=Deucher|first=Alex|title=[PATCH 00/11] Add Fiji Support|date=3 August 2015|url=http://lists.freedesktop.org/archives/dri-devel/2015-August/087587.html}}</ref> <ref name="Airlie linux 4.7">{{cite mailing list|mailing-list=dri-devel|last=Airlie|first=Dave|title=[git pull] drm for v4.7|date=23 May 2016|url=https://lists.freedesktop.org/archives/dri-devel/2016-May/108049.html}}</ref> <ref name="libdrm 2.4.3">{{cite mailing list|mailing-list=dri-devel|last=Anholt|first=Eric|title=[ANNOUNCE] libdrm-2.4.3|date=22 December 2008|url=https://lists.x.org/archives/xorg-announce/2008-December/000735.html}}</ref> <ref name="libdrm 2.4.17">{{cite mailing list|mailing-list=dri-devel|last=Airlie|first=Dave|title=[ANNOUNCE] libdrm 2.4.17|date=21 December 2009|url=http://marc.info/?l=dri-devel&m=126137228704400}}</ref> <ref name="libdrm 2.4.25">{{cite mailing list|mailing-list=dri-devel|last=Wilson|first=Chris|title=[ANNOUNCE] libdrm 2.4.25|date=11 April 2011|url=https://lists.freedesktop.org/archives/dri-devel/2011-April/010031.html}}</ref> <ref name="libdrm 2.4.34">{{cite mailing list|mailing-list=dri-devel|last=Anholt|first=Eric|title=[ANNOUNCE] libdrm 2.4.34|date=10 May 2012|url=https://lists.freedesktop.org/archives/xorg-announce/2012-May/001948.html}}</ref> <ref name="libdrm 2.4.36">{{cite mailing list|mailing-list=xorg-announce|last=Widawsky|first=Ben|title=[ANNOUNCE] libdrm 2.4.36|date=27 June 2012|url=https://lists.x.org/archives/xorg-announce/2012-June/001984.html}}</ref> <ref name="libdrm 2.4.55">{{cite mailing list|mailing-list=dri-devel|last=Lankhorst|first=Maarten|title=[ANNOUNCE] libdrm 2.4.55|date=25 July 2014|url=https://lists.freedesktop.org/archives/dri-devel/2014-July/064703.html}}</ref> <ref name="libdrm 2.4.62">{{cite mailing list|mailing-list=dri-devel|last=Velikov|first=Emil|title=[ANNOUNCE] libdrm 2.4.62|date=29 June 2015|url=https://lists.freedesktop.org/archives/dri-devel/2015-June/085375.html}}</ref> <!-- git commits --> <ref name="nouveau merge">{{cite web|title=drm/nouveau: Add DRM driver for NVIDIA GPUs|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6ee738610f41b59733f63718f0bdbcba7d3a3f12|website=Kernel.org|access-date=27 January 2015}}</ref> <ref name="exynos merge">{{cite web|title=DRM: add DRM Driver for Samsung SoC EXYNOS4210.|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1c248b7d2960faec3e1b8f3f9c5d9d0df28e0a3c|website=Kernel.org|access-date=3 March 2016}}</ref> <ref name="vmwgfx merge">{{cite web|title=vmwgfx: Take the driver out of staging|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5a7b74beca675968f612ad6188808ed67ac58e36|website=Kernel.org|access-date=3 March 2016}}</ref> <ref name="ast merge">{{cite web|title=drm: Initial KMS driver for AST (ASpeed Technologies) 2000 series (v2)|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=312fec1405dd546ddb3fa6387d54e78f604dd8f8|website=Kernel.org|access-date=3 March 2016}}</ref> <ref name="shmobile merge">{{cite web|title=drm: Renesas SH Mobile DRM driver|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=51c1327876f35d61c8bdd81fc96e1b501c9380ee|website=Kernel.org|access-date=3 March 2016}}</ref> <ref name="tegra merge">{{cite web|title=drm: Add NVIDIA Tegra20 support|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d8f4a9eda006788d8054b8500d9eb5b6efcd8755|website=Kernel.org|access-date=3 March 2016}}</ref> <ref name="omapdrm merge">{{cite web|title=drm/omap: move out of staging|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=8bb0daffb0b8e45188066255b4203446eae181f1|website=Kernel.org|access-date=3 March 2016}}</ref> <ref name="rcar merge">{{cite web|title=drm: Renesas R-Car Display Unit DRM driver|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4bf8e1962f91eed5dbee168d2348983dda0a518f|website=Kernel.org|access-date=3 March 2016}}</ref> <ref name="msm merge">{{cite web|title=drm/msm: basic KMS driver for snapdragon|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c8afe684c95cd17cf4f273d81af369a0fdfa5a74|website=Kernel.org|access-date=3 March 2016}}</ref> <ref name="armada merge">{{cite web|title=DRM: Armada: Add Armada DRM driver|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=96f60e37dc66091bde8d5de136ff6fda09f2d799|website=Kernel.org|access-date=3 March 2016}}</ref> <ref name="bochs merge">{{cite web|title=drm/bochs: new driver|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=0a6659bdc5e8221da99eebb176fd9591435e38de|website=Kernel.org|access-date=3 March 2016}}</ref> <ref name="imx merge">{{cite web|title=drm: imx: Move imx-drm driver out of staging|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6556f7f82b9c401950d703072c0d8137b6f9f516|website=Kernel.org|access-date=9 February 2015}}</ref> <ref name="rockchip merge">{{cite web|title=drm: rockchip: Add basic drm driver|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=2048e3286f347db5667708e47448176b5329e8d8#diff-ed4f42f4bcd152f16e2ba81c4c5fda03|website=Kernel.org|access-date=3 March 2016}}</ref> <ref name="virtio merge">{{cite web|title=Add virtio gpu driver.|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=dc5698e80cf724770283e10414054662bdf6ccfa|website=Kernel.org|access-date=3 March 2016}}</ref> <ref name="vc4 merge">{{cite web|title=drm/vc4: Add KMS support for Raspberry Pi.|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c8b75bca92cbf064b9fa125fc74a85994452e935|website=Kernel.org}}</ref> <ref name="sun4i merge">{{cite web|title=Merge tag 'sun4i-drm-for-4.7'|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d3a8f6784a9cb47c344073624491e571ff1616ec|website=Kernel.org}}</ref> <ref name="hisilicon merge">{{cite web|title=Merge tag 'drm-hisilicon-next-2016-04-29'|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4946dd2e14d252cd04e188ed6a4b794541d1c3ce|website=Kernel.org}}</ref> <ref name="mediatek merge">{{cite web|title=Merge tag 'mediatek-drm-2016-05-09'|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=2e726dc4b4e2dd3ae3fe675f9d3af88a2d593ee1|website=Kernel.org}}</ref> <ref name="gamma remove">{{cite web|title=drm: remove the gamma driver|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1fad99499afdd2730adb1d53413b91580b1f0662|website=Kernel.org|access-date=27 January 2015}}</ref> <ref name="ffb remove">{{cite web|title=[DRM]: Delete sparc64 FFB driver code that never gets built|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=b82f87f6d40f944a591d8d36c0fed2d4374efcb7|website=Kernel.org|access-date=27 January 2015}}</ref> <ref name="i830 remove">{{cite web|title=drm: remove i830 driver|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7f50684717511d30bba180902105c4cd4efca732|website=Kernel.org|access-date=27 January 2015}}</ref> <ref name="unichrome merge">{{cite web|title=drm: Add via unichrome support|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=22f579c621e2f264e6d093b07d75f99bc97d5df2|website=Kernel.org|access-date=27 January 2015}}</ref> <ref name="savage merge">{{cite web|title=drm: add savage driver|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=282a16749ba63256bcdce2766817f46aaac4dc20|website=Kernel.org|access-date=27 January 2015}}</ref> <ref name="Mesa 3dfx">{{cite web|title=First DRI release of 3dfx driver.|url=http://cgit.freedesktop.org/mesa/drm/commit/?id=b6a28bfe98f2c89cfb91079bd3c7b63fb0144eb1|website=Mesa 3D|access-date=15 July 2014}}</ref> <ref name="Linux 2.3.18pre1">{{cite web|title=Import 2.3.18pre1|url=http://repo.or.cz/w/davej-history.git/commit/9af6f6e4860e86507da2d470dd6a3bee34bf58c2|website=The History of Linux in GIT Repository Format 1992-2010 (2010)|access-date=15 July 2014}}</ref> <ref name="reorganization commit">{{cite web|title=drm: reorganise drm tree to be more future proof|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c0e09200dc0813972442e550a5905a132768e56c|website=Kernel.org}}</ref> <ref name="KMS commit">{{cite web|title=DRM: add mode setting support|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=f453ba0460742ad027ae0c4c7d61e62817b3e7ef|website=Kernel.org}}</ref> <ref name="KMS i915 commit">{{cite web|title=DRM: i915: add mode setting support|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=79e539453b34e35f39299a899d263b0a1f1670bd|website=Kernel.org}}</ref> <ref name="KMS radeon commit">{{cite web|title=drm/radeon: introduce kernel modesetting for radeon hardware|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=771fe6b912fca54f03e8a72eb63058b582775362|website=Kernel.org}}</ref> <ref name="TTM commit">{{cite web|title=drm: Add the TTM GPU memory manager subsystem.|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ba4e7d973dd09b66912ac4c0856add8b0703a997|website=Kernel.org}}</ref> <ref name="pageflip commit">{{cite web|title=drm/kms: add page flipping ioctl|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d91d8a3f88059d93e34ac70d059153ec69a9ffc7|website=Kernel.org}}</ref> <ref name="dumb-buffers commit">{{cite web|title=drm: dumb scanout create/mmap for intel/radeon (v3)|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ff72145badb834e8051719ea66e024784d000cb4|website=Kernel.org}}</ref> <ref name="planes commit">{{cite web|title=drm: add plane support v3|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=8cf5c9177151537e73ff1816540e4ba24b174391|website=Kernel.org}}</ref> <ref name="properties commit">{{cite web|title=drm: add generic ioctls to get/set properties on any object|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c543188afb7a83e66161c026dc6fd5eb38dc0b63|website=Kernel.org}}</ref> <ref name="PRIME commit">{{cite web|title=drm: base prime/dma-buf support (v5)|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=3248877ea1796915419fba7c89315fdbf00cb56a|website=Kernel.org}}</ref> <ref name="rendernodes commit">{{cite web|title=drm: implement experimental render nodes|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1793126fcebd7c18834f95d43b55e387a8803aa8|website=Kernel.org}}</ref> <ref name="rendernodes i915">{{cite web|title=drm/i915: Support render nodes|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=10ba50129ab0bdbc0ee712e50913d1c8db88c5f0|website=Kernel.org}}</ref> <ref name="rendernodes radeon">{{cite web|title=drm/radeon: Support render nodes|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=f33bcab9e816c5bf56b74c3007790f2a256910eb|website=Kernel.org}}</ref> <ref name="rendernodes nouveau">{{cite web|title=drm/nouveau: Support render nodes|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7d7612582c15af8772c2fb2473d5fc7eebfefae2|website=Kernel.org}}</ref> <!-- other --> <ref name="linux maintainers">{{cite web|title=List of maintainers of the linux kernel|url=https://www.kernel.org/doc/linux/MAINTAINERS|website=Kernel.org|access-date=14 July 2014}}</ref> <ref name="libdrm git">{{cite web|title=libdrm git repository|url=http://cgit.freedesktop.org/mesa/drm/|access-date=23 July 2014}}</ref> <ref name="Linux 2.4.0">{{cite web|last1=Torvalds|first1=Linus|title=Linux 2.4.0 source code|url=https://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.0.tar.gz|website=Kernel.org|access-date=29 July 2014}}</ref> <ref name="nouveau 40">{{cite web|title=The irregular Nouveau Development Companion #40|url=https://nouveau.freedesktop.org/wiki/Nouveau_Companion_40/|website=Nouveau project|access-date=3 May 2016}}</ref> <ref name="X wiki modesetting">{{cite web|title=Mode Setting Design Discussion|url=http://www.x.org/wiki/ModeSetting/|website=X.Org Wiki|access-date=19 November 2015}}</ref> <ref name="X wiki videocards">{{cite web|title=Video Cards|url=http://xorg.freedesktop.org/wiki/Development/Documentation/HowVideoCardsWork/|website=X.Org Wiki|access-date=11 April 2016}}</ref> <ref name="X11R6.1 relnotes">{{cite web|title=X11R6.1 Release Notes|url=http://www.x.org/wiki/X11R6.1/|website=X.Org|date=14 March 1996|access-date=23 April 2016}}</ref> <ref name="XF86vidmode man">{{cite web|title=XF86VIDMODE manual page|url=http://www.x.org/releases/X11R7.7/doc/man/man3/XF86VM.3.xhtml|website=X.Org|access-date=23 April 2016}}</ref> <ref name="OSDev VGA">{{cite web|title=VGA Hardware|url=http://wiki.osdev.org/VGA_Hardware|website=OSDev.org|access-date=23 November 2015}}</ref> <ref name="Intel UMA">{{cite web|title=Intel Graphics Media Accelerator Developer's Guide|url=https://software.intel.com/sites/default/files/ae/4e/15732|publisher=Intel Corporation|access-date=24 November 2015}}</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)