HDMI hotplug issue

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

HDMI hotplug issue

2,218 Views
balasubramaniyam
Contributor II

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

Labels (4)
Tags (1)
0 Kudos
7 Replies

1,436 Views
ankitr_patel
Senior Contributor II

@Bala Subramaniyam

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,435 Views
balasubramaniyam
Contributor II

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 bootargsvideo=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

 

0 Kudos

1,436 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

Hi Bala,

Which board are you using?

Have a nice day

Rita

0 Kudos

1,436 Views
balasubramaniyam
Contributor II

Hi Rita,

I'm using iMX6QP-SDB

Best regarsd,

Bala

0 Kudos

1,436 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

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

0 Kudos

1,436 Views
balasubramaniyam
Contributor II

Hi,

Is it a know issue or is there any patch is available to solve this issue.

 

Best regards,

Bala

0 Kudos

1,436 Views
balasubramaniyam
Contributor II

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

0 Kudos