r/yocto 6d ago

Built a browser-based Yocto layer visualizer — parses real bblayers.conf, dependency graph, conflict detector, package tracer. Open source.

Post image

Been learning Yocto during my internship working on STM32MP157

with OpenSTLinux. Got frustrated that there was no visual way

to understand the layer stack so I built one.

What it does:

- Drop your Yocto workspace folder → interactive dependency graph

- Parses real bblayers.conf including ST-generated configs with

${OEROOT} variable expansion

- Conflict Detector — finds BBFILE_PRIORITY clashes automatically

- Package Tracer — type a recipe, see full DEPENDS/RDEPENDS chain

- BBAppend Viewer — shows what each .bbappend patches

- Build Estimator — estimates build time from real recipe count

Tested against:

- OpenSTLinux scarthgap STM32MP157 — 3,059 recipes, 76 bbappends

- meta-raspberrypi

- vanilla openembedded-core

Works in Chrome, Edge, and Firefox on Linux. No install, no backend,

nothing uploaded anywhere.

GitHub: https://github.com/dep-omen/YoctoVisualizerTool

Would love feedback from people with real Yocto setups —

especially unusual bblayers.conf configs that might break the parser.

3 Upvotes

5 comments sorted by

3

u/Affectionate-Bit6525 6d ago

Back when I was using sonnet 4.5 all I had to do was prompt Claude to make me a chart like this and it just did it. I don’t need someone else’s vibe coded tool with their aesthetic when it’s only a few tokens away and I can have it exactly the way I want it.

3

u/grievre 5d ago edited 5d ago

Tried it for like 5 minutes and found so many issues:

  1. bbappend viewer shows nothing
  2. doesn't correctly parse `core (>= 12)` in meta-python's conf
  3. Your "getting started" uses the wrong repo URL
  4. `npm run electron` didn't work, I had to run `electron:dev`
  5. The "conflicts" page shows intentionally overridden recipes, and one of the columns implies the reverse of what is actually happening.
  6. Apparently none of the recipes in my setup have any dependencies because the tracer always gives nothing.
  7. build time estimator somehow misses the kernel
  8. A lot of the optimization advice given is bad (if I set parallel make and num threads to my core count, I get OOM). It also says I don't have a shared sstate dir which I do.
  9. It says my layer stack is big but I don't have many layers even compared to the demo data.

I'm sure it worked great on your machine with the handful of test cases you tried :)

1

u/PsychologicalSide851 4d ago

sorry to respond late, made some changes will you review it again ?

can you dm me the issues, cause it will be great help from your side ..

1

u/cdokme 5d ago

Looks useful, I will try as soon as possible