cancel
Showing results for 
Search instead for 
Did you mean: 

Yocto for STM32MP157: Virtual display

Zk47
Associate II

rdp.jpg

After successfully RDP to my board

Now i want to make fake HDMI information, to make it auto output. So i no need to plug in HDMI display, but still can connect through freeRDP from PC.

Can someone here ever did this, or have any ideas about how to do it under yocto build. 

 

Here is something i try refer this thread of arch linux : https://discuss.kde.org/t/how-to-create-a-virtual-monitor-display/2725/10

root@stm32mp1:/sys/class/drm# ls -al
drwxr-xr-x    2 root     root             0 May 29 18:48 .
drwxr-xr-x   63 root     root             0 May 29 18:48 ..
lrwxrwxrwx    1 root     root             0 May 29 18:48 card0 -> ../../devices/platform/soc/5a001000.display-controller/drm/card0
lrwxrwxrwx    1 root     root             0 May 29 18:48 card0-HDMI-A-1 -> ../../devices/platform/soc/5a001000.display-controller/drm/card0/card0-HDMI-A-1
lrwxrwxrwx    1 root     root             0 May 29 19:13 card1 -> ../../devices/platform/etnaviv/drm/card1
lrwxrwxrwx    1 root     root             0 May 29 19:14 renderD128 -> ../../devices/platform/etnaviv/drm/renderD128
-r--r--r--    1 root     root          4096 May 29 19:14 version
root@stm32mp1:/sys/devices/platform/soc/5a001000.display-controller/drm/card0/card0-HDMI-A-1# hexdump -C /sys/class/drm/card0-HDMI-A-1/edid | head
00000000  00 ff ff ff ff ff ff 00  30 ae 86 10 01 01 01 01  |........0.......|
00000010  22 15 01 03 81 0f 0a 78  ee e5 b5 a3 55 49 99 27  |"......x....UI.'|
00000020  13 50 54 af ef 00 45 c0  81 c0 81 80 81 80 81 80  |.PT...E.........|
00000030  95 00 95 0f d1 c0 a1 13  00 40 41 58 19 20 2c 58  |.........@AX. ,X|
00000040  36 00 9a 56 00 00 00 1c  00 00 00 fc 00 4c 45 4e  |6..V.........LEN|
00000050  20 4c 31 39 35 30 77 44  0a 20 00 00 00 fd 00 32  | L1950wD. .....2|
00000060  4c 1e 51 0e 00 0a 20 20  20 20 20 20 00 00 00 ff  |L.Q...      ....|
00000070  00 42 33 34 33 32 38 34  35 0a 20 20 20 20 01 ce  |.B3432845.    ..|
00000080  02 03 21 71 4e 06 07 02  03 15 96 11 12 13 04 14  |..!qN...........|
00000090  05 1f 90 23 09 07 07 83  01 00 00 65 03 0c 00 10  |...#.......e....|

root@stm32mp1:~# mkdir /lib/firmware/edid
root@stm32mp1:~# cp /sys/devices/platform/soc/5a001000.display-controller/drm/card0/card0-HDMI-A-1/edid /lib/firmware/edid/monitor.bin

I try to create fake edid for the display which is clone of edid of real hdmi display.

I already set CONFIG_DRM_LOAD_EDID_FIRMWARE to "y" in kernel

Currently i use sd card, and have partition like this 

mmcblk0      179:0    0  29,5G  0 disk 
├─mmcblk0p1  179:1    0   256K  0 part 
├─mmcblk0p2  179:2    0   256K  0 part 
├─mmcblk0p3  179:3    0   256K  0 part 
├─mmcblk0p4  179:4    0   256K  0 part 
├─mmcblk0p5  179:5    0     4M  0 part 
├─mmcblk0p6  179:6    0     4M  0 part 
├─mmcblk0p7  179:7    0   512K  0 part 
├─mmcblk0p8  259:9    0    64M  0 part /media/zk47/bootfs
├─mmcblk0p9  259:10   0    16M  0 part /media/zk47/vendorfs
├─mmcblk0p10 259:11   0     4G  0 part /media/zk47/rootfs
└─mmcblk0p11 259:12   0 934,5M  0 part /media/zk47/userfs

So i modify /media/zk47/bootfs/mmc1_extlinux/extlinux.conf to add video, drm field

zk47@ltu:/media/zk47/bootfs$ cat mmc1_extlinux/extlinux.conf 
# Generic Distro Configuration file generated by OpenEmbedded
MENU BACKGROUND /splash_portrait.bmp
TIMEOUT 20
LABEL OpenSTLinux
	KERNEL /uImage
	FDTDIR /
	APPEND root=PARTUUID=491f6117-415d-4f53-88c9-6e0de54deac6 rootwait rw   console=${console},${baudrate} video=HDMI-A-1:1920x1080@60e drm.edid_firmware=HDMI-A-1:edid/monitor.bin

But it not work. 

0 REPLIES 0