examples/fbcon: Do not require a builtin registry to spawn the shell. - #3708
Merged
Merged
Conversation
fbcon asked the registry of built-in applications for the stack size and priority to spawn its shell with. A kernel build has no such registry: its programs are ELF files in a filesystem, which is exactly what the posix_spawn() below already handles, PATH search and all. The lookup therefore fails to compile there. Ask the registry only where there is one, and take the numbers from this example's own configuration otherwise. Tested on an EIC7700 EVB in a kernel build: fbcon renders its console on a 1080p HDMI framebuffer and spawns a shell whose prompt appears on the monitor. Assisted-by: Claude:claude-opus-5 Signed-off-by: Justin Hammond <justin@dynam.ac>
5 tasks
xiaoxiang781216
approved these changes
Aug 7, 2026
cederom
approved these changes
Aug 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
examples/fbcondoes not build in a kernel build. It asks the registryof built-in applications for the stack size and priority to spawn its
shell with, and a kernel build has no such registry, so the reference
does not resolve.
exactly what the
posix_spawn()below already handles, PATH search andall. There is nothing for the registry to tell it.
stack size and priority from this example's own configuration otherwise.
link line. Both are needed for fbcon specifically; this one is fbcon's
own defect, that one affects every NX application. Neither depends on the
other to be correct, but fbcon needs both to link.
Impact
builtin registry exists the behaviour is byte-for-byte what it was; the
new path is reached only where the registry does not exist, which is
where fbcon previously did not compile.
CONFIG_BUILD_KERNELonly, in the sensethat the guarded path is reached only where
CONFIG_BUILTINis unset,which is the kernel-build case. Flat and protected builds keep the
registry lookup unchanged.
Testing
I confirm that changes are verified on local setup and works as intended:
15.2.0
upstream), kernel build, HDMI framebuffer at 1080p60
Testing logs before change, linking
examples/fbconwith#3707 already applied so that libnx is no longer the
obstacle:
Testing logs after change: fbcon builds, starts, and renders its console on
the framebuffer, spawning a shell whose prompt appears on the monitor:
With glyph rendering traced, showing it drawing to the framebuffer:
PR verification Self-Check
Claude (claude-opus-5) assisted with diagnosing this and with authoring the
code comment and this PR description. The commit carries an
Assisted-by:tagper CONTRIBUTING.md §1.5.