Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question: How can I tune in the resolution and clock speed for kmscon? #87

Open
DanielMartensson opened this issue Oct 10, 2024 · 0 comments

Comments

@DanielMartensson
Copy link

DanielMartensson commented Oct 10, 2024

Hi!

I'm using kmscon at my home made single board computer
https://github.com/DanielMartensson/STM32-Computer

image

I'm using kmscon with STM32-OS
https://github.com/DanielMartensson/STM32-OS

When my STM32-OS is booting, then the login promnt is present. But the connection seems not be stable.
What really happens are two things:

  • The text are flickering dashed white lines. Not so much, but I can clearly see it
  • Sometimes I loose the HMDI connection

I have temporary solved this issue with weston and modetest. What I do is that first I run

modetest -M stm -s 32:1280x720
(https://wiki.st.com/stm32mpu/wiki/How_to_display_on_HDMI)

And then the HDMI test screen appears. After that I close modetest and then start weston. Then there are no flickering dashed white lines at the screen. The connection is stable. This could not been achieved without modetest. If I only started weston before running modetest, then I can see white flickering dashed lines at the screen and the HDMI connection is not stable.

Question:

I'm sure that this is a configuration issue. Is there something in modetest that tune in perfect configuration? If yes: How can tune in the same configuration inside kmscon? I'm usessing it's the clock speed, because sometimes I have connection and sometimes I don't and the flickering dashed white lines can be varying. At the start-up, the flickering dashed white lines are not present. They appears after a minute or two.

root@stm32-os:~# modetest
trying to open device 'i915'...failed
trying to open device 'amdgpu'...failed
trying to open device 'radeon'...failed
trying to open device 'nouveau'...failed
trying to open device 'vmwgfx'...failed
trying to open device 'omapdrm'...failed
trying to open device 'exynos'...failed
trying to open device 'tilcdc'...failed
trying to open device 'msm'...failed
trying to open device 'sti'...failed
trying to open device 'tegra'...failed
trying to open device 'imx-drm'...failed
trying to open device 'rockchip'...failed
trying to open device 'atmel-hlcdc'...failed
trying to open device 'fsl-dcu-drm'...failed
trying to open device 'vc4'...failed
trying to open device 'virtio_gpu'...failed
trying to open device 'mediatek'...failed
trying to open device 'meson'...failed
trying to open device 'pl111'...failed
trying to open device 'stm'...done
Encoders:
id      crtc    type    possible crtcs  possible clones
31      38      DPI     0x00000001      0x00000001

Connectors:
id      encoder status          name            size (mm)       modes   encoders
32      31      connected       HDMI-A-1        1210x680                7       31
  modes:
        index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
  #0 1920x1080 30.00 1920 2008 2052 2200 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver
  #1 1920x1080 25.00 1920 2448 2492 2640 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver
  #2 1920x1080 24.00 1920 2558 2602 2750 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver
  #3 1280x720 60.00 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver
  #4 1280x720 50.00 1280 1720 1760 1980 720 725 730 750 74250 flags: phsync, pvsync; type: driver
  #5 720x576 50.00 720 732 796 864 576 581 586 625 27000 flags: nhsync, nvsync; type: driver
  #6 720x480 59.94 720 736 798 858 480 489 495 525 27000 flags: nhsync, nvsync; type: driver
  props:
        1 EDID:
                flags: immutable blob
                blobs:

                value:
                        00ffffffffffff00506c866511100100
                        271b0103807944780a0dc9a057479827
                        12484c2108008140a940818081c0a9c0
                        01010101010104740030f2705a80b058
                        8a0020c23100001e023a801871382d40
                        582c4500b9a84200001e000000fc0054
                        434c20534d4152542054560a000000fd
                        00324b1e5023000a20202020202001f0
                        020340f257909f051420041312110302
                        161507060121225d625e5f6429090707
                        15175055170083010000e200ff6e030c
                        002000b84421008001020304e3050301
                        023a801871382d40582c4500b9a84200
                        001e011d007251d01e206e285500b9a8
                        4200001e000000000000000000000000
                        000000000000000000000000000000a3
        2 DPMS:
                flags: enum
                enums: On=0 Standby=1 Suspend=2 Off=3
                value: 0
        5 link-status:
                flags: enum
                enums: Good=0 Bad=1
                value: 0
        6 non-desktop:
                flags: immutable range
                values: 0 1
                value: 0
        4 TILE:
                flags: immutable blob
                blobs:

                value:
        33 dithering:
                flags: enum
                enums: Off=0 On=1
                value: 0

CRTCs:
id      fb      pos     size
38      45      (0,0)   (1920x1080)
  #0 1920x1080 30.00 1920 2008 2052 2200 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver
  props:
        24 VRR_ENABLED:
                flags: range
                values: 0 1
                value: 0
        28 GAMMA_LUT:
                flags: blob
                blobs:

                value:
        29 GAMMA_LUT_SIZE:
                flags: immutable range
                values: 0 4294967295
                value: 256

Planes:
id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
34      38      45      0,0             0,0     0               0x00000001
  formats: AR24 XR24 RG24 RG16 AR15 XR15 AR12 XR12 C8
  props:
        8 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 1
        30 IN_FORMATS:
                flags: immutable blob
                blobs:

                value:
                        01000000000000000900000018000000
                        01000000400000004152323458523234
                        52473234524731364152313558523135
                        41523132585231324338202000000000
                        ff010000000000000000000000000000
                        0000000000000000
                in_formats blob decoded:
                         AR24:  LINEAR(0x0)
                         XR24:  LINEAR(0x0)
                         RG24:  LINEAR(0x0)
                         RG16:  LINEAR(0x0)
                         AR15:  LINEAR(0x0)
                         XR15:  LINEAR(0x0)
                         AR12:  LINEAR(0x0)
                         XR12:  LINEAR(0x0)
                         C8:  LINEAR(0x0)
        36 alpha:
                flags: range
                values: 0 65535
                value: 65535
        37 zpos:
                flags: immutable range
                values: 0 0
                value: 0
39      0       0       0,0             0,0     0               0x00000001
  formats: AR24 RG24 RG16 AR15 AR12 C8
  props:
        8 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 0
        30 IN_FORMATS:
                flags: immutable blob
                blobs:

                value:
                        01000000000000000600000018000000
                        01000000300000004152323452473234
                        52473136415231354152313243382020
                        3f000000000000000000000000000000
                        0000000000000000
                in_formats blob decoded:
                         AR24:  LINEAR(0x0)
                         RG24:  LINEAR(0x0)
                         RG16:  LINEAR(0x0)
                         AR15:  LINEAR(0x0)
                         AR12:  LINEAR(0x0)
                         C8:  LINEAR(0x0)
        41 alpha:
                flags: range
                values: 0 65535
                value: 65535
        42 zpos:
                flags: immutable range
                values: 1 1
                value: 1

Frame buffers:
id      size    pitch

root@stm32-os:~#

When running weston before modetest. This is using [email protected], current, 74.2 MHz as current.

root@stm32-os:~# weston
Date: 2024-08-08 UTC
[22:54:53.-1090821552] weston 13.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: 13.0.0
[22:54:53.-1226487091] Command line: weston
[22:54:53.-1226487035] OS: Linux, 6.1.82, #4 PREEMPT Wed Oct  2 22:39:11 CEST 2024, armv7l
[22:54:53.091] Flight recorder: enabled
[22:54:53.-1226487035] Starting with no config file.
[22:54:53.000] Output repaint window is 7 ms maximum.
[22:54:53.-1090825320] Loading module '/usr/lib/arm-linux-gnueabihf/libweston-13/drm-backend.so'
[22:54:54.1374389535] initializing drm backend
[22:54:54.803142912] Trying libseat launcher...
[22:54:54.000] [libseat/libseat.c:73] Seat opened with backend 'seatd'
[22:54:54.803142912] [libseat/backend/seatd.c:212] Enabling seat
[22:54:54.803142912] libseat: session control granted
[22:54:54.4570328] using /dev/dri/card0
[22:54:54.-1226487035] DRM: supports atomic modesetting
[22:54:54.-1226487035] DRM: supports GBM modifiers
[22:54:54.-1226487035] DRM: does not support async page flipping
[22:54:54.065] DRM: supports picture aspect ratio
[22:54:54.-1090825544] Loading module '/usr/lib/arm-linux-gnueabihf/libweston-13/gl-renderer.so'
[22:54:54.4909752] warning: failed to query rendering device from EGL
[22:54:54.000] EGL version: 1.5
[22:54:54.-1226487035] EGL vendor: Mesa Project
[22:54:54.-1226487035] EGL client APIs: OpenGL OpenGL_ES
[22:54:54.-1090822112] warning: Disabling render GPU timeline and explicit synchronization due to missing EGL_ANDROID_native_fence_sync extension
[22:54:54.146] EGL features:
               EGL Wayland extension: no
               context priority: no
               buffer age: yes
               partial update: no
               swap buffers with damage: no
               configless context: yes
               surfaceless context: yes
               dmabuf support: modifiers
[22:54:54.-1225526075] GL version: OpenGL ES 3.2 Mesa 24.0.9-0ubuntu0.1
[22:54:54.072] GLSL version: OpenGL ES GLSL ES 3.20
[22:54:54.-1226487035] GL vendor: Mesa
[22:54:54.-1226487035] GL renderer: llvmpipe (LLVM 17.0.6, 128 bits)
[22:54:54.069] GL ES 3.2 - renderer features:
               read-back format: ARGB8888
               glReadPixels supports y-flip: yes
               wl_shm 10 bpc formats: yes
               wl_shm 16 bpc formats: yes
               wl_shm half-float formats: yes
               internal R and RG formats: yes
               OES_EGL_image_external: yes
[22:54:54.-1225574512] Using GL renderer
[22:54:54.000] event0  - pmic_onkey: is tagged by udev as: Keyboard
[22:54:54.068] event0  - pmic_onkey: device is a keyboard
[22:54:54.000] lionkey".
[22:54:54.000] DRM: head 'HDMI-A-1' found, connector 32 is connected, EDID make 'TCL', model 'TCL SMART TV', serial '69649'
               Supported EOTF modes: SDR
[22:54:54.000] Registered plugin API 'weston_drm_output_api_v1' of size 20
[22:54:54.075] Registered plugin API 'weston_drm_virtual_output_api_v2' of size 24
[22:54:54.083] Color manager: no-op
[22:54:54.-1090821840] Output 'HDMI-A-1' attempts EOTF mode: SDR
[22:54:54.-1090821840] Output 'HDMI-A-1' using color profile: stock sRGB color profile
[22:54:54.004] Chosen EGL config details: id:  31 rgba: 8 8 8 0 buf: 24 dep:  0 stcl: 0 int: 1-1 type: win vis_id: XRGB8888 (0x34325258)
[22:54:54.-1225726408] Output HDMI-A-1 (crtc 38) video modes:
               [email protected] 16:9, 74.2 MHz
               [email protected] 16:9, 74.2 MHz
               [email protected] 16:9, 74.2 MHz
               [email protected], 74.2 MHz
               [email protected] 16:9, 74.2 MHz
               [email protected] 16:9, 74.2 MHz
               [email protected] 16:9, 27.0 MHz
               [email protected] 4:3, 27.0 MHz
               [email protected] 16:9, 27.0 MHz
               [email protected] 4:3, 27.0 MHz
               [email protected], current, 74.2 MHz
[22:54:54.539784302] associce event0 with output HDMI-A-1 (none by udev)
[22:54:54.-1090821824] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1
[22:54:54.038] Compositor capabilities:
               arbitrary surface rotatioF/TC:0 0 __clk_disable:1187 Clock 140 has been disabled
n: yes
               screen capture uses y-flip: yes
               cursor planes: yes
               arbitrary resolutions: no
               view mask clipping: yes
               explicit sync: no
               color operations: yes
               presentation clock: CLOCK_MONOTONIC, id 1
               presentation clock resolution: 0.000000001 s
[22:54:54.-1090825272] Loading module '/usr/lib/arm-linux-gnueabihf/weston/desktop-shell.so'
[22:54:54.-1225800016] launching '/usr/libexec/weston-keyboard'
[22:54:54.064] launching '/usr/libexec/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'

After modetest. This is using [email protected], current, 74.2 MHz as current.

root@stm32-os:~# weston
Date: 2024-08-08 UTC
[22:57:54.-1091218864] weston 13.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: 13.0.0
[22:57:54.-1226634547] Command line: weston
[22:57:54.-1226634491] OS: Linux, 6.1.82, #4 PREEMPT Wed Oct  2 22:39:11 CEST 2024, armv7l
[22:57:54.091] Flight recorder: enabled
[22:57:54.-1226634491] Starting with no config file.
[22:57:54.000] Output repaint window is 7 ms maximum.
[22:57:54.-1091222632] Loading module '/usr/lib/arm-linux-gnueabihf/libweston-13/drm-backend.so'
[22:57:54.1374389535] initializing drm backend
[22:57:54.-1895263232] Trying libseat launcher...
[22:57:54.000] [libseat/libseat.c:73] Seat opened with backend 'seatd'
[22:57:54.-1895263232] [libseat/backend/seatd.c:212] Enabling seat
[22:57:54.-1895263232] libseat: session control granted
[22:57:54.4418776] using /dev/dri/card0
[22:57:54.-1226634491] DRM: supports atomic modesetting
[22:57:54.-1226634491] DRM: supports GBM modifiers
[22:57:54.-1226634491] DRM: does not support async page flipping
[22:57:54.065] DRM: supports picture aspect ratio
[22:57:54.-1091222856] Loading module '/usr/lib/arm-linux-gnueabihf/libweston-13/gl-renderer.so'
[22:57:54.4758208] warning: failed to query rendering device from EGL
[22:57:54.000] EGL version: 1.5
[22:57:54.-1226634491] EGL vendor: Mesa Project
[22:57:54.-1226634491] EGL client APIs: OpenGL OpenGL_ES
[22:57:54.-1091219424] warning: Disabling render GPU timeline and explicit synchronization due to missing EGL_ANDROID_native_fence_sync extension
[22:57:54.146] EGL features:
               EGL Wayland extension: no
               context priority: no
               buffer age: yes
               partial update: no
               swap buffers with damage: no
               configless context: yes
               surfaceless context: yes
               dmabuf support: modifiers
[22:57:55.-1225673531] GL version: OpenGL ES 3.2 Mesa 24.0.9-0ubuntu0.1
[22:57:55.072] GLSL version: OpenGL ES GLSL ES 3.20
[22:57:55.-1226634491] GL vendor: Mesa
[22:57:55.-1226634491] GL renderer: llvmpipe (LLVM 17.0.6, 128 bits)
[22:57:55.069] GL ES 3.2 - renderer features:
               read-back format: ARGB8888
               glReadPixels supports y-flip: yes
               wl_shm 10 bpc formats: yes
               wl_shm 16 bpc formats: yes
               wl_shm half-float formats: yes
               internal R and RG formats: yes
               OES_EGL_image_external: yes
[22:57:55.-1225721968] Using GL renderer
[22:57:55.000] event0  - pmic_onkey: is tagged by udev as: Keyboard
[22:57:55.068] event0  - pmic_onkey: device is a keyboard
[22:57:55.000] lionkey".
[22:57:55.000] DRM: head 'HDMI-A-1' found, connector 32 is connected, EDID make 'TCL', model 'TCL SMART TV', serial '69649'
               Supported EOTF modes: SDR
[22:57:55.000] Registered plugin API 'weston_drm_output_api_v1' of size 20
[22:57:55.075] Registered plugin API 'weston_drm_virtual_output_api_v2' of size 24
[22:57:55.083] Color manager: no-op
[22:57:55.-1091219152] Output 'HDMI-A-1' attempts EOTF mode: SDR
[22:57:55.-1091219152] Output 'HDMI-A-1' using color profile: stock sRGB color profile
[22:57:55.004] Chosen EGL config details: id:  31 rgba: 8 8 8 0 buf: 24 dep:  0 stcl: 0 int: 1-1 type: win vis_id: XRGB8888 (0x34325258)
[22:57:55.-1225873864] Output HDMI-A-1 (crtc 38) video modes:
               [email protected] 16:9, 74.2 MHz
               [email protected] 16:9, 74.2 MHz
               [email protected] 16:9, 74.2 MHz
               [email protected], current, 74.2 MHz
               [email protected] 16:9, 74.2 MHz
               [email protected] 16:9, 74.2 MHz
               [email protected] 16:9, 27.0 MHz
               [email protected] 4:3, 27.0 MHz
               [email protected] 16:9, 27.0 MHz
               [email protected] 4:3, 27.0 MHz
[22:57:55.1213014064] associating input device event0 with output HDMI-A-1 (none by udev)
[22:57:55.-1091219136] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1
[22:57:55.038] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: yes
               cursor planes: yes
               arbitrary resolutions: no
               view mask clipping: yes
               explicit sync: no
               color operations: yes
               presentation clock: CLOCK_MONOTONIC, id 1
               presentation clock resolution: 0.000000001 s
[22:57:55.-1091222584] Loading module '/usr/lib/arm-linux-gnueabihf/weston/desktop-shell.so'
[22:57:55.-1225947472] launching '/usr/libexec/weston-keyboard'
[22:57:55.064] launching '/usr/libexec/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'

I also tried with drm_info before modetest.

root@stm32-os:~# drm_info
Node: /dev/dri/card0
├───Driver: stm (STMicroelectronics SoC DRM) version 1.0.0 (20170330)
│   ├───DRM_CLIENT_CAP_STEREO_3D supported
│   ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
│   ├───DRM_CLIENT_CAP_ATOMIC supported
│   ├───DRM_CLIENT_CAP_ASPECT_RATIO supported
│   ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
│   ├───DRM_CAP_DUMB_BUFFER = 1
│   ├───DRM_CAP_VBLANK_HIGH_CRTC = 1
│   ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 0
│   ├───DRM_CAP_DUMB_PREFER_SHADOW = 0
│   ├───DRM_CAP_PRIME = 3
│   ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1
│   ├───DRM_CAP_ASYNC_PAGE_FLIP = 0
│   ├───DRM_CAP_CURSOR_WIDTH = 64
│   ├───DRM_CAP_CURSOR_HEIGHT = 64
│   ├───DRM_CAP_ADDFB2_MODIFIERS = 1
│   ├───DRM_CAP_PAGE_FLIP_TARGET = 0
│   ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
│   ├───DRM_CAP_SYNCOBJ = 0
│   └───DRM_CAP_SYNCOBJ_TIMELINE = 0
├───Device: platform st,stm32-ltdc
│   └───Available nodes: primary
├───Framebuffer size
│   ├───Width: [0, 2048]
│   └───Height: [0, 2048]
├───Connectors
│   └───Connector 0
│       ├───Object ID: 32
│       ├───Type: HDMI-A
│       ├───Status: connected
│       ├───Physical size: 1210x680 mm
│       ├───Subpixel: unknown
│       ├───Encoders: {0}
│       ├───Modes
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver phsync pvsync
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver nhsync nvsync 16:9
│       │   ├───[email protected] driver nhsync nvsync 4:3
│       │   ├───[email protected] driver nhsync nvsync 16:9
│       │   └───[email protected] driver nhsync nvsync 4:3
│       └───Properties
│           ├───"EDID" (immutable): blob = 44
│           ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│           ├───"link-status": enum {Good, Bad} = Good
│           ├───"non-desktop" (immutable): range [0, 1] = 0
│           ├───"TILE" (immutable): blob = 0
│           ├───"CRTC_ID" (atomic): object CRTC = 38
│           └───"dithering": enum {Off, On} = Off
├───Encoders
│   └───Encoder 0
│       ├───Object ID: 31
│       ├───Type: DPI
│       ├───CRTCS: {0}
│       └───Clones: {0}
├───CRTCs
│   └───CRTC 0
│       ├───Object ID: 38
│       ├───Legacy info
│       │   ├───Mode: [email protected] driver phsync pvsync
│       │   └───Gamma size: 256
│       └───Properties
│           ├───"ACTIVE" (atomic): range [0, 1] = 1
│           ├───"MODE_ID" (atomic): blob = 46
│           │   └───[email protected] driver phsync pvsync
│           ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│           ├───"VRR_ENABLED": range [0, 1] = 0
│           ├───"GAMMA_LUT": blob = 0
│           └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 256
└───Planes
    ├───Plane 0
    │   ├───Object ID: 34
    │   ├───CRTCs: {0}
    │   ├───Legacy info
    │   │   ├───FB ID: 45
    │   │   │   ├───Object ID: 45
    │   │   │   ├───Size: 1920x1080
    │   │   │   ├───Format: XRGB8888 (0x34325258)
    │   │   │   ├───Modifier: DRM_FORMAT_MOD_LINEAR (0x0)
    │   │   │   └───Planes:
    │   │   │       └───Plane 0: offset = 0, pitch = 7680 bytes
    │   │   └───Formats:
    │   │       ├───ARGB8888 (0x34325241)
    │   │       ├───XRGB8888 (0x34325258)
    │   │       ├───RGB888 (0x34324752)
    │   │       ├───RGB565 (0x36314752)
    │   │       ├───ARGB1555 (0x35315241)
    │   │       ├───XRGB1555 (0x35315258)
    │   │       ├───ARGB4444 (0x32315241)
    │   │       ├───XRGB4444 (0x32315258)
    │   │       └───C8 (0x20203843)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
    │       ├───"FB_ID" (atomic): object framebuffer = 45
    │       │   ├───Object ID: 45
    │       │   ├───Size: 1920x1080
    │       │   ├───Format: XRGB8888 (0x34325258)
    │       │   ├───Modifier: DRM_FORMAT_MOD_LINEAR (0x0)
    │       │   └───Planes:
    │       │       └───Plane 0: offset = 0, pitch = 7680 bytes
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 38
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 1920
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1080
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 1920
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1080
    │       ├───"IN_FORMATS" (immutable): blob = 35
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0)
    │       │       ├───ARGB8888 (0x34325241)
    │       │       ├───XRGB8888 (0x34325258)
    │       │       ├───RGB888 (0x34324752)
    │       │       ├───RGB565 (0x36314752)
    │       │       ├───ARGB1555 (0x35315241)
    │       │       ├───XRGB1555 (0x35315258)
    │       │       ├───ARGB4444 (0x32315241)
    │       │       ├───XRGB4444 (0x32315258)
    │       │       └───C8 (0x20203843)
    │       ├───"alpha": range [0, UINT16_MAX] = 65535
    │       └───"zpos" (immutable): range [0, 0] = 0
    └───Plane 1
        ├───Object ID: 39
        ├───CRTCs: {0}
        ├───Legacy info
        │   ├───FB ID: 0
        │   └───Formats:
        │       ├───ARGB8888 (0x34325241)
        │       ├───RGB888 (0x34324752)
        │       ├───RGB565 (0x36314752)
        │       ├───ARGB1555 (0x35315241)
        │       ├───ARGB4444 (0x32315241)
        │       └───C8 (0x20203843)
        └───Properties
            ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Overlay
            ├───"FB_ID" (atomic): object framebuffer = 0
            ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
            ├───"CRTC_ID" (atomic): object CRTC = 0
            ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
            ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
            ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
            ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
            ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
            ├───"IN_FORMATS" (immutable): blob = 40
            │   └───DRM_FORMAT_MOD_LINEAR (0x0)
            │       ├───ARGB8888 (0x34325241)
            │       ├───RGB888 (0x34324752)
            │       ├───RGB565 (0x36314752)
            │       ├───ARGB1555 (0x35315241)
            │       ├───ARGB4444 (0x32315241)
            │       └───C8 (0x20203843)
            ├───"alpha": range [0, UINT16_MAX] = 65535
            └───"zpos" (immutable): range [1, 1] = 1
root@stm32-os:~#

And after modetest...

root@stm32-os:~# drm_info
Node: /dev/dri/card0
├───Driver: stm (STMicroelectronics SoC DRM) version 1.0.0 (20170330)
│   ├───DRM_CLIENT_CAP_STEREO_3D supported
│   ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
│   ├───DRM_CLIENT_CAP_ATOMIC supported
│   ├───DRM_CLIENT_CAP_ASPECT_RATIO supported
│   ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
│   ├───DRM_CAP_DUMB_BUFFER = 1
│   ├───DRM_CAP_VBLANK_HIGH_CRTC = 1
│   ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 0
│   ├───DRM_CAP_DUMB_PREFER_SHADOW = 0
│   ├───DRM_CAP_PRIME = 3
│   ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1
│   ├───DRM_CAP_ASYNC_PAGE_FLIP = 0
│   ├───DRM_CAP_CURSOR_WIDTH = 64
│   ├───DRM_CAP_CURSOR_HEIGHT = 64
│   ├───DRM_CAP_ADDFB2_MODIFIERS = 1
│   ├───DRM_CAP_PAGE_FLIP_TARGET = 0
│   ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
│   ├───DRM_CAP_SYNCOBJ = 0
│   └───DRM_CAP_SYNCOBJ_TIMELINE = 0
├───Device: platform st,stm32-ltdc
│   └───Available nodes: primary
├───Framebuffer size
│   ├───Width: [0, 2048]
│   └───Height: [0, 2048]
├───Connectors
│   └───Connector 0
│       ├───Object ID: 32
│       ├───Type: HDMI-A
│       ├───Status: connected
│       ├───Physical size: 1210x680 mm
│       ├───Subpixel: unknown
│       ├───Encoders: {0}
│       ├───Modes
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver phsync pvsync
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver nhsync nvsync 16:9
│       │   ├───[email protected] driver nhsync nvsync 4:3
│       │   ├───[email protected] driver nhsync nvsync 16:9
│       │   └───[email protected] driver nhsync nvsync 4:3
│       └───Properties
│           ├───"EDID" (immutable): blob = 44
│           ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│           ├───"link-status": enum {Good, Bad} = Good
│           ├───"non-desktop" (immutable): range [0, 1] = 0
│           ├───"TILE" (immutable): blob = 0
│           ├───"CRTC_ID" (atomic): object CRTC = 38
│           └───"dithering": enum {Off, On} = Off
├───Encoders
│   └───Encoder 0
│       ├───Object ID: 31
│       ├───Type: DPI
│       ├───CRTCS: {0}
│       └───Clones: {0}
├───CRTCs
│   └───CRTC 0
│       ├───Object ID: 38
│       ├───Legacy info
│       │   ├───Mode: [email protected] driver phsync pvsync
│       │   └───Gamma size: 256
│       └───Properties
│           ├───"ACTIVE" (atomic): range [0, 1] = 1
│           ├───"MODE_ID" (atomic): blob = 45
│           │   └───[email protected] driver phsync pvsync
│           ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│           ├───"VRR_ENABLED": range [0, 1] = 0
│           ├───"GAMMA_LUT": blob = 0
│           └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 256
└───Planes
    ├───Plane 0
    │   ├───Object ID: 34
    │   ├───CRTCs: {0}
    │   ├───Legacy info
    │   │   ├───FB ID: 0
    │   │   └───Formats:
    │   │       ├───ARGB8888 (0x34325241)
    │   │       ├───XRGB8888 (0x34325258)
    │   │       ├───RGB888 (0x34324752)
    │   │       ├───RGB565 (0x36314752)
    │   │       ├───ARGB1555 (0x35315241)
    │   │       ├───XRGB1555 (0x35315258)
    │   │       ├───ARGB4444 (0x32315241)
    │   │       ├───XRGB4444 (0x32315258)
    │   │       └───C8 (0x20203843)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
    │       ├───"FB_ID" (atomic): object framebuffer = 0
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 0
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 1280
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 720
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 1280
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 720
    │       ├───"IN_FORMATS" (immutable): blob = 35
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0)
    │       │       ├───ARGB8888 (0x34325241)
    │       │       ├───XRGB8888 (0x34325258)
    │       │       ├───RGB888 (0x34324752)
    │       │       ├───RGB565 (0x36314752)
    │       │       ├───ARGB1555 (0x35315241)
    │       │       ├───XRGB1555 (0x35315258)
    │       │       ├───ARGB4444 (0x32315241)
    │       │       ├───XRGB4444 (0x32315258)
    │       │       └───C8 (0x20203843)
    │       ├───"alpha": range [0, UINT16_MAX] = 65535
    │       └───"zpos" (immutable): range [0, 0] = 0
    └───Plane 1
        ├───Object ID: 39
        ├───CRTCs: {0}
        ├───Legacy info
        │   ├───FB ID: 0
        │   └───Formats:
        │       ├───ARGB8888 (0x34325241)
        │       ├───RGB888 (0x34324752)
        │       ├───RGB565 (0x36314752)
        │       ├───ARGB1555 (0x35315241)
        │       ├───ARGB4444 (0x32315241)
        │       └───C8 (0x20203843)
        └───Properties
            ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Overlay
            ├───"FB_ID" (atomic): object framebuffer = 0
            ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
            ├───"CRTC_ID" (atomic): object CRTC = 0
            ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
            ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
            ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
            ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
            ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
            ├───"IN_FORMATS" (immutable): blob = 40
            │   └───DRM_FORMAT_MOD_LINEAR (0x0)
            │       ├───ARGB8888 (0x34325241)
            │       ├───RGB888 (0x34324752)
            │       ├───RGB565 (0x36314752)
            │       ├───ARGB1555 (0x35315241)
            │       ├───ARGB4444 (0x32315241)
            │       └───C8 (0x20203843)
            ├───"alpha": range [0, UINT16_MAX] = 65535
            └───"zpos" (immutable): range [1, 1] = 1
root@stm32-os:~#

After I run kmscon

root@stm32-os:~# drm_info
Node: /dev/dri/card0
├───Driver: stm (STMicroelectronics SoC DRM) version 1.0.0 (20170330)
│   ├───DRM_CLIENT_CAP_STEREO_3D supported
│   ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
│   ├───DRM_CLIENT_CAP_ATOMIC supported
│   ├───DRM_CLIENT_CAP_ASPECT_RATIO supported
│   ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
│   ├───DRM_CAP_DUMB_BUFFER = 1
│   ├───DRM_CAP_VBLANK_HIGH_CRTC = 1
│   ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 0
│   ├───DRM_CAP_DUMB_PREFER_SHADOW = 0
│   ├───DRM_CAP_PRIME = 3
│   ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1
│   ├───DRM_CAP_ASYNC_PAGE_FLIP = 0
│   ├───DRM_CAP_CURSOR_WIDTH = 64
│   ├───DRM_CAP_CURSOR_HEIGHT = 64
│   ├───DRM_CAP_ADDFB2_MODIFIERS = 1
│   ├───DRM_CAP_PAGE_FLIP_TARGET = 0
│   ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
│   ├───DRM_CAP_SYNCOBJ = 0
│   └───DRM_CAP_SYNCOBJ_TIMELINE = 0
├───Device: platform st,stm32-ltdc
│   └───Available nodes: primary
├───Framebuffer size
│   ├───Width: [0, 2048]
│   └───Height: [0, 2048]
├───Connectors
│   └───Connector 0
│       ├───Object ID: 32
│       ├───Type: HDMI-A
│       ├───Status: connected
│       ├───Physical size: 1210x680 mm
│       ├───Subpixel: unknown
│       ├───Encoders: {0}
│       ├───Modes
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver phsync pvsync
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver phsync pvsync 16:9
│       │   ├───[email protected] driver nhsync nvsync 16:9
│       │   ├───[email protected] driver nhsync nvsync 4:3
│       │   ├───[email protected] driver nhsync nvsync 16:9
│       │   └───[email protected] driver nhsync nvsync 4:3
│       └───Properties
│           ├───"EDID" (immutable): blob = 44
│           ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│           ├───"link-status": enum {Good, Bad} = Good
│           ├───"non-desktop" (immutable): range [0, 1] = 0
│           ├───"TILE" (immutable): blob = 0
│           ├───"CRTC_ID" (atomic): object CRTC = 38
│           └───"dithering": enum {Off, On} = Off
├───Encoders
│   └───Encoder 0
│       ├───Object ID: 31
│       ├───Type: DPI
│       ├───CRTCS: {0}
│       └───Clones: {0}
├───CRTCs
│   └───CRTC 0
│       ├───Object ID: 38
│       ├───Legacy info
│       │   ├───Mode: [email protected] driver phsync pvsync
│       │   └───Gamma size: 256
│       └───Properties
│           ├───"ACTIVE" (atomic): range [0, 1] = 1
│           ├───"MODE_ID" (atomic): blob = 47
│           │   └───[email protected] driver phsync pvsync
│           ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│           ├───"VRR_ENABLED": range [0, 1] = 0
│           ├───"GAMMA_LUT": blob = 0
│           └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 256
└───Planes
    ├───Plane 0
    │   ├───Object ID: 34
    │   ├───CRTCs: {0}
    │   ├───Legacy info
    │   │   ├───FB ID: 0
    │   │   └───Formats:
    │   │       ├───ARGB8888 (0x34325241)
    │   │       ├───XRGB8888 (0x34325258)
    │   │       ├───RGB888 (0x34324752)
    │   │       ├───RGB565 (0x36314752)
    │   │       ├───ARGB1555 (0x35315241)
    │   │       ├───XRGB1555 (0x35315258)
    │   │       ├───ARGB4444 (0x32315241)
    │   │       ├───XRGB4444 (0x32315258)
    │   │       └───C8 (0x20203843)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
    │       ├───"FB_ID" (atomic): object framebuffer = 0
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 0
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 1920
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1080
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 1920
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1080
    │       ├───"IN_FORMATS" (immutable): blob = 35
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0)
    │       │       ├───ARGB8888 (0x34325241)
    │       │       ├───XRGB8888 (0x34325258)
    │       │       ├───RGB888 (0x34324752)
    │       │       ├───RGB565 (0x36314752)
    │       │       ├───ARGB1555 (0x35315241)
    │       │       ├───XRGB1555 (0x35315258)
    │       │       ├───ARGB4444 (0x32315241)
    │       │       ├───XRGB4444 (0x32315258)
    │       │       └───C8 (0x20203843)
    │       ├───"alpha": range [0, UINT16_MAX] = 65535
    │       └───"zpos" (immutable): range [0, 0] = 0
    └───Plane 1
        ├───Object ID: 39
        ├───CRTCs: {0}
        ├───Legacy info
        │   ├───FB ID: 0
        │   └───Formats:
        │       ├───ARGB8888 (0x34325241)
        │       ├───RGB888 (0x34324752)
        │       ├───RGB565 (0x36314752)
        │       ├───ARGB1555 (0x35315241)
        │       ├───ARGB4444 (0x32315241)
        │       └───C8 (0x20203843)
        └───Properties
            ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Overlay
            ├───"FB_ID" (atomic): object framebuffer = 0
            ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
            ├───"CRTC_ID" (atomic): object CRTC = 0
            ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
            ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
            ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
            ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
            ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
            ├───"IN_FORMATS" (immutable): blob = 40
            │   └───DRM_FORMAT_MOD_LINEAR (0x0)
            │       ├───ARGB8888 (0x34325241)
            │       ├───RGB888 (0x34324752)
            │       ├───RGB565 (0x36314752)
            │       ├───ARGB1555 (0x35315241)
            │       ├───ARGB4444 (0x32315241)
            │       └───C8 (0x20203843)
            ├───"alpha": range [0, UINT16_MAX] = 65535
            └───"zpos" (immutable): range [1, 1] = 1
root@stm32-os:~#

Thoughts:

It seems like it's the high resolution of [email protected] that might be a problem?

@DanielMartensson DanielMartensson changed the title Question: How can I tune in the rendering/clock speed for kmscon? Question: How can I tune in the resolution and clock speed for kmscon? Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant