This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

J722SXH01EVM: How to enable gui server like Xorg or Wayland

Part Number: J722SXH01EVM

Tool/software:

1) I am using  TI-sdk https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-R9W8pVWsOt/10.01.00.04/ti-processor-sdk-linux-adas-j722s-evm-10_01_00_04-Linux-x86-Install.bin

how can i  enable gui server like Xorg or Wayland ? 

2) some observation like :

   root@j722s-evm:/usr/share/examples/gui/analogclock# ./analogclock


    qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""[ 7573.756070] audit: type=1701 audit(1728496657.587:90): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=1472 comm="analogclock"         exe="/usr/share/examples/gui/analogclock/analogclock" sig=6 res=1

This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this[ 7573.784978] audit: type=1334 audit(1728496657.615:91): prog-id=47 op=LOAD
problem.

Available platform plugins are: eglfs, linuxfb, min[ 7573.797252] audit: type=1334 audit(1728496657.627:92): prog-id=48 op=LOAD
imal, minimalegl, offscreen, vnc, wayland-egl, wayland.

[ 7573.809552] audit: type=1334 audit(1728496657.639:93): prog-id=49 op=LOAD
Aborted (core dumped)
root@j722s-evm:/usr/share/examples/gui/analogclock# [ 7574.202782] audit: type=1334 audit(1728496658.035:94): prog-id=49 op=UNLOAD
[ 7574.209783] audit: type=1334 audit(1728496658.035:95): prog-id=48 op=UNLOAD
[ 7574.216790] audit: type=1334 audit(1728496658.035:96): prog-id=47 op=UNLOAD

root@j722s-evm:/usr/share/examples/gui/analogclock# echo $XDG_SESSION_TYPE

tty

root@j722s-evm:/usr/share/examples/gui/analogclock# echo $DESKTOP_SESSION

root@j722s-evm:/usr/share/examples/gui/analogclock#

  • Hi Anurag,

    If display is not coming up, then adas image has display disabled in Linux by default through device tree overlays. Could you check the uEnv.txt file in BOOT partition and comment out the overlays?

    If display is coming up, but the issue is weston/wayland desktop not coming up automatically, then this documentation can be referenced to start weston manually: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j722s/10_01_00_04/exports/docs/linux/Foundational_Components/Graphics/Common/Weston.html

    Regards,

    Takuma

  • 1) uEnv.txt file 

    # This uEnv.txt file can contain additional environment settings that you
    # want to set in U-Boot at boot time. This can be simple variables such
    # as the serverip or custom variables. The format of this file is:
    # variable=value
    # NOTE: This file will be evaluated after the bootcmd is run and the
    # bootcmd must be set to load this file if it exists (this is the
    # default on all newer U-Boot images. This also means that some
    # variables such as bootdelay cannot be changed by this file since
    # it is not evaluated until the bootcmd is run.

    # Update the Linux hostname based on board_name
    # The SK also requires an additional dtbo to boot. Prepend it to name_overlays depending on board_name
    uenvcmd=if test "$board_name" = "am67-sk"; then ; setenv args_all $args_all systemd.hostname=am67a-sk ; fi

    # Setting the right U-Boot environment variables
    dorprocboot=1
    name_overlays=ti/k3-j722s-vision-apps.dtbo

    2) i tried step to enable waylon below: 

      a)

    root@j722s-evm:/usr/share/examples/gui/analogclock#
    root@j722s-evm:/usr/share/examples/gui/analogclock# ls /dev/dri/card*
    /dev/dri/card0


       b)

    root@j722s-evm:/usr/share/examples/gui/analogclock#  weston --drm-device=card0
    Date: 2024-10-09 UTC
    [15:58:38.669] weston 13.0.1
    wayland.freedesktop.org
    Bug reports to: gitlab.freedesktop.org/.../
    Build: 13.0.1
    [15:58:38.670] Command line: weston --drm-device=card0
    [15:58:38.670] OS: Linux, 6.6.44-ti-01478-g541c20281af7-dirty, #1 SMP PREEMPT Thu Nov 14 19:20:24 UTC 2024, aarch64
    [15:58:38.670] Flight recorder: enabled
    [15:58:38.670] Using config file '/etc/xdg/weston/weston.ini'
    [15:58:38.671] Output repaint window is 7 ms maximum.
    [15:58:38.672] Loading module '/usr/lib/libweston-13/wayland-backend.so'
    [15:58:38.735] Error: Failed to connect to parent Wayland compositor: No such file or directory
    display option: (none), WAYLAND_DISPLAY=/run/wayland-0
    [15:58:38.736] fatal: failed to create compositor backend
    root@j722s-evm:/usr/share/examples/gui/analogclock#

    c)  and added these lines 

     [Serivce]
     ExecStart=/usr/bin/weston --modules=systemd-notify.so --drm-device=card0 

    to weston by using below

     root@j722s-evm:/usr/share/examples/gui/analogclock#  systemctl edit weston


    [ 892.596143] kauditd_printk_skb: 20 callbacks suppressed
    [ 892.596157] audit: type=1334 audit(1728490271.973:64): prog-id=38 op=LOAD
    [ 892.608276] audit: type=1334 audit(1728490271.973:65): prog-id=24 op=UNLOAD
    [ 892.615274] audit: type=1334 audit(1728490271.985:66): prog-id=39 op=LOAD
    [ 892.622086] audit: type=1334 audit(1728490271.985:67): prog-id=35 op=UNLOAD
    [ 892.629097] audit: type=1334 audit(1728490271.993:68): prog-id=40 op=LOAD
    [ 892.635926] audit: type=1334 audit(1728490271.997:69): prog-id=41 op=LOAD
    [ 892.642746] audit: type=1334 audit(1728490271.997:70): prog-id=36 op=UNLOAD
    [ 892.649733] audit: type=1334 audit(1728490271.997:71): prog-id=37 op=UNLOAD
    [ 892.656743] audit: type=1334 audit(1728490272.005:72): prog-id=42 op=LOAD
    [ 892.663558] audit: type=1334 audit(1728490272.005:73): prog-id=23 op=UNLOAD
    root@j722s-evm:/usr/share/examples/gui/analogclock#
    root@j722s-evm:/usr/share/examples/gui/analogclock#
    root@j722s-evm:/usr/share/examples/gui/analogclock#

    d)  cat /etc/profile.d/weston-socket.sh

    #!/bin/sh

    # set weston variables for use with global weston socket
    global_socket="/run/wayland-0"
    if [ -e "$global_socket" ]; then
    weston_group=$(stat -c "%G" "$global_socket")
    if [ "$(id -u)" = "0" ]; then
    export WAYLAND_DISPLAY="$global_socket"
    else
    case "$(groups "$USER")" in
    *"$weston_group"*)
    export WAYLAND_DISPLAY="$global_socket"
    ;;
    *)
    ;;
    esac
    fi
    unset weston_group
    fi
    unset global_socket
    root@j722s-evm:/usr/share/examples/gui/analogclock# 

    Starting Weston with Systemd

    e)    root@j722s-evm:/usr/share/examples/gui/analogclock#  systemctl start weston

    [ 1986.026099] kauditd_printk_skb: 20 callbacks suppressed
    [ 1986.026112] audit: type=1006 audit(1728491365.401:94): pid=1333 uid=0 subj=kernel old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=10 res=1
    [ 1986.045315] audit: type=1300 audit(1728491365.401:94): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffd2aefb28 a2=4 a3=1 items=0 ppid=1 pid=1333 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=10 comm="(systemd)" exe="/usr/lib/systemd/systemd-executor" subj=kernel key=(null)
    [ 1986.073347] audit: type=1327 audit(1728491365.401:94): proctitle="(systemd)"
    [ 1986.744594] audit: type=1006 audit(1728491366.121:95): pid=1330 uid=0 subj=kernel old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=11 res=1
    [ 1986.758384] audit: type=1300 audit(1728491366.121:95): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffd7da7838 a2=4 a3=1 items=0 ppid=1 pid=1330 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=tty7 ses=11 comm="(weston)" exe="/usr/lib/systemd/systemd-executor" subj=kernel key=(null)
    [ 1986.786194] audit: type=1327 audit(1728491366.121:95): proctitle="(weston)"
    Job for weston.service failed because the control process exited with error code.
    See "systemctl status weston.service" and "journalctl -xeu weston.service" for details.

    f)  root@j722s-evm:/usr/share/examples/gui/analogclock#   systemctl status weston.service weston.socket

    x weston.service - Weston, a Wayland compositor, as a system service
    Loaded: loaded (/usr/lib/systemd/system/weston.service; enabled; preset: enabled)
    Active: failed (Result: exit-code) since Wed 2024-10-09 16:29:26 UTC; 2min 32s ago
    TriggeredBy: * weston.socket
    Docs: man:weston(1)
    man:weston.ini(5)
    wayland.freedesktop.org/
    Process: 1330 ExecStart=/usr/bin/weston --modules=systemd-notify.so (code=exited, status=1/FAILURE)
    Main PID: 1330 (code=exited, status=1/FAILURE)
    CPU: 34ms

    Oct 09 16:29:25 j722s-evm systemd[1]: Starting Weston, a Wayland compositor, as a system service...
    Oct 09 16:29:25 j722s-evm (weston)[1330]: pam_unix(weston-autologin:session): session opened for user weston(uid=1000) by weston(uid=0)
    Oct 09 16:29:26 j722s-evm systemd[1]: weston.service: Main process exited, code=exited, status=1/FAILURE
    Oct 09 16:29:26 j722s-evm systemd[1]: weston.service: Failed with result 'exit-code'.
    Oct 09 16:29:26 j722s-evm systemd[1]: Failed to start Weston, a Wayland compositor, as a system service.

    * weston.socket - Weston socket
    Loaded: loaded (/usr/lib/systemd/system/weston.socket; enabled; preset: enabled)
    Active: active (listening) since Wed 2024-10-09 16:29:25 UTC; 2min 33s ago
    Triggers: * weston.service
    Listen: /run/wayland-0 (Stream)
    Tasks: 0 (limit: 6776)
    Memory: 0B (peak: 256.0K)
    CPU: 4ms
    CGroup: /system.slice/weston.socket

    Oct 09 16:29:25 j722s-evm systemd[1]: Starting Weston socket...
    Oct 09 16:29:25 j722s-evm systemd[1]: Listening on Weston socket.

  • Hi Anurag,

    First, please edit the uEnv.txt file and comment out "name_overlays=ti/k3-j722s-vision-apps.dtbo".

    Second, please share the complete boot logs from "dmesg" command after commenting out the overlay file in uEnv.txt.

    Regards,

    Takuma

  • Making only  name_overlays=ti/k3-j722s-vision-apps.dtbo commenting does not work 

    But after commneting both ->  

                                dorprocboot=1
                                name_overlays=ti/k3-j722s-vision-apps.dtbo 

    some of qt gui is getting successfully run

    thanks

  • Hi Anurag,

    Hmm... strange that dorprocboot also needs to be commented out. That should be the U-Boot environment variable that controls the remote proc firmware loading which affects things like C7x and R5F. If it is required, then what I think is happening is that the firmware being loaded to R5F is affecting the display pipeline initialization in Linux running on the A72.

    However, great to hear that you were able to run QT GUI!

    Can I assume this thread to be closed? If new issues pop up, feel free to create a new thread.

    Regards,

    Takuma