From c4b36e5c7d0c2ddb9662ffcf72cbce66ad111025 Mon Sep 17 00:00:00 2001 From: Telukula Jeevan Kumar Sahu Date: Fri, 31 Jul 2026 15:06:40 +0530 Subject: [PATCH] feat(slint): Update Slint section in GUI frameworks guide Reflect upstream meta-slint improvements: new image targets, demo launcher,pre-built images for AM62P/AM62L, slint-viewer remote preview, and updated renderer/backend documentation. Signed-off-by: Telukula Jeevan Kumar Sahu --- source/images/slint_gallery.png | Bin 0 -> 47922 bytes .../GUI_Frameworks_User_Guide.rst | 101 ++++++++++++++---- 2 files changed, 81 insertions(+), 20 deletions(-) create mode 100644 source/images/slint_gallery.png diff --git a/source/images/slint_gallery.png b/source/images/slint_gallery.png new file mode 100644 index 0000000000000000000000000000000000000000..2bb593376ed53e21e8179e78efcacc8a0c5c5779 GIT binary patch literal 47922 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�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 literal 0 HcmV?d00001 diff --git a/source/linux/Demo_User_Guides/GUI_Frameworks_User_Guide.rst b/source/linux/Demo_User_Guides/GUI_Frameworks_User_Guide.rst index 19316ebd3..a0ef03321 100644 --- a/source/linux/Demo_User_Guides/GUI_Frameworks_User_Guide.rst +++ b/source/linux/Demo_User_Guides/GUI_Frameworks_User_Guide.rst @@ -93,29 +93,62 @@ About Slint for embedded systems and desktop applications. It is designed to be lightweight and efficient, making it a good choice for resource-constrained embedded systems. -Slint uses a flexible architecture with interchangeable rendering backends. By default, -it uses its own built-in **FemtoVG** renderer, which is a lightweight, hardware-accelerated -engine that leverages OpenGL ES 2.0. This makes it highly efficient and well-suited for -embedded GPUs like the PowerVR series on the |__PART_FAMILY_NAME__|, providing a great -balance of performance and low resource usage out-of-the-box. +Slint uses a flexible architecture with configurable renderers and backends, controlled +by ``PACKAGECONFIG`` in ``meta-slint``. See the `meta-slint features documentation +`__ for the full list of available +renderers and backends and how to configure them. + +On |__PART_FAMILY_NAME__|, the image adapts to the board's graphics stack. +Devices with a GPU render through the hardware-accelerated Skia renderer. +GPU-less devices fall back to the Skia software renderer. Building with Slint =================== -#. Slint version 1.15 example demos are integrated by default in the :file:`tisdk-default-image`. User can download - the :file:`tisdk-default-image` wic image from |__SDK_DOWNLOAD_URL__|. +When ``meta-slint`` is included in the Yocto layer configuration, two image targets are available: + +.. list-table:: + :widths: 30 70 + :header-rows: 1 + + * - Image target + - What you get + * - :file:`tisdk-default-image` + - Full TI SDK image with Slint demo binaries in :file:`/usr/bin` and :file:`slint-viewer`. Run demos manually. + * - :file:`ti-image-slint-demos` + - Slint-focused image with the same demo binaries and :file:`slint-viewer`, plus :file:`slint-launcher` which starts + automatically on boot and presents a graphical list of demos to launch. + +**Download a pre-built image** + +- **TI SDK image:** Download :file:`tisdk-default-image` from |__SDK_DOWNLOAD_URL__|. +- **Slint demo image:** Download from the + `meta-slint releases page `__ + (based on :file:`ti-image-slint-demos`, includes the demo launcher). + +Flash the downloaded image to an SD card as described in :ref:`Flash an SD card `. + +**Build from source** + +Follow the steps in :ref:`building-the-sdk-with-yocto`. Use the default oe-config file, which includes +the ``meta-slint`` layer. See :ref:`Yocto Layer Configuration ` to find the +correct oe-config file for the release. + +.. code-block:: console + + # Standard TI SDK image with Slint demos + MACHINE= bitbake tisdk-default-image -#. Follow the steps in :ref:`building-the-sdk-with-yocto` to build the image from sources. - Use the default oe-config file, which includes the ``meta-slint`` layer. - See :ref:`Yocto Layer Configuration ` to find the correct oe-config file for the release. + # Slint-focused image with demo launcher + MACHINE= bitbake ti-image-slint-demos -#. Once the build is complete, flash the generated image at :file:`build/deploy-ti/images//tisdk-default-image-.wic.xz` - onto a SD card. See :ref:`Flash an SD card ` for instructions. +Flash the generated image at :file:`build/deploy-ti/images//-.wic.xz` +onto a SD card. See :ref:`Flash an SD card ` for instructions. Running the Demos ================= -After booting the board with the new image, you will find several Slint demo binaries located in :file:`/usr/bin`, including: +The following Slint demo binaries are available in :file:`/usr/bin` on both image types: * :file:`energy-monitor` * :file:`gallery` @@ -125,8 +158,11 @@ After booting the board with the new image, you will find several Slint demo bin * :file:`printerdemo` * :file:`slide_puzzle` -To run a demo, first stop the ti-apps-launcher that runs out-of-box and then execute the desired binary. -For example, to run the "home-automation" demo on a Wayland display: +**With ti-image-slint-demos (or Slint pre-built image):** :file:`slint-launcher` starts automatically on boot. +Select and launch any demo from the graphical list. + +**With tisdk-default-image:** Run demos manually. Stop the ti-apps-launcher first, then execute the desired binary. +For example, to run the :file:`home-automation` demo on a Wayland display: .. code-block:: console @@ -140,7 +176,26 @@ For example, to run the "home-automation" demo on a Wayland display: :width: 50% :alt: Slint Home Automation Demo -Here are some snapshots of the other demos running on the device. +Slint Viewer +------------ + +The images now include :file:`slint-viewer`, a tool for previewing :file:`.slint` UI files directly +on the board. Run it in remote mode to connect from your development machine and push live UI updates +to the board as you edit, without rebuilding: + +.. code-block:: console + + # View all available options + slint-viewer --help + + # Start in remote mode — board waits for editor to connect + slint-viewer --remote + +In your editor's Slint live preview, select **Remote** and enter the address shown on the board. +See the `Slint Viewer documentation `__ +for full usage. + +Here are some snapshots of the other demos running on the device (OpenGL demos require a GPU). .. list-table:: :widths: 50 50 @@ -170,8 +225,14 @@ Here are some snapshots of the other demos running on the device. Puzzle demo -.. figure:: /images/slint_energy_monitor.png - :align: left - :alt: Slint Energy Monitor Demo + * - .. figure:: /images/slint_energy_monitor.png + :align: center + :alt: Slint Energy Monitor Demo + + Energy Monitor + + - .. figure:: /images/slint_gallery.png + :align: center + :alt: Slint Gallery Demo - Energy Monitor + Gallery Demo