[TK1 - L4T 21.7.0] - Some 4K screens go to sleep when hitting Ctrl+Alt+F1 (no TTY)

Hello,

Here are the environment:

  • Jetson TK1 GPU,
  • Linux Ubuntu 14.04,
  • L4T 21.7.0,
  • Configure system to display 1080p.

Use case:

  • Physical HDMI connection to an external display,
  • Boot the device,
  • Hit Ctrl+Alt+F1 to access TTY.

Expected result: TTY show login prompt.
Actual result on some (not all) 4K displays: screen goes to sleep, nothing is displayed.

This is working with all 1080p displays (as far as I know), most 4K displays.

It is failing at least with the following 4K:

  • LG 49UH5E-BJ
  • LG UR640S9UD
  • Samsung QM49R
  • Samsung QM43R-B

Do you know what we could change that would help access the TTY? I know this old HW has passed EOL.

Thank you,
– Nicolas

Hi,
You may try not to run 4K display mode. Please check if you can see the current mode:

$ cat /sys/class/graphics/fb0/mode

All modes should be listed in

$ cat /sys/class/graphics/fb0/modes
1 Like

Hi DaneLLL,
Thank you for your reply, we were able to confirm that the default mode when switching to VT 1 (U:3840x2160p-30) was not listed in available modes. Picking an existing mode (D:1920x1080p-60) and setting it into mode did the trick.

Note that we had to write 4 in blank file to turn the display off, before setting it to the correct mode, then 0 to revive it.

echo 4 > /sys/class/graphics/fb1/blank 
echo D:1920x1080p-60 > /sys/class/graphics/fb1/mode
echo 0 > /sys/class/graphics/fb1/blank

Note: we are actually using fb1 instead of fb0.

It sees that the default mode is not supported by some 4K screens. Do you know where this default mode comes from? Is it defined in the kernel itself? Maybe U-boot? Can it be overridden at runtime or have we to recompile a kernel/U-boot?

Anyway, thanks to your answer, it helped already a lot, we can work on a workaround for now, thanks!
– Nicolas

Hi,
The modes are parsed from EDID. If 4K modes are supported it should be listed. For further investigation you can check display driver. To know how the EDID is read and which mode is selected by default.

Hi,
Apologies, I forgot to show the output of modes you asked for:

# cat /sys/class/graphics/fb1/modes
D:3840x2160p-30
D:1920x1080p-60
D:720x400p-70
V:640x480p-60
V:1024x768p-60
D:1152x864p-59
S:1280x1024p-60
D:1920x1080p-59
D:1360x768p-60
D:1920x1080p-50
D:1280x720p-60
D:1280x720p-50
D:1920x1080i-30
D:1920x1080i-25
D:1920x1080p-24
D:1920x1080p-25
D:1920x1080p-30
D:640x480p-61
D:1920x1080p-120
D:1920x1080p-100
D:3840x2160p-25
D:3840x2160p-24
D:4096x2160p-24
U:1920x1080p-120

So, some 4K modes are supported. The one by default is U:3840x2160p-30 which is not available in the list. I can see D:3840x2160p-30. According to shell - Linux Framebuffer modes - Stack Overflow,

  • U stands for unknown,
  • D stands for detailed,
  • V stands for vesa,
  • S stands for standard.

I wonder how different is a U from a D

@DaneLLL when you recommend to check the display driver, what exactly are you suggesting to do?
Thank you,
– Nicolas

Hi,
The driver code is in

/kernel/drivers/video/tegra/dc/

You may trace the code and add the logic to select 1080p mode. This could be more stable for using TK1.

Hi DaneLLL,
Thanks for pointing this out, and your quick answer. I will have a look.
– Nicolas

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.