# chetan-nmd/meta-qt6 architecture

> Architecture diagram of the GitHub repository chetan-nmd/meta-qt6, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/chetan-nmd/meta-qt6
- Repository: https://github.com/chetan-nmd/meta-qt6

## Overview

meta-qt6 is a Yocto/OpenEmbedded layer that makes Qt 6 and related components available to embedded-image and SDK builds. The principal workflow is a developer configuring a Yocto build to use the layer and select an edition, then using its recipes and package groups to build Qt components. The graph preserves major Qt module families, Python bindings, and SDK support. The README documents layer dependencies and edition controls; source excerpts were not provided, so internal recipe-to-recipe wiring is omitted.

Main entry points: [`conf/layer.conf`](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/conf/layer.conf) (Layer configuration), [`recipes-qt/meta/meta-toolchain-qt6.bb`](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/meta/meta-toolchain-qt6.bb) (Qt SDK), [`classes/qt6-cmake.bbclass`](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/classes/qt6-cmake.bbclass) (Qt build classes), [`recipes-qt/qt6/qtbase_git.bb`](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/qt6/qtbase_git.bb) (Qt Base)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_integration["Layer integration"]
  node_layer_config["Layer configuration<br/>[layer.conf]"]
  node_qt_classes["Qt build classes<br/>[qt6-cmake.bbclass]"]
end

subgraph group_core["Qt foundations"]
  node_base["Qt Base<br/>[qtbase_git.bb]"]
  node_essentials["Essentials group"]
end

subgraph group_modules["Qt modules"]
  node_qt_modules["Qt modules"]
  node_graphics["Graphics and 3D<br/>[qtquick3d_git.bb]"]
  node_multimedia["Multimedia"]
  node_web["Web components<br/>[qtwebengine_git.bb]"]
  node_connectivity["Connectivity"]
  node_commercial_modules["Commercial modules"]
end

subgraph group_extensions["Bindings and SDK"]
  node_pyqt["PyQt 6"]
  node_pyside["PySide 6"]
  node_qt_sdk["Qt SDK"]
  node_sdk_classes["SDK support"]
end

node_developer(("Build developer"))
node_yocto["Yocto build"]
node_oe_core["OpenEmbedded Core"]
node_meta_openembedded["meta-openembedded"]
node_meta_clang["meta-clang"]

node_developer -->|"configures build"| node_yocto
node_yocto -->|"uses layer"| node_layer_config
node_layer_config -->|"depends on"| node_oe_core
node_layer_config -->|"depends on"| node_meta_openembedded
node_layer_config -.->|"optionally depends"| node_meta_clang
node_yocto -->|"uses build classes"| node_qt_classes
node_yocto -->|"builds Qt base"| node_base
node_yocto -->|"selects packages"| node_essentials
node_yocto -->|"selects packages"| node_qt_modules
node_yocto -->|"builds module"| node_graphics
node_yocto -->|"builds module"| node_multimedia
node_yocto -->|"builds module"| node_web
node_yocto -->|"builds module"| node_connectivity
node_developer -.->|"enables commercially"| node_commercial_modules
node_yocto -->|"builds binding"| node_pyqt
node_yocto -->|"builds binding"| node_pyside
node_yocto -->|"builds SDK"| node_qt_sdk
node_qt_sdk -->|"uses SDK support"| node_sdk_classes

click node_layer_config "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/conf/layer.conf"
click node_qt_classes "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/classes/qt6-cmake.bbclass"
click node_base "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/qt6/qtbase_git.bb"
click node_essentials "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/packagegroups/packagegroup-qt6-essentials.bb"
click node_qt_modules "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/packagegroups/packagegroup-qt6-modules.bb"
click node_graphics "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/qt6/qtquick3d_git.bb"
click node_multimedia "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/qt6/qtmultimedia_git.bb"
click node_web "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/qt6/qtwebengine_git.bb"
click node_connectivity "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/qt6/qtconnectivity_git.bb"
click node_commercial_modules "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/packagegroups/packagegroup-qt6-commercial-modules.bb"
click node_pyqt "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-python/pyqt6/python3-pyqt6_6.6.1.bb"
click node_pyside "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-python/pyside6/python3-pyside6_git.bb"
click node_qt_sdk "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/meta/meta-toolchain-qt6.bb"
click node_sdk_classes "https://github.com/chetan-nmd/meta-qt6/blob/mickledore/classes/populate_sdk_qt6.bbclass"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_layer_config,node_qt_classes toneBlue
class node_base,node_essentials toneAmber
class node_qt_modules,node_graphics,node_multimedia,node_web,node_connectivity,node_commercial_modules toneMint
class node_pyqt,node_pyside,node_qt_sdk,node_sdk_classes toneRose
class node_developer,node_yocto,node_oe_core,node_meta_openembedded,node_meta_clang toneIndigo
```

## Components

### Layer integration

- [Layer configuration](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/conf/layer.conf): `conf/layer.conf`
- [Qt build classes](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/classes/qt6-cmake.bbclass): `classes/qt6-cmake.bbclass`

### Qt foundations

- [Qt Base](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/qt6/qtbase_git.bb): `recipes-qt/qt6/qtbase_git.bb`
- [Essentials group](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/packagegroups/packagegroup-qt6-essentials.bb): `recipes-qt/packagegroups/packagegroup-qt6-essentials.bb`

### Qt modules

- [Qt modules](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/packagegroups/packagegroup-qt6-modules.bb): `recipes-qt/packagegroups/packagegroup-qt6-modules.bb`
- [Graphics and 3D](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/qt6/qtquick3d_git.bb): `recipes-qt/qt6/qtquick3d_git.bb`
- [Multimedia](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/qt6/qtmultimedia_git.bb): `recipes-qt/qt6/qtmultimedia_git.bb`
- [Web components](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/qt6/qtwebengine_git.bb): `recipes-qt/qt6/qtwebengine_git.bb`
- [Connectivity](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/qt6/qtconnectivity_git.bb): `recipes-qt/qt6/qtconnectivity_git.bb`
- [Commercial modules](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/packagegroups/packagegroup-qt6-commercial-modules.bb): `recipes-qt/packagegroups/packagegroup-qt6-commercial-modules.bb`

### Bindings and SDK

- [PyQt 6](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-python/pyqt6/python3-pyqt6_6.6.1.bb): `recipes-python/pyqt6/python3-pyqt6_6.6.1.bb`
- [PySide 6](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-python/pyside6/python3-pyside6_git.bb): `recipes-python/pyside6/python3-pyside6_git.bb`
- [Qt SDK](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/recipes-qt/meta/meta-toolchain-qt6.bb): `recipes-qt/meta/meta-toolchain-qt6.bb`
- [SDK support](https://github.com/chetan-nmd/meta-qt6/blob/mickledore/classes/populate_sdk_qt6.bbclass): `classes/populate_sdk_qt6.bbclass`

### Other components

- **Build developer**
- **Yocto build**
- **OpenEmbedded Core**
- **meta-openembedded**
- **meta-clang**

## Connections

- Build developer → Yocto build: configures build
- Yocto build → Layer configuration: uses layer
- Layer configuration → OpenEmbedded Core: depends on
- Layer configuration → meta-openembedded: depends on
- Layer configuration → meta-clang: optionally depends
- Yocto build → Qt build classes: uses build classes
- Yocto build → Qt Base: builds Qt base
- Yocto build → Essentials group: selects packages
- Yocto build → Qt modules: selects packages
- Yocto build → Graphics and 3D: builds module
- Yocto build → Multimedia: builds module
- Yocto build → Web components: builds module
- Yocto build → Connectivity: builds module
- Build developer → Commercial modules: enables commercially
- Yocto build → PyQt 6: builds binding
- Yocto build → PySide 6: builds binding
- Yocto build → Qt SDK: builds SDK
- Qt SDK → SDK support: uses SDK support
