<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Direct_Rendering_Manager</id>
	<title>Direct Rendering Manager - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Direct_Rendering_Manager"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Direct_Rendering_Manager&amp;action=history"/>
	<updated>2026-05-23T19:38:19Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Direct_Rendering_Manager&amp;diff=706765&amp;oldid=prev</id>
		<title>imported&gt;Amraleth: /* growthexperiments-addlink-summary-summary:3|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Direct_Rendering_Manager&amp;diff=706765&amp;oldid=prev"/>
		<updated>2024-10-21T06:06:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:3|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der &amp;#039;&amp;#039;&amp;#039;Direct Rendering Manager&amp;#039;&amp;#039;&amp;#039; (abgekürzt &amp;#039;&amp;#039;&amp;#039;DRM&amp;#039;&amp;#039;&amp;#039;) ist ein Hardware-spezifisches Kernel-Modul ([[Gerätetreiber|Treiber]]), der auch ohne einen [[X Window System|X-Server]] wie [[X.Org-Server|X.org-Server]] Zugriff auf den Speicher ([[Direct Memory Access|DMA]], [[Accelerated Graphics Port|AGP]]) der [[Grafikkarte]] gewährt. Außerdem stellt der DRM sicher, dass die definierten Sicherheitsregeln eingehalten und die Zugriffe auf die Hardware verwaltet werden. DRM ist ein Teil der [[Direct Rendering Infrastructure]] (DRI).&lt;br /&gt;
&lt;br /&gt;
== Was macht der DRM ==&lt;br /&gt;
{{Mehrere Bilder&lt;br /&gt;
 | Breite      = 350&lt;br /&gt;
 | Richtung    = vertical&lt;br /&gt;
 | Kopfzeile   = Mit dem DRM können mehrere Programme kollisionsfrei auf eine Grafikkarte zugreifen&lt;br /&gt;
 | Bild1       = Access to video card without DRM.svg&lt;br /&gt;
 | Untertitel1 = Zugriff auf GPU ohne DRM&lt;br /&gt;
 | Bild2       = Access to video card with DRM.svg&lt;br /&gt;
 | Untertitel2 = Zugriff auf GPU mit DRM&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Der DRM unterstützt die DRI in dreierlei Hinsicht:&amp;lt;ref&amp;gt;[http://phd.mupuf.org/files/toulibre2012_deeper_look.pdf A deeper look into GPUs and the Linux Graphics Stack], S. 25.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Da immer mehrere Instanzen der DRI um den direkten Zugriff auf die (Grafik-)Hardware „streiten“, ist es wichtig, diese Zugriffe zu verwalten und zu synchronisieren. Sonst könnte es zu Situationen kommen, in denen zwei Direct-Rendering-Instanzen versuchen, gleichzeitig auf die Hardwareressourcen zuzugreifen. Das könnte zu ungewollten Ergebnissen führen.&amp;lt;br /&amp;gt; Der DRM stellt dafür „lock-per-hardware“ zur Verfügung.&lt;br /&gt;
# Der DRM bietet einen Zugriffsmechanismus auf den Speicher, der ähnlich zu &amp;lt;code&amp;gt;/dev/mem&amp;lt;/code&amp;gt; ist und so zur Sicherheit beiträgt. Denn der X-Server läuft normalerweise unter &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;, während dies für die Clientinstanzen nicht zutrifft. Außerdem sind direkte Zugriffe auch gar nicht erwünscht (siehe auch erster Punkt). Allerdings sind diese Zugriffe in drei Punkten eingeschränkt:&lt;br /&gt;
#:* Es wird einer Instanz nur Zugriff auf die Mechanismen gewährt, wenn die Instanz mit dem X-Server verbunden ist (&amp;lt;code&amp;gt;xauth&amp;lt;/code&amp;gt;).&lt;br /&gt;
#:* Eine Direct-Rendering-Instanz erhält nur dann Zugriff auf den Speicher, wenn sie Zugriff auf &amp;lt;code&amp;gt;/dev/drm?&amp;lt;/code&amp;gt; hat. Die Zugriffsrechte können nur von &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; geändert werden (dies geschieht im Allgemeinen über die X-Server Konfigurationsdatei).&lt;br /&gt;
#:* Außerdem kann eine solche DRI-Instanz nur dann auf den Speicher zugreifen, wenn der Server dies erlaubt. Der Server kann auch nur Lesezugriffe erlauben.&lt;br /&gt;
# Der DRM verwaltet per [[Graphics Execution Manager]] (GEM) oder TTM den [[Grafikspeicher]]&lt;br /&gt;
# Außerdem stellt der DRM eine generische Zugriffsmöglichkeit für [[Speicherdirektzugriff|DMA]] zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
== libdrm ==&lt;br /&gt;
[[Datei:DRM architecture.svg|mini|links|500px|Zugriff auf den Direct Rendering Manager mit libdrm]]&lt;br /&gt;
{{Infobox Software&lt;br /&gt;
|Name                  = libdrm&lt;br /&gt;
|Logo                  = &lt;br /&gt;
|Screenshot            = &lt;br /&gt;
|Beschreibung          = &lt;br /&gt;
|Maintainer            = &lt;br /&gt;
|Hersteller            = &lt;br /&gt;
|Erscheinungsjahr      = &lt;br /&gt;
|AktuelleVersion       = 2.4.104&amp;lt;ref&amp;gt;{{Internetquelle |url=https://lists.freedesktop.org/archives/dri-devel/2021-January/293654.html |titel=&amp;amp;#91;ANNOUNCE&amp;amp;#93; libdrm 2.4.104 |sprache=en |abruf=2021-02-07}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|AktuelleVersionFreigabeDatum = 11. Januar 2021&lt;br /&gt;
|AktuelleVorabVersion  = &lt;br /&gt;
|AktuelleVorabVersionFreigabeDatum = &lt;br /&gt;
|Betriebssystem        = [[Linux]]&lt;br /&gt;
|Programmiersprache    = &lt;br /&gt;
|Kategorie             = &lt;br /&gt;
|Lizenz                = [[GNU General Public License]], [[MIT-Lizenz]]&lt;br /&gt;
|Deutsch               = &lt;br /&gt;
|Website               = &lt;br /&gt;
|Dateien               = &lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Entwicklung ==&lt;br /&gt;
{{veraltet|seit=2013}}&lt;br /&gt;
So wie die [[Direct Rendering Infrastructure]] selber, unterliegen auch ihre Komponenten einer steten Weiterentwicklung.&lt;br /&gt;
&lt;br /&gt;
* [[Linux-Kernel]] Version 3.11 vom 2. September 2013 beinhaltete größere Änderungen am DRM.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTM5OTc |titel=DRM Changes In Linux 3.11 Might Be The Biggest Ever |datum=2013-06-30| abruf=2013-11-04}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In den Linux-Kernel 3.12&lt;br /&gt;
** wurde [[Adreno|freedreno]] aufgenommen&amp;lt;ref&amp;gt;{{Internetquelle | url=http://cgit.freedesktop.org/~airlied/linux/commit/?id=e906d7bdd3b63ffac8b91f2f05c450775de95ef6 | titel=Pull-Request for the mainline Linux kernel 3.12 | abruf=2013-10-02}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
** wurden die Grafikfunktionen des DRM und des KMS (Kernel-mode setting), siehe [[Mode-Setting]], getrennt&lt;br /&gt;
** wurde eine experimentelle Implementation von „Render-Nodes“ in den Direct Rendering Manager integriert.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.golem.de/news/linux-kernel-effizienter-rendern-mit-getrenntem-drm-und-kms-1310-102369.html |titel=Linux-Kernel 3.12: Effizienter rendern mit getrenntem DRM und KMS |datum=2013-10-25 |abruf=2013-10-26 |hrsg=[[Golem.de]]}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |titel=drm: implement experimental render nodes |url=http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1793126fcebd7c18834f95d43b55e387a8803aa8| abruf=2013-11-04}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |titel=drm/i915: Support render nodes |url=http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=10ba50129ab0bdbc0ee712e50913d1c8db88c5f0| abruf=2013-11-04}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |titel=drm/radeon: Support render nodes |url=http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=f33bcab9e816c5bf56b74c3007790f2a256910eb| abruf=2013-11-04}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |titel=drm/nouveau: Support render nodes |url=http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7d7612582c15af8772c2fb2473d5fc7eebfefae2| abruf=2013-11-04}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Durch die neuen Render-Nodes können Anwendungen über mehr als einen Knotenpunkt im Linux-Kernel auf Grafikeinheiten, auch auf mehrere, zugreifen. Vorher durfte lediglich eine Anwendung, etwa der [[Displayserver]], KMS vornehmen, und das nur mit Root-Rechten. Render-Nodes stellen eine API, über die userspace nicht-privilegierte GPU-Befehle ausführen lassen können, etwa für [[General Purpose Computation on Graphics Processing Unit|GPGPU]].&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Mesa 3D]] – Programmierbibliothek, welche nicht nur APIs ([[OpenGL]], [[OpenVG]] u.&amp;amp;nbsp;a.) implementiert, sondern auch den Userspace-Teil der vorhandenen freien Grafiktreiber&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://dri.freedesktop.org/wiki/DRM Homepage des DRM]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grafikbibliothek]]&lt;br /&gt;
[[Kategorie:Linux-Betriebssystemkomponente]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Amraleth</name></author>
	</entry>
</feed>