HI,
I am using the yocto Morty release and Linux 4.9 kernel.
I am booting the device without connecting HDMI. When I connect the HDMI display to the device after device is booted, the HDMI display screen is streached or corrupted.
Note:
* In u-boot, display boot args is set for HDMI display
To debug this issue I'm checking the HDMI supported video modes from xrandr and sys.
Video modes before HDMI connected:
$ cat /sys/class/graphics/fb0/modes | $ xrandr |
---|---|
U:1920x1080p-60 V:1152x864p-75 V:1280x1024p-60 V:1024x768p-75 V:1024x768p-60 V:800x600p-75 V:800x600p-60 V:640x480p-75 V:640x480p-60 U:1280x720p-120 U:1280x720p-100 U:1920x1080p-30 U:1920x1080p-25 U:1920x1080p-24 U:1920x1080p-50 U:1440x576p-50 U:1440x576p-50 U:1440x288p-50 U:1440x288p-50 U:1280x720p-50 U:720x576p-50 U:720x576p-50 U:1920x1080p-60 U:1440x480p-60 U:1440x480p-60 U:1440x240p-60 U:1440x240p-60 U:1280x720p-60 U:720x480p-60 U:720x480p-60 U:640x480p-60 | Screen 0: minimum 240 x 240, current 1920 x 1080, maximum 8192 x 8192 DISP3 BG connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm U:1920x1080p-60 60.00*+ U:1920x1080p-50 50.00 U:1920x1080p-30 30.00 U:1920x1080p-25 25.00 U:1920x1080p-24 24.00 V:1280x1024p-60 60.02 V:1152x864p-75 75.00 U:1280x720p-120 120.00 U:1280x720p-100 100.00 U:1280x720p-50 50.00 U:1280x720p-60 60.00 U:1440x576p-50 50.00 V:1024x768p-75 75.08 V:1024x768p-60 60.01 U:1440x480p-60 60.00 V:800x600p-75 75.00 V:800x600p-60 60.32 U:1440x288p-50 50.08 U:720x576p-50 50.00 U:720x480p-60 59.94 U:1440x240p-60 59.94 V:640x480p-75 75.00 V:640x480p-60 60.00 U:640x480p-60 59.94 |
Video modes after HDMI connected:
Video modes in sys entry updated after HDMI connected, but Xrandr is not updating. Is that make any HDMI display screen streched issue.
$ cat /sys/class/graphics/fb0/modes
S:1920x1080p-50
S:1280x720p-50
S:720x576p-50
S:720x576p-50
S:1920x1080p-60
S:1280x720p-60
S:720x480p-60
S:720x480p-60
S:640x480p-60
S:1152x864p-75
S:1280x1024p-60
V:1024x768p-60
V:800x600p-60
V:640x480p-60
D:1920x1080p-60
V:640x480p-60
After I restarted the Xserver, both xrandr & sys entry video modes are common and now the hotplug issue is not recreating untill reboot the device.
Is it a know issue or is there any patch is available to solve this issue.
Best regarsd,
Bala
Hi Bala subramaniyam,
Whatever display resolution supported by HDMI display supported needs to put into U boot bootargs.
When 4.9 kernel boot it does detect HDMI display in startup daemon if its connected.
I had checked in Morty release and Linux 4.9.11 kernel found same behavior, with below 1920x1080@60 resolution U boot bootargs as HDMI display support up to 1280x720@60.
video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24
need to set with
video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24
Let me know how you were restart Xserver.
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Ankit Patel,
Thanks for your reply
Xserver restart command:
$ systemctl restart xserver-nodm
Actually HDMI hotplug problem creates on display bpp value for me
If I set display bootargs as
video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=16
(or)
video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24,bpp=16
It works fine when bpp value is set as16, If I set bpp=24 or bpp=32 it creates HDMI hotplug issue.
But still, Xserver has some other issue while changing the display resolution after hotplugging (setting bpp=16 in u-boot bootargs) display is stretched.
Steps to create HDMI issue:
Step 1: Boot the device without HDMI (Display bootargs: video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=16)
Step 2: Connect the HDMI display (Now display is working. But after change, the resolution in sys entry or xrandr command display is corrupted or stretched)
Step 3: check the supported modes in "sys entry" and "Xrandr command" (Still both are different)
$ cat /sys/class/graphics/fb0/modes
$ xrandr
Step 4: If we update the mode in "sys entry" the current resolution is updated in the driver side ($ cat /sys/class/graphics/fb0/mode or $ fbset). But in xserver side the current resolution is not update, so we need the set the current resolution in xserver side by using xrandr command to solve the HDMI display streched issue temporaly.
To solve that issue we need to update the current resolution in Xrander also.
Best regards,
Bala
Hi Bala,
Which board are you using?
Have a nice day
Rita
Hi Rita,
I'm using iMX6QP-SDB
Best regarsd,
Bala
Hi Bala,
Which resolution are you setting in the xorg.conf in Xserver? Maybe the failed display caused by the different resolution setting your Xserver and HDMI display.
Have a nice day
Best Regards
Rita
Hi,
Is it a know issue or is there any patch is available to solve this issue.
Best regards,
Bala
Hi Rita,
I'm not setting any resolution in the "xorg.conf" file in Xserver.
$ cat /etc/X11/xorg.conf
Section "Device"
Identifier "i.MX Accelerated Framebuffer Device"
Driver "vivante"
Option "fbdev" "/dev/fb0"
Option "vivante_fbdev" "/dev/fb0"
Option "HWcursor" "false"
EndSection
Section "ServerFlags"
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
EndSection
Best regards,
Bala