Access to overlay

I understand that there are 6 overlays available, where linux is using the “lowest” one. I have some questions related to the overlays:

  1. How can I configure Linux to use another overlay?
  2. How can I draw with transparent color in linux, to see the overlays behind?
  3. How can I draw in another overlay using some graphics library? I.e. how to access memory of a specific overlay?

Hi,
There is guidance of configuring overlay in gstreamer user guide:
https://developer.nvidia.com/embedded/dlc/l4t-accelerated-gstreamer-guide-32-2
Please look at Page 26

Thank you! I would also like to know how to use the overlay windows without gstreamer. I.e. just raw memory access.

The Gstreamer user guide references the “TX2 Technical Reference Manual (TRM)”. However I cannot find this TX2 TRM. Do you know where to find it?

Hi,
TRM is in download center:

Beside gstreamer, we have tegra_multimedia_api. Suggest you try NvEglRenderer and NvDrmRenderer. The samles are installed through SDKManager. Please look at
/usr/src/jetson_multimedia_api/

Document:
https://docs.nvidia.com/jetson/archives/l4t-multimedia-archived/l4t-multimedia-3231/index.html

Regarding question 1. What I want to do is to configure linux to draw its desktop on overlay no 4 instead of the default overlay no 0. I.e. I want the “desktop” to be placed on another overlay window.

How can I start the X-server to use a specific overlay window?

Hi davidz0yyl,

We don’t have method to configure whether X server is by default using overlay 0 or other overlay.
Actually, the capability of each overlay is equal. So there is no need to choose 0 or 4.

And actually the window(s) can be arbitrarily assign to each head. So the overlay 4 you are trying to assign to may be not really the overlay 4.

For example, we label the window as ABCDEF and I assign BEF to head0 and ACD to head1.

Then x-server may choose to use window B this time instead of window A. There is no need to distinguish the window #.

Hi WayneWWW,

thank you very much for this explanation. What I really want to do is to have the Linux GUI graphics to draw onto an overlay that draws on top of an nvoverlay that is used by gstreamer, such that when drawing with a transparent color on the linux desktop the gstreamer nvoverlay will show. How can I go about doing this?

Is there perhaps a mechanism to change the drawing order of the ABCDEF windows?

Hi davidz0yyl,

Actually, ubuntu desktop on L4T does not know the existence of other window. And it uses a 3rd-party compositor to help render anything showing up on same window. I am not sure if alpha channel is able to work on gstreamer.

I think the best way is using the DRM sample we have which can control the window and the plane format you are using. Your application will know the existence of every window overlay and you can control the order.