public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* Display Architecture and Bring Up in UEFI
@ 2018-11-23  6:27 prabin ca
  2018-11-23  9:19 ` Laszlo Ersek
  0 siblings, 1 reply; 5+ messages in thread
From: prabin ca @ 2018-11-23  6:27 UTC (permalink / raw)
  To: edk2-devel, lersek, dandan.bi, afish

Hi Team,

I’m new to UEFI and display interface in UEFI. I would like to have deep dive into how display is working in UEFI (display architecture) and how display is have been bring up (porting of display panel in a any platform in general ).

Please help me with sample codes and necessary documents. I would like to get knowledge about display bring up and display architecture in UEFI

Thanks in advance


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Display Architecture and Bring Up in UEFI
  2018-11-23  6:27 Display Architecture and Bring Up in UEFI prabin ca
@ 2018-11-23  9:19 ` Laszlo Ersek
  2018-11-24  6:09   ` prabin ca
  2018-11-27  1:45   ` Ni, Ruiyu
  0 siblings, 2 replies; 5+ messages in thread
From: Laszlo Ersek @ 2018-11-23  9:19 UTC (permalink / raw)
  To: prabin ca, edk2-devel, dandan.bi, afish

On 11/23/18 07:27, prabin ca wrote:
> Hi Team,
> 
> I’m new to UEFI and display interface in UEFI. I would like to have deep dive into how display is working in UEFI (display architecture) and how display is have been bring up (porting of display panel in a any platform in general ).
> 
> Please help me with sample codes and necessary documents. I would like to get knowledge about display bring up and display architecture in UEFI

The driver writers' guide and the UEFI spec have relevant chapters on
this. I think it's best to start reading the former, at "23 Graphics
Driver Design Guidelines"; that part will give you the pointers to the
rest as well.

https://github.com/tianocore/tianocore.github.io/wiki/UEFI-Driver-Writer%27s-Guide


For a (hopefully educational) example, I refer you to
OvmfPkg/VirtioGpuDxe. In the series that first added this driver to
edk2, I managed to construct the driver in stages such that each stage
would build and even function, at the level expected from that stage. In
particular, commit a2a4fa66701d ("OvmfPkg/VirtioGpuDxe: introduce with
Component Name 2 and Driver Binding", 2016-09-01) could prove helpful,
as it adds the skeleton of the driver, mostly without VirtIo GPU specifics.


In addition, you might want to look into the generic

  MdeModulePkg/Universal/Console/GraphicsOutputDxe

driver. A platform may be able to incorporate that driver without any
changes, and control it by first producing the two HOBs in the PEI phase
that the driver consumes:

  MdePkg/Include/Guid/GraphicsInfoHob.h

(... Interestingly, due to the fact that this header file is under
MdePkg and not MdeModulePkg, I've just learned, from the related commit
messages, that the PEI phase has standardized graphics support,
described in the PI spec. From the following two commit messages:

- 697c6cf32693 ("MdePkg: Add PI 1.4 Graphics HOB and PPI header files",
2015-04-28)

- 2af538fbf667 ("MdeModulePkg: Add GraphicsOutputDxe driver.", 2016-10-12)

it appears that enabling graphics support in the PEI phase could be a
*requirement* for using GraphicsOutputDxe in the DXE phase. That might
or might not match your use case, so perhaps it will prevent you from
using GraphicsOutputDxe. I'm not sure.)

Thanks
Laszlo


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Display Architecture and Bring Up in UEFI
  2018-11-23  9:19 ` Laszlo Ersek
@ 2018-11-24  6:09   ` prabin ca
  2018-11-27  1:45   ` Ni, Ruiyu
  1 sibling, 0 replies; 5+ messages in thread
From: prabin ca @ 2018-11-24  6:09 UTC (permalink / raw)
  To: Laszlo Ersek; +Cc: edk2-devel, dandan.bi, afish

Hi Laszlo,

Thanks for your support, let me look on this 

> On 23-Nov-2018, at 2:49 PM, Laszlo Ersek <lersek@redhat.com> wrote:
> 
>> On 11/23/18 07:27, prabin ca wrote:
>> Hi Team,
>> 
>> I’m new to UEFI and display interface in UEFI. I would like to have deep dive into how display is working in UEFI (display architecture) and how display is have been bring up (porting of display panel in a any platform in general ).
>> 
>> Please help me with sample codes and necessary documents. I would like to get knowledge about display bring up and display architecture in UEFI
> 
> The driver writers' guide and the UEFI spec have relevant chapters on
> this. I think it's best to start reading the former, at "23 Graphics
> Driver Design Guidelines"; that part will give you the pointers to the
> rest as well.
> 
> https://github.com/tianocore/tianocore.github.io/wiki/UEFI-Driver-Writer%27s-Guide
> 
> 
> For a (hopefully educational) example, I refer you to
> OvmfPkg/VirtioGpuDxe. In the series that first added this driver to
> edk2, I managed to construct the driver in stages such that each stage
> would build and even function, at the level expected from that stage. In
> particular, commit a2a4fa66701d ("OvmfPkg/VirtioGpuDxe: introduce with
> Component Name 2 and Driver Binding", 2016-09-01) could prove helpful,
> as it adds the skeleton of the driver, mostly without VirtIo GPU specifics.
> 
> 
> In addition, you might want to look into the generic
> 
>  MdeModulePkg/Universal/Console/GraphicsOutputDxe
> 
> driver. A platform may be able to incorporate that driver without any
> changes, and control it by first producing the two HOBs in the PEI phase
> that the driver consumes:
> 
>  MdePkg/Include/Guid/GraphicsInfoHob.h
> 
> (... Interestingly, due to the fact that this header file is under
> MdePkg and not MdeModulePkg, I've just learned, from the related commit
> messages, that the PEI phase has standardized graphics support,
> described in the PI spec. From the following two commit messages:
> 
> - 697c6cf32693 ("MdePkg: Add PI 1.4 Graphics HOB and PPI header files",
> 2015-04-28)
> 
> - 2af538fbf667 ("MdeModulePkg: Add GraphicsOutputDxe driver.", 2016-10-12)
> 
> it appears that enabling graphics support in the PEI phase could be a
> *requirement* for using GraphicsOutputDxe in the DXE phase. That might
> or might not match your use case, so perhaps it will prevent you from
> using GraphicsOutputDxe. I'm not sure.)
> 
> Thanks
> Laszlo


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Display Architecture and Bring Up in UEFI
  2018-11-23  9:19 ` Laszlo Ersek
  2018-11-24  6:09   ` prabin ca
@ 2018-11-27  1:45   ` Ni, Ruiyu
  2018-11-27 15:13     ` prabin ca
  1 sibling, 1 reply; 5+ messages in thread
From: Ni, Ruiyu @ 2018-11-27  1:45 UTC (permalink / raw)
  To: Laszlo Ersek, prabin ca, edk2-devel, dandan.bi, afish

On 11/23/2018 5:19 PM, Laszlo Ersek wrote:
> On 11/23/18 07:27, prabin ca wrote:
>> Hi Team,
>>
>> I’m new to UEFI and display interface in UEFI. I would like to have deep dive into how display is working in UEFI (display architecture) and how display is have been bring up (porting of display panel in a any platform in general ).
>>
>> Please help me with sample codes and necessary documents. I would like to get knowledge about display bring up and display architecture in UEFI
> 
> The driver writers' guide and the UEFI spec have relevant chapters on
> this. I think it's best to start reading the former, at "23 Graphics
> Driver Design Guidelines"; that part will give you the pointers to the
> rest as well.
> 
> https://github.com/tianocore/tianocore.github.io/wiki/UEFI-Driver-Writer%27s-Guide
> 
> 
> For a (hopefully educational) example, I refer you to
> OvmfPkg/VirtioGpuDxe. In the series that first added this driver to
> edk2, I managed to construct the driver in stages such that each stage
> would build and even function, at the level expected from that stage. In
> particular, commit a2a4fa66701d ("OvmfPkg/VirtioGpuDxe: introduce with
> Component Name 2 and Driver Binding", 2016-09-01) could prove helpful,
> as it adds the skeleton of the driver, mostly without VirtIo GPU specifics.
> 
> 
> In addition, you might want to look into the generic
> 
>    MdeModulePkg/Universal/Console/GraphicsOutputDxe
> 
> driver. A platform may be able to incorporate that driver without any
> changes, and control it by first producing the two HOBs in the PEI phase
> that the driver consumes:
> 
>    MdePkg/Include/Guid/GraphicsInfoHob.h
> 
> (... Interestingly, due to the fact that this header file is under
> MdePkg and not MdeModulePkg, I've just learned, from the related commit
> messages, that the PEI phase has standardized graphics support,
> described in the PI spec. From the following two commit messages:
> 
> - 697c6cf32693 ("MdePkg: Add PI 1.4 Graphics HOB and PPI header files",
> 2015-04-28)
> 
> - 2af538fbf667 ("MdeModulePkg: Add GraphicsOutputDxe driver.", 2016-10-12)
> 
> it appears that enabling graphics support in the PEI phase could be a
> *requirement* for using GraphicsOutputDxe in the DXE phase. That might
> or might not match your use case, so perhaps it will prevent you from
> using GraphicsOutputDxe. I'm not sure.)

Yes. GraphicsOutputDxe layers on the HOB produced in PEI phase to 
provide GOP protocol.


> 
> Thanks
> Laszlo
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
> 


-- 
Thanks,
Ray


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Display Architecture and Bring Up in UEFI
  2018-11-27  1:45   ` Ni, Ruiyu
@ 2018-11-27 15:13     ` prabin ca
  0 siblings, 0 replies; 5+ messages in thread
From: prabin ca @ 2018-11-27 15:13 UTC (permalink / raw)
  To: Ni, Ruiyu; +Cc: Laszlo Ersek, edk2-devel, dandan.bi, afish

Thanks Ruiyu, for confirming.

> On 27-Nov-2018, at 7:15 AM, Ni, Ruiyu <ruiyu.ni@Intel.com> wrote:
> 
>> On 11/23/2018 5:19 PM, Laszlo Ersek wrote:
>>> On 11/23/18 07:27, prabin ca wrote:
>>> Hi Team,
>>> 
>>> I’m new to UEFI and display interface in UEFI. I would like to have deep dive into how display is working in UEFI (display architecture) and how display is have been bring up (porting of display panel in a any platform in general ).
>>> 
>>> Please help me with sample codes and necessary documents. I would like to get knowledge about display bring up and display architecture in UEFI
>> The driver writers' guide and the UEFI spec have relevant chapters on
>> this. I think it's best to start reading the former, at "23 Graphics
>> Driver Design Guidelines"; that part will give you the pointers to the
>> rest as well.
>> https://github.com/tianocore/tianocore.github.io/wiki/UEFI-Driver-Writer%27s-Guide
>> For a (hopefully educational) example, I refer you to
>> OvmfPkg/VirtioGpuDxe. In the series that first added this driver to
>> edk2, I managed to construct the driver in stages such that each stage
>> would build and even function, at the level expected from that stage. In
>> particular, commit a2a4fa66701d ("OvmfPkg/VirtioGpuDxe: introduce with
>> Component Name 2 and Driver Binding", 2016-09-01) could prove helpful,
>> as it adds the skeleton of the driver, mostly without VirtIo GPU specifics.
>> In addition, you might want to look into the generic
>>   MdeModulePkg/Universal/Console/GraphicsOutputDxe
>> driver. A platform may be able to incorporate that driver without any
>> changes, and control it by first producing the two HOBs in the PEI phase
>> that the driver consumes:
>>   MdePkg/Include/Guid/GraphicsInfoHob.h
>> (... Interestingly, due to the fact that this header file is under
>> MdePkg and not MdeModulePkg, I've just learned, from the related commit
>> messages, that the PEI phase has standardized graphics support,
>> described in the PI spec. From the following two commit messages:
>> - 697c6cf32693 ("MdePkg: Add PI 1.4 Graphics HOB and PPI header files",
>> 2015-04-28)
>> - 2af538fbf667 ("MdeModulePkg: Add GraphicsOutputDxe driver.", 2016-10-12)
>> it appears that enabling graphics support in the PEI phase could be a
>> *requirement* for using GraphicsOutputDxe in the DXE phase. That might
>> or might not match your use case, so perhaps it will prevent you from
>> using GraphicsOutputDxe. I'm not sure.)
> 
> Yes. GraphicsOutputDxe layers on the HOB produced in PEI phase to provide GOP protocol.
> 
> 
>> Thanks
>> Laszlo
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel
> 
> 
> -- 
> Thanks,
> Ray


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-11-27 15:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-23  6:27 Display Architecture and Bring Up in UEFI prabin ca
2018-11-23  9:19 ` Laszlo Ersek
2018-11-24  6:09   ` prabin ca
2018-11-27  1:45   ` Ni, Ruiyu
2018-11-27 15:13     ` prabin ca

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox