2022-01-27 14:22:03

by Javier Martinez Canillas

[permalink] [raw]
Subject: [PATCH] drm/doc: Add section in the introduction page about learning material

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 <[email protected]>
Signed-off-by: Javier Martinez Canillas <[email protected]>
---

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.
+
+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)
--
2.34.1


2022-01-27 14:49:01

by Pekka Paalanen

[permalink] [raw]
Subject: Re: [PATCH] drm/doc: Add section in the introduction page about learning material

On Thu, 27 Jan 2022 09:20:58 +0100
Javier Martinez Canillas <[email protected]> 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 <[email protected]>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> ---
>
> 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


Attachments:
(No filename) (849.00 B)
OpenPGP digital signature

2022-01-27 16:08:43

by Thomas Zimmermann

[permalink] [raw]
Subject: Re: [PATCH] drm/doc: Add section in the introduction page about learning material

Hi Javier,

thanks for this patch.

Acked-by: Thomas Zimmermann <[email protected]>

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 <[email protected]>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> ---
>
> 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)

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev


Attachments:
OpenPGP_signature (855.00 B)
OpenPGP digital signature

2022-01-27 18:06:08

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH] drm/doc: Add section in the introduction page about learning material

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 <[email protected]> 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 <[email protected]>
>> Signed-off-by: Javier Martinez Canillas <[email protected]>
>> ---
>>
>> 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,
--
Javier Martinez Canillas
Linux Engineering
Red Hat

2022-01-27 18:12:04

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH] drm/doc: Add section in the introduction page about learning material

Hello Thomas,

On 1/27/22 10:18, Thomas Zimmermann wrote:
> Hi Javier,
>
> thanks for this patch.
>
> Acked-by: Thomas Zimmermann <[email protected]>
>

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

2022-01-27 19:38:56

by Pekka Paalanen

[permalink] [raw]
Subject: Re: [PATCH] drm/doc: Add section in the introduction page about learning material

On Thu, 27 Jan 2022 11:46:44 +0100
Javier Martinez Canillas <[email protected]> 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 <[email protected]> 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 <[email protected]>
> >> Signed-off-by: Javier Martinez Canillas <[email protected]>
> >> ---
> >>
> >> 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 <[email protected]>


Thanks,
pq


Attachments:
(No filename) (849.00 B)
OpenPGP digital signature

2022-01-27 20:02:45

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH] drm/doc: Add section in the introduction page about learning material

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 <[email protected]>
> >
>
> 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
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

2022-01-28 00:29:14

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH] drm/doc: Add section in the introduction page about learning material

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,
--
Javier Martinez Canillas
Linux Engineering
Red Hat