Theme Catppuccin
Make yourself at homeCatppuccin

A softer light for long learning sessions.

Appearance

Loading your preference…

Dark palette

Choose a dark palette to try it.

Light uses Latte. Your choices stay in this browser.

Read the machine

SKETCHBOOK / 01 Signal Garden · 2-week chapter

Page 1 of 4: The expedition has five layers

Begin with a passport

The expedition has five layers

Think of Signal Garden as a small illuminated installation: stems are geometry, colors are data, and later a compute pass moves the seeds. Before drawing anything, find out which machine will perform the work. Your C++ program calls a Vulkan loader; the loader discovers implementations such as Mesa RADV. An instance connects your application to instance-level services. A physical device describes a particular implementation and GPU. A logical device requests an explicit set of features and queues from that physical device.

These names are ownership and capability boundaries. An instance must outlive its physical-device queries and the devices created through it. A queue belongs to its logical device. Neither a powerful GPU name nor a new header version establishes that a feature is available. Start on CachyOS with the supplied capability probe and the distribution-provided Vulkan tooling. Record the loader version, each reported device, driver information from vulkaninfo, and queue families. Do not guess which adapter your G14 selected.

Your first finished artifact is a plain-text passport, not a window. It lists observed facts, the date, and questions still unanswered. The supplied probe deliberately creates no surface or logical device, so it cannot prove presentation support or claim to have enabled features. This separation makes a failed setup actionable: missing loader, missing driver, and unsupported device are different diagnoses.

TRY IT IN YOUR STUDIO

Run the native capability probe on CachyOS. Circle every statement that is observed and cross out any inferred GPU specification.

From the page to your own work

Your studio assignment.

Give your actual AMD/Linux system a capability passport before committing to a rendering path.

A finish line you can see

A device report, a small selection policy, and one clear unsupported-configuration diagnostic.

  1. Record actual devices and API versions without guessing the AMD model.
  2. Query required features and queue flags.
  3. Mark surface/presentation support as unknown until queried with a real surface.
  4. Demonstrate one rejected capability record with a useful reason.
Keep the evidence in your weekly notebook ↗
Explain it like an engineer

Try answering aloud before opening the review notes. Use your own implementation as evidence.

Why are physical-device selection and logical-device creation separate?
  • The physical device advertises support and limits.
  • The application chooses and enables a subset of features and queues.
  • Presentation is a surface-specific query; a successful headless probe does not prove it.

These prompts support practice; they are not an automatic assessment of your work.

A small creative variation ↗

Add a user-selectable device index with validated range and print the final selection.

Optional. Save it for later if this chapter already feels full.

Coming back after a break? ↩

Read your passport and rerun the probe unchanged. Stop after identifying one queue family.

Books & principles behind this study +

Original Parallax explanations and assignments, with these works for further reading.

YOUR MARGIN NOTES

Leave yourself a good question.

What changed your mind? What would you try next?

Notes are private to this browser and saved as you write.

A CHECKPOINT, NOT A SCORE

Can you explain the idea and try the exercise yourself?

Completion records your own assessment. It does not compile or test your C++.
Companion source 4 files