Bringing a custom Vulkan renderer and bare-metal AArch64 kernel to GB10

Hi,

I’m Manan, a 14-year-old self-taught developer. I’m working on two projects that I’d like to eventually bring to GB10, and wanted to share them here and ask a few questions from people who have the hardware.

The two projects:

Synchrona — a Vulkan renderer I wrote from scratch. PBR, IBL, HDRI, MSAA, bindless descriptors, hybrid RT shadows. On Intel Sponza with curtains (5.7M triangles) it runs at ~54fps at 4K native on an RTX 3060, GPU-bound around 98%, ~4–5% CPU utilization. It already runs on Apple M4 at 1440p without a discrete GPU, which validates the ARM portability path. https://github.com/Valt445/Synchrona

Mana — a bare-metal AArch64 kernel I’m building alongside it. MMU, exception handling, MINIX filesystem, UART I/O, ramfb graphics. I have an in-house path tracer running inside the kernel.

https://github.com/Valt445/Mana

The direction:

Most Renderers use discrete GPU memory I want to create a OS that leverages that power and then directly translates to the Engine providing massive pools or ram for complex scenes at extremely high-speeds, In the future i also plan to embed an AI agent in the kernel alone for high speed access

What I’m looking for:

I’ll be direct: I’m trying to get access to a DGX Spark or RTX Spark, either through a developer seeding program, remote access, or any avenue NVIDIA has for projects targeting the Grace/Blackwell architecture. Not looking for funding, I just want hardware access to test Mana and Synchrona on actual unified-memory silicon and see whether the architectural bets I’m making are correct. If anyone knows the right channel or can point me to a developer relations contact, that would be genuinely useful.

Questions for people with the hardware:

  1. What does the graphics/display path look like on DGX OS? Is Vulkan WSI usable for windowed output, or is the expectation essentially headless?

  2. How does coherent memory surface to a Vulkan application — are there host-coherent device-local heaps you can map directly and skip staging entirely?

  3. Has anyone run rasterization or real-time graphics workloads on GB10 rather than inference? Any observations on how Blackwell graphics compute performs outside ML contexts?

Happy to share more detail on either project.

Hi there @mananb405, welcome to the NVIDIA developer forums.

Slight hint: Flaunting your age, especially claiming to be still very young, is usually caught as some form of spam or AI generated content. Especially since your post is at least AI curated. You got lucky this time.

If you want to get in touch with DGX Spark developers, you might want to check DGX Spark / GB10 User Forum - NVIDIA Developer Forums

Since this post contains Vulkan questions I will move it to the appropriate category.

Regarding unified memory. You mentioned the M4 as a target where you already have this running. Doesn’t the M4 also use Unified memory?

Sorry if it came that way, I did not know that it would be conveyed in such a manner. And yes I am aware of the fact that M4 has unified memory but the problem that I am facing is that moltenVk support is not mature enough for supporting Path Tracing and KosmicKrisp is still in early development And as you saw the performance results the M4 is quite lacking as the Damaged helmet model only gets around 46 fps in testing. As for the kernel the M4 macbooks don’t have mature Asahi linux support so it would be extremely difficult to boot my kernel directly I would still have to use Qemu or other such hypervisor

I apologize if I have caused any inconvenience to you or your faculty members, I will take not and be mindful of this the next time

Regards,

Manan

Not to worry.

I know that some people managed to run Omniverse on Spark, but beyond that it simply is not the target HW for Rendering. It is all about AI development and compute in a small but server equivalent package. It might make sense to wait for RTX Spark, although it might be some time yet until they become available.

I understand the DGX Spark was designed as a local AI workstation, not a rendering platform but that’s exactly what I’m trying to prove. The 128GB of coherent unified memory and the ARM64 cores are being almost only used for inference workloads, and I think that leaves real capability on the table for graphics rendering. Renderers are normally architected around discrete GPU memory staging buffers, separate address spaces, host-to-device copies. On unified memory you can eliminate that entire layer. I’m building a renderer and a bare-metal kernel designed around that memory model from scratch, with Gaussian splatting as a near-term target since splat scenes exceed discrete VRAM limits fast. Whether GB10 or RTX Spark is the right platform for this is something I want to find out.