AnsweredAssumed Answered

dpms mode change with wayland on iMX.6

Question asked by PINTU KUMAR on May 27, 2019
Latest reply on Jun 2, 2019 by Shivani Patel

drm imx-drm etnaviv wayland imx6 processor

 

Hi,

Can someone tell me how to change DPMS mode for Wayland based display system ?

 

I have a iMX.6 (arm 32) board with custom Linux Kernel 3.10 (and heavily patched with DRM mainline kernel) and debian platform running.
The board is connected to one LCD screen and one HDMI monitor.
It have DRM + Wayland setup for display.
Also, I noticed that it have two dri interface:
/dev/dri/card0
/dev/dri/card1

 

I am not very familiar with Linux Graphics/Display subsystem, so I am looking for some help here.

 

My requirement is that I have to turn off HDMI display screen using a command line utility or a test program.
I learnt that for X-server we can use xset : xset dpms force off (and it works on my ubuntu desktop with 16.04).

 

However this command does not exists on my board.
So, my question is:
Is there any equivalent DPMS commands for Wayland/Wetson?

 

---------
Further, in order to explore more, I cloned libdrm code from here:
url = https://gitlab.freedesktop.org/mesa/drm

 

Then I found some test utility under: drm/tests folder.
After exploring more, and few modification, somehow I could able to cross-compile "proptest" for my board using below:
arm-linux-gnueabi-gcc -o proptest.out proptest.c -I./target/libdrm_include/ -L./target/libdrm_lib/ -ldrm

 

I found that "/dev/dri/card0" is not working with this test.
So, I changed the test utility like this:
fd = drmOpen("imx-drm", NULL);
OR
fd = open("/dev/dri/card1", O_RDWR);

 

When I default run it on my board, I see that "Connector_id: 29" is showing for the HDMI display and it can support DPMS property.
{{{
Connector 29 (11-1)
        1 EDID:
                flags: immutable blob
                blobs:

 

                value:
                     XXXXXXX
        2 DPMS:
                flags: enum
                enums: On=0 Standby=1 Suspend=2 Off=3
                value: 0
CRTC 24
CRTC 27
}}}

 

Then, when I try to run it using below command:
# ./proptest.out 29 connector 2 3

 

The program just returns successfully without any errors, but nothing happens. The display does not turns off.
I saw that in my kernel 3.10 the ioctl(DRM_IOCTL_MODE_SETPROPERTY) is already supported under DRM.

 

So, I am wondering what is the right way to verify DPMS mode property on wayland ?

 

If anybody have any suggestions, please help me.


Thanks,
Pintu

Outcomes