Message ID | 20220127082058.434421-1-javierm@redhat.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | drm/doc: Add section in the introduction page about learning material | expand |
On Thu, 27 Jan 2022 09:20:58 +0100 Javier Martinez Canillas <javierm@redhat.com> wrote: > The Linux DRM subsystem supports complex graphics devices and it could be > quite overwhelming for newcomers to learn about the subsystem's internals. > > There are lots of useful talks, slides and articles available that can be > used to get familiar with the needed concepts and ease the learning curve. > > Add a section to the intro that contains these DRM introductory materials. > > Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch> > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> > --- > > Documentation/gpu/introduction.rst | 36 ++++++++++++++++++++++++++++++ > 1 file changed, 36 insertions(+) > > diff --git a/Documentation/gpu/introduction.rst b/Documentation/gpu/introduction.rst > index 25a56e9c0cfd..35986784f916 100644 > --- a/Documentation/gpu/introduction.rst > +++ b/Documentation/gpu/introduction.rst > @@ -112,3 +112,39 @@ Please conduct yourself in a respectful and civilised manner when > interacting with community members on mailing lists, IRC, or bug > trackers. The community represents the project as a whole, and abusive > or bullying behaviour is not tolerated by the project. > + > +Learning material > +================= > + > +Since the Linux DRM layer supports complex graphics devices, it can be quite > +overwhelming for newcomers to get familiar with all the needed concepts and > +learn the subsystem's internals. Hi, this seems to say that DRM is going to be complicated no matter what hardware one wants to drive, but is that true? Is there no way to say that if your display hardware is simple (no GPU), then the driver can be simple to write too? > + > +To shallow the learning curve, this section contains a list of presentations > +and documents that can be used to learn about DRM/KMS and graphics in general. > + > +The list is sorted in reverse chronological order, to keep the most up-to-date > +material at the top. But all of them contain useful information, and it can be > +valuable to go through older material to understand the rationale and context > +in which the recent changes to the DRM subsystem were made. > + > +Talks > +----- > + > +* `An Overview of the Linux and Userspace Graphics Stack <https://www.youtube.com/watch?v=wjAJmqwg47k>`_ - Paul Kocialkowski (2020) > +* `Getting pixels on screen on Linux: introduction to Kernel Mode Setting <https://www.youtube.com/watch?v=haes4_Xnc5Q>`_ - Simon Ser (2020) > +* `An introduction to the Linux DRM subsystem <https://www.youtube.com/watch?v=LbDOCJcDRoo>`_ - Maxime Ripard (2017) > +* `Embrace the Atomic (Display) Age <https://www.youtube.com/watch?v=LjiB_JeDn2M>`_ - Daniel Vetter (2016) > +* `Anatomy of an Atomic KMS Driver <https://www.youtube.com/watch?v=lihqR9sENpc>`_ - Laurent Pinchart (2015) > +* `Atomic Modesetting for Drivers <https://www.youtube.com/watch?v=kl9suFgbTc8>`_ - Daniel Vetter (2015) > +* `Anatomy of an Embedded KMS Driver <https://www.youtube.com/watch?v=Ja8fM7rTae4>`_ - Laurent Pinchart (2013 > + > +Slides and articles > +------------------- > + > +* `Understanding the Linux Graphics Stack <https://bootlin.com/doc/training/graphics/graphics-slides.pdf>`_ - Bootlin (2022) > +* `DRM KMS overview <https://wiki.st.com/stm32mpu/wiki/DRM_KMS_overview>`_ - STMicroelectronics (2021) > +* `Linux graphic stack <https://studiopixl.com/2017-05-13/linux-graphic-stack-an-overview>`_ - Nathan Gauër (2017) > +* `The DRM/KMS subsystem from a newbie’s point of view <https://bootlin.com/pub/conferences/2014/elce/brezillon-drm-kms/brezillon-drm-kms.pdf>`_ - Boris Brezillon (2014) > +* `A brief introduction to the Linux graphics stack <https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/>`_ - Iago Toral (2014) > +* `The Linux Graphics Stack <https://blog.mecheye.net/2012/06/the-linux-graphics-stack/>`_ - Jasper St. Pierre (2012) That's an impressive list of links! However, given the discussions that prompted this doc, I think the gist is missing. The reader is just flooded with stuff to read and learn which can be discouraging. Your audience are developers who know nothing about DRM. They may have been writing fb drivers instead. The display hardware they want to drive has no GPU. Where should they get started? Which presentations to read/watch first? Which driver to look at for a simple example? Maybe add one more section targeting that specific audience? Thanks, pq
Hi Javier, thanks for this patch. Acked-by: Thomas Zimmermann <tzimmermann@suse.de> Find some ideas for consideration below. Am 27.01.22 um 09:20 schrieb Javier Martinez Canillas: > The Linux DRM subsystem supports complex graphics devices and it could be > quite overwhelming for newcomers to learn about the subsystem's internals. > > There are lots of useful talks, slides and articles available that can be > used to get familiar with the needed concepts and ease the learning curve. > > Add a section to the intro that contains these DRM introductory materials. > > Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch> > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> > --- > > Documentation/gpu/introduction.rst | 36 ++++++++++++++++++++++++++++++ > 1 file changed, 36 insertions(+) > > diff --git a/Documentation/gpu/introduction.rst b/Documentation/gpu/introduction.rst > index 25a56e9c0cfd..35986784f916 100644 > --- a/Documentation/gpu/introduction.rst > +++ b/Documentation/gpu/introduction.rst > @@ -112,3 +112,39 @@ Please conduct yourself in a respectful and civilised manner when > interacting with community members on mailing lists, IRC, or bug > trackers. The community represents the project as a whole, and abusive > or bullying behaviour is not tolerated by the project. > + > +Learning material > +================= Maybe 'External References'. > + > +Since the Linux DRM layer supports complex graphics devices, it can be quite > +overwhelming for newcomers to get familiar with all the needed concepts and > +learn the subsystem's internals. It sounds a bit intimdating to me. Can we give it a positive spin? IMHO we could add a separate section that talks about complexity and provides guidelines about how to deal with it: trivial HW? use simple pipe; dedicated VRAM? try TTM; awkward color formats? see drm_format_helper.c Best regards Thomas > + > +To shallow the learning curve, this section contains a list of presentations > +and documents that can be used to learn about DRM/KMS and graphics in general. > + > +The list is sorted in reverse chronological order, to keep the most up-to-date > +material at the top. But all of them contain useful information, and it can be > +valuable to go through older material to understand the rationale and context > +in which the recent changes to the DRM subsystem were made. > + > +Talks > +----- > + > +* `An Overview of the Linux and Userspace Graphics Stack <https://www.youtube.com/watch?v=wjAJmqwg47k>`_ - Paul Kocialkowski (2020) > +* `Getting pixels on screen on Linux: introduction to Kernel Mode Setting <https://www.youtube.com/watch?v=haes4_Xnc5Q>`_ - Simon Ser (2020) > +* `An introduction to the Linux DRM subsystem <https://www.youtube.com/watch?v=LbDOCJcDRoo>`_ - Maxime Ripard (2017) > +* `Embrace the Atomic (Display) Age <https://www.youtube.com/watch?v=LjiB_JeDn2M>`_ - Daniel Vetter (2016) > +* `Anatomy of an Atomic KMS Driver <https://www.youtube.com/watch?v=lihqR9sENpc>`_ - Laurent Pinchart (2015) > +* `Atomic Modesetting for Drivers <https://www.youtube.com/watch?v=kl9suFgbTc8>`_ - Daniel Vetter (2015) > +* `Anatomy of an Embedded KMS Driver <https://www.youtube.com/watch?v=Ja8fM7rTae4>`_ - Laurent Pinchart (2013 > + > +Slides and articles > +------------------- > + > +* `Understanding the Linux Graphics Stack <https://bootlin.com/doc/training/graphics/graphics-slides.pdf>`_ - Bootlin (2022) > +* `DRM KMS overview <https://wiki.st.com/stm32mpu/wiki/DRM_KMS_overview>`_ - STMicroelectronics (2021) > +* `Linux graphic stack <https://studiopixl.com/2017-05-13/linux-graphic-stack-an-overview>`_ - Nathan Gauër (2017) > +* `The DRM/KMS subsystem from a newbie’s point of view <https://bootlin.com/pub/conferences/2014/elce/brezillon-drm-kms/brezillon-drm-kms.pdf>`_ - Boris Brezillon (2014) > +* `A brief introduction to the Linux graphics stack <https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/>`_ - Iago Toral (2014) > +* `The Linux Graphics Stack <https://blog.mecheye.net/2012/06/the-linux-graphics-stack/>`_ - Jasper St. Pierre (2012)
Hello Pekka, Thanks a lot for your feedback. On 1/27/22 10:05, Pekka Paalanen wrote: > On Thu, 27 Jan 2022 09:20:58 +0100 > Javier Martinez Canillas <javierm@redhat.com> wrote: > >> The Linux DRM subsystem supports complex graphics devices and it could be >> quite overwhelming for newcomers to learn about the subsystem's internals. >> >> There are lots of useful talks, slides and articles available that can be >> used to get familiar with the needed concepts and ease the learning curve. >> >> Add a section to the intro that contains these DRM introductory materials. >> >> Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch> >> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> >> --- >> >> Documentation/gpu/introduction.rst | 36 ++++++++++++++++++++++++++++++ >> 1 file changed, 36 insertions(+) >> >> diff --git a/Documentation/gpu/introduction.rst b/Documentation/gpu/introduction.rst >> index 25a56e9c0cfd..35986784f916 100644 >> --- a/Documentation/gpu/introduction.rst >> +++ b/Documentation/gpu/introduction.rst >> @@ -112,3 +112,39 @@ Please conduct yourself in a respectful and civilised manner when >> interacting with community members on mailing lists, IRC, or bug >> trackers. The community represents the project as a whole, and abusive >> or bullying behaviour is not tolerated by the project. >> + >> +Learning material >> +================= >> + >> +Since the Linux DRM layer supports complex graphics devices, it can be quite >> +overwhelming for newcomers to get familiar with all the needed concepts and >> +learn the subsystem's internals. > > Hi, > > this seems to say that DRM is going to be complicated no matter what > hardware one wants to drive, but is that true? > > Is there no way to say that if your display hardware is simple (no > GPU), then the driver can be simple to write too? > I do wonder how much one could abstract of the uAPI when writing a simpler driver. In other words, writing the driver should be simple but I believe that grasping all the needed details about DRM may not be. >> + >> +To shallow the learning curve, this section contains a list of presentations >> +and documents that can be used to learn about DRM/KMS and graphics in general. >> + >> +The list is sorted in reverse chronological order, to keep the most up-to-date >> +material at the top. But all of them contain useful information, and it can be >> +valuable to go through older material to understand the rationale and context >> +in which the recent changes to the DRM subsystem were made. >> + >> +Talks >> +----- >> + >> +* `An Overview of the Linux and Userspace Graphics Stack <https://www.youtube.com/watch?v=wjAJmqwg47k>`_ - Paul Kocialkowski (2020) >> +* `Getting pixels on screen on Linux: introduction to Kernel Mode Setting <https://www.youtube.com/watch?v=haes4_Xnc5Q>`_ - Simon Ser (2020) >> +* `An introduction to the Linux DRM subsystem <https://www.youtube.com/watch?v=LbDOCJcDRoo>`_ - Maxime Ripard (2017) >> +* `Embrace the Atomic (Display) Age <https://www.youtube.com/watch?v=LjiB_JeDn2M>`_ - Daniel Vetter (2016) >> +* `Anatomy of an Atomic KMS Driver <https://www.youtube.com/watch?v=lihqR9sENpc>`_ - Laurent Pinchart (2015) >> +* `Atomic Modesetting for Drivers <https://www.youtube.com/watch?v=kl9suFgbTc8>`_ - Daniel Vetter (2015) >> +* `Anatomy of an Embedded KMS Driver <https://www.youtube.com/watch?v=Ja8fM7rTae4>`_ - Laurent Pinchart (2013 >> + >> +Slides and articles >> +------------------- >> + >> +* `Understanding the Linux Graphics Stack <https://bootlin.com/doc/training/graphics/graphics-slides.pdf>`_ - Bootlin (2022) >> +* `DRM KMS overview <https://wiki.st.com/stm32mpu/wiki/DRM_KMS_overview>`_ - STMicroelectronics (2021) >> +* `Linux graphic stack <https://studiopixl.com/2017-05-13/linux-graphic-stack-an-overview>`_ - Nathan Gauër (2017) >> +* `The DRM/KMS subsystem from a newbie’s point of view <https://bootlin.com/pub/conferences/2014/elce/brezillon-drm-kms/brezillon-drm-kms.pdf>`_ - Boris Brezillon (2014) >> +* `A brief introduction to the Linux graphics stack <https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/>`_ - Iago Toral (2014) >> +* `The Linux Graphics Stack <https://blog.mecheye.net/2012/06/the-linux-graphics-stack/>`_ - Jasper St. Pierre (2012) > > That's an impressive list of links! > > However, given the discussions that prompted this doc, I think the gist > is missing. The reader is just flooded with stuff to read and learn > which can be discouraging. > > Your audience are developers who know nothing about DRM. They may have > been writing fb drivers instead. The display hardware they want to > drive has no GPU. Where should they get started? Which presentations to > read/watch first? Which driver to look at for a simple example? > > Maybe add one more section targeting that specific audience? > Yes, I did not ignore your suggestions made over IRC but it's just that I didn't know to write such section. Maybe we can land this section and then as a follow-up think how a "Getting started" one should look like ? Best regards,
Hello Thomas, On 1/27/22 10:18, Thomas Zimmermann wrote: > Hi Javier, > > thanks for this patch. > > Acked-by: Thomas Zimmermann <tzimmermann@suse.de> > Thanks! > Find some ideas for consideration below. > [snip] >> + >> +Learning material >> +================= > > Maybe 'External References'. > Agreed, I'll change it. >> + >> +Since the Linux DRM layer supports complex graphics devices, it can be quite >> +overwhelming for newcomers to get familiar with all the needed concepts and >> +learn the subsystem's internals. > > It sounds a bit intimdating to me. Can we give it a positive spin? > Pekka also had reservations about this paragraph, so I think that will just drop it. The goal of having this section was to ease the learning curve but the way I worded it may reinforce the perception that DRM is hard to learn. > IMHO we could add a separate section that talks about complexity and > provides guidelines about how to deal with it: trivial HW? use simple > pipe; dedicated VRAM? try TTM; awkward color formats? see > drm_format_helper.c > Indeed. And we can add such section as a follow-up. Maybe referring to some of the drivers in drivers/gpu/drm/tiny. Best regards, -- Javier Martinez Canillas Linux Engineering Red Hat
On Thu, 27 Jan 2022 11:46:44 +0100 Javier Martinez Canillas <javierm@redhat.com> wrote: > Hello Pekka, > > Thanks a lot for your feedback. > > On 1/27/22 10:05, Pekka Paalanen wrote: > > On Thu, 27 Jan 2022 09:20:58 +0100 > > Javier Martinez Canillas <javierm@redhat.com> wrote: > > > >> The Linux DRM subsystem supports complex graphics devices and it could be > >> quite overwhelming for newcomers to learn about the subsystem's internals. > >> > >> There are lots of useful talks, slides and articles available that can be > >> used to get familiar with the needed concepts and ease the learning curve. > >> > >> Add a section to the intro that contains these DRM introductory materials. > >> > >> Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch> > >> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> > >> --- > >> > >> Documentation/gpu/introduction.rst | 36 ++++++++++++++++++++++++++++++ > >> 1 file changed, 36 insertions(+) > >> > >> diff --git a/Documentation/gpu/introduction.rst b/Documentation/gpu/introduction.rst > >> index 25a56e9c0cfd..35986784f916 100644 > >> --- a/Documentation/gpu/introduction.rst > >> +++ b/Documentation/gpu/introduction.rst > >> @@ -112,3 +112,39 @@ Please conduct yourself in a respectful and civilised manner when > >> interacting with community members on mailing lists, IRC, or bug > >> trackers. The community represents the project as a whole, and abusive > >> or bullying behaviour is not tolerated by the project. > >> + > >> +Learning material > >> +================= > >> + > >> +Since the Linux DRM layer supports complex graphics devices, it can be quite > >> +overwhelming for newcomers to get familiar with all the needed concepts and > >> +learn the subsystem's internals. > > > > Hi, > > > > this seems to say that DRM is going to be complicated no matter what > > hardware one wants to drive, but is that true? > > > > Is there no way to say that if your display hardware is simple (no > > GPU), then the driver can be simple to write too? > > > > I do wonder how much one could abstract of the uAPI when writing a simpler driver. > > In other words, writing the driver should be simple but I believe that grasping > all the needed details about DRM may not be. > > >> + > >> +To shallow the learning curve, this section contains a list of presentations > >> +and documents that can be used to learn about DRM/KMS and graphics in general. > >> + > >> +The list is sorted in reverse chronological order, to keep the most up-to-date > >> +material at the top. But all of them contain useful information, and it can be > >> +valuable to go through older material to understand the rationale and context > >> +in which the recent changes to the DRM subsystem were made. > >> + > >> +Talks > >> +----- > >> + > >> +* `An Overview of the Linux and Userspace Graphics Stack <https://www.youtube.com/watch?v=wjAJmqwg47k>`_ - Paul Kocialkowski (2020) > >> +* `Getting pixels on screen on Linux: introduction to Kernel Mode Setting <https://www.youtube.com/watch?v=haes4_Xnc5Q>`_ - Simon Ser (2020) > >> +* `An introduction to the Linux DRM subsystem <https://www.youtube.com/watch?v=LbDOCJcDRoo>`_ - Maxime Ripard (2017) > >> +* `Embrace the Atomic (Display) Age <https://www.youtube.com/watch?v=LjiB_JeDn2M>`_ - Daniel Vetter (2016) > >> +* `Anatomy of an Atomic KMS Driver <https://www.youtube.com/watch?v=lihqR9sENpc>`_ - Laurent Pinchart (2015) > >> +* `Atomic Modesetting for Drivers <https://www.youtube.com/watch?v=kl9suFgbTc8>`_ - Daniel Vetter (2015) > >> +* `Anatomy of an Embedded KMS Driver <https://www.youtube.com/watch?v=Ja8fM7rTae4>`_ - Laurent Pinchart (2013 > >> + > >> +Slides and articles > >> +------------------- > >> + > >> +* `Understanding the Linux Graphics Stack <https://bootlin.com/doc/training/graphics/graphics-slides.pdf>`_ - Bootlin (2022) > >> +* `DRM KMS overview <https://wiki.st.com/stm32mpu/wiki/DRM_KMS_overview>`_ - STMicroelectronics (2021) > >> +* `Linux graphic stack <https://studiopixl.com/2017-05-13/linux-graphic-stack-an-overview>`_ - Nathan Gauër (2017) > >> +* `The DRM/KMS subsystem from a newbie’s point of view <https://bootlin.com/pub/conferences/2014/elce/brezillon-drm-kms/brezillon-drm-kms.pdf>`_ - Boris Brezillon (2014) > >> +* `A brief introduction to the Linux graphics stack <https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/>`_ - Iago Toral (2014) > >> +* `The Linux Graphics Stack <https://blog.mecheye.net/2012/06/the-linux-graphics-stack/>`_ - Jasper St. Pierre (2012) > > > > That's an impressive list of links! > > > > However, given the discussions that prompted this doc, I think the gist > > is missing. The reader is just flooded with stuff to read and learn > > which can be discouraging. > > > > Your audience are developers who know nothing about DRM. They may have > > been writing fb drivers instead. The display hardware they want to > > drive has no GPU. Where should they get started? Which presentations to > > read/watch first? Which driver to look at for a simple example? > > > > Maybe add one more section targeting that specific audience? > > > > Yes, I did not ignore your suggestions made over IRC but it's just that I > didn't know to write such section. Maybe we can land this section and then > as a follow-up think how a "Getting started" one should look like ? I can't write such a section myself either, and reviewing one I wouldn't be able to say if it covers everything needed but no more. Fine by me! FW I'm W here Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com> Thanks, pq
On Thu, Jan 27, 2022 at 11:50:30AM +0100, Javier Martinez Canillas wrote: > Hello Thomas, > > On 1/27/22 10:18, Thomas Zimmermann wrote: > > Hi Javier, > > > > thanks for this patch. > > > > Acked-by: Thomas Zimmermann <tzimmermann@suse.de> > > > > Thanks! > > > Find some ideas for consideration below. > > > > [snip] > > >> + > >> +Learning material > >> +================= > > > > Maybe 'External References'. > > > > Agreed, I'll change it. > > >> + > >> +Since the Linux DRM layer supports complex graphics devices, it can be quite > >> +overwhelming for newcomers to get familiar with all the needed concepts and > >> +learn the subsystem's internals. > > > > It sounds a bit intimdating to me. Can we give it a positive spin? > > > > Pekka also had reservations about this paragraph, so I think that will just > drop it. The goal of having this section was to ease the learning curve but > the way I worded it may reinforce the perception that DRM is hard to learn. > > > IMHO we could add a separate section that talks about complexity and > > provides guidelines about how to deal with it: trivial HW? use simple > > pipe; dedicated VRAM? try TTM; awkward color formats? see > > drm_format_helper.c > > > > Indeed. And we can add such section as a follow-up. Maybe referring to some > of the drivers in drivers/gpu/drm/tiny. Do we have a talk anywhere for tiny? Otherwise I think it'd be good to just add a paragraph about "hey tiny exists" and maybe link to fbdev helpers and simple pipe helpers to get people started with the right entry points for simple drivers. And make it clear that the above pile of links is more for general overview and if you don't yet know what exactly it is you need. Also I guess for this year's xdc I really need to volunteer someone to do a drm/tiny intro :-) Cheers, Daniel
On 1/27/22 12:31, Daniel Vetter wrote: > On Thu, Jan 27, 2022 at 11:50:30AM +0100, Javier Martinez Canillas wrote: [snip] >> Indeed. And we can add such section as a follow-up. Maybe referring to some >> of the drivers in drivers/gpu/drm/tiny. > > Do we have a talk anywhere for tiny? > I couldn't find one for tiny. > Otherwise I think it'd be good to just add a paragraph about "hey tiny > exists" and maybe link to fbdev helpers and simple pipe helpers to get > people started with the right entry points for simple drivers. > Ok. I can add some sentences about drm/tiny and point out that the DRM drivers there could be used as a good references for simple drivers. > And make it clear that the above pile of links is more for general > overview and if you don't yet know what exactly it is you need. > Sure, I'll add that too. Best regards,
diff --git a/Documentation/gpu/introduction.rst b/Documentation/gpu/introduction.rst index 25a56e9c0cfd..35986784f916 100644 --- a/Documentation/gpu/introduction.rst +++ b/Documentation/gpu/introduction.rst @@ -112,3 +112,39 @@ Please conduct yourself in a respectful and civilised manner when interacting with community members on mailing lists, IRC, or bug trackers. The community represents the project as a whole, and abusive or bullying behaviour is not tolerated by the project. + +Learning material +================= + +Since the Linux DRM layer supports complex graphics devices, it can be quite +overwhelming for newcomers to get familiar with all the needed concepts and +learn the subsystem's internals. + +To shallow the learning curve, this section contains a list of presentations +and documents that can be used to learn about DRM/KMS and graphics in general. + +The list is sorted in reverse chronological order, to keep the most up-to-date +material at the top. But all of them contain useful information, and it can be +valuable to go through older material to understand the rationale and context +in which the recent changes to the DRM subsystem were made. + +Talks +----- + +* `An Overview of the Linux and Userspace Graphics Stack <https://www.youtube.com/watch?v=wjAJmqwg47k>`_ - Paul Kocialkowski (2020) +* `Getting pixels on screen on Linux: introduction to Kernel Mode Setting <https://www.youtube.com/watch?v=haes4_Xnc5Q>`_ - Simon Ser (2020) +* `An introduction to the Linux DRM subsystem <https://www.youtube.com/watch?v=LbDOCJcDRoo>`_ - Maxime Ripard (2017) +* `Embrace the Atomic (Display) Age <https://www.youtube.com/watch?v=LjiB_JeDn2M>`_ - Daniel Vetter (2016) +* `Anatomy of an Atomic KMS Driver <https://www.youtube.com/watch?v=lihqR9sENpc>`_ - Laurent Pinchart (2015) +* `Atomic Modesetting for Drivers <https://www.youtube.com/watch?v=kl9suFgbTc8>`_ - Daniel Vetter (2015) +* `Anatomy of an Embedded KMS Driver <https://www.youtube.com/watch?v=Ja8fM7rTae4>`_ - Laurent Pinchart (2013 + +Slides and articles +------------------- + +* `Understanding the Linux Graphics Stack <https://bootlin.com/doc/training/graphics/graphics-slides.pdf>`_ - Bootlin (2022) +* `DRM KMS overview <https://wiki.st.com/stm32mpu/wiki/DRM_KMS_overview>`_ - STMicroelectronics (2021) +* `Linux graphic stack <https://studiopixl.com/2017-05-13/linux-graphic-stack-an-overview>`_ - Nathan Gauër (2017) +* `The DRM/KMS subsystem from a newbie’s point of view <https://bootlin.com/pub/conferences/2014/elce/brezillon-drm-kms/brezillon-drm-kms.pdf>`_ - Boris Brezillon (2014) +* `A brief introduction to the Linux graphics stack <https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/>`_ - Iago Toral (2014) +* `The Linux Graphics Stack <https://blog.mecheye.net/2012/06/the-linux-graphics-stack/>`_ - Jasper St. Pierre (2012)
The Linux DRM subsystem supports complex graphics devices and it could be quite overwhelming for newcomers to learn about the subsystem's internals. There are lots of useful talks, slides and articles available that can be used to get familiar with the needed concepts and ease the learning curve. Add a section to the intro that contains these DRM introductory materials. Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> --- Documentation/gpu/introduction.rst | 36 ++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)