8000 Nova docu update by dasteihn · Pull Request #45 · Rust-for-Linux/rust-for-linux.com · GitHub
[go: up one dir, main page]

Skip to content

Nova docu update #45

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Conversation

dasteihn
Copy link
Contributor
@dasteihn dasteihn commented Jun 13, 2025

The Nova documentation is quite outdated. This PR performs an update.

Rendered view:
https://github.com/dasteihn/rust-for-linux.com/blob/nova-docu-update/src/Nova-GPU-Driver.md

@dakr please review.

Copy link
Member
@dakr dakr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for writing this up, very much appreciated!

8000
It can be expected that, as the driver continues to grow, various other abstractions
will be needed.
Another reason is that Rust's macros are helpful when creating firmware bindings
for continuously changing firmware versions and their ABIs.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hopefully that's a benefit we won't need to leverage too much if the firmware ABI gains some stability.

@dasteihn
Copy link
Contributor Author

@dakr @Gnurou Updated. New version here.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's two times vGPU0.

NIT: I think it would be nicer to not have this carve-out on nova-core on the host side, but have vGPU on top of nova-core.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean the vGPU manager.


## Status
Rust's most desired feature are its guarantees for memory safety, notably the
elimination of Use-after-Free errors. Those are errors GPU drivers suffer from
Copy link
Member
@dakr dakr < 8000 a href="#discussion_r2155354518" id="discussion_r2155354518-permalink" class="Link--secondary js-timestamp">Jun 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you forgot to update this section, can you please put what I came up with at the beginning of "### Why write it in Rust?"?

creating new PCI virtual functions), which can then be passed to a virtual
machine, which then, for example, can run another Linux with another Nova-Core
bound to the virtual GPU. Then, on top, Nova-DRM can be utilized as a
conventional GPU driver to use the vGPU.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would also be good to point out that the split in nova-core and nova-drm allows us to run a much smaller (and hence a potentially less error prone) driver on the host side.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

8000

Why is that relevant? The amount of software running is the same, or, actually, even bigger with vGPU because you have nova-core N times.

I suppose you think it's good because it's a smaller broad side exposed for security stuff and the like, but am not sure.

Philipp Stanner added 2 commits June 23, 2025 13:46
The documentation for Nova should be updated.

To prepare for that, add an architecture overview image.

Signed-off-by: Philipp Stanner <phasta@kernel.org>
The current documentation for the RfL-User "Nova" is more than one year
old and quite outdated.

Update the Nova documentation.

Signed-off-by: Philipp Stanner <phasta@kernel.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants
0