Skip to content

Commit 539f3e3

Browse files
pkgdemonclaude
andcommitted
graphics plan: correct NVIDIA distribution framing (FreeBSD ships it as a binary pkg)
NVIDIA's driver is redistributable — FreeBSD packages nvidia-driver/nvidia-kmod as binaries under LICENSE_PERMS pkg-mirror no-pkg-sell auto-accept. Replaces the earlier (incorrect) 'licensing constraint / not freely redistributable / confirm with driver-licensing@nvidia.com' framing: NextBSD ships the kext on the same terms FreeBSD does — carry doc/license.txt, don't sell. No sign-off gate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent e253e16 commit 539f3e3

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

‎nextbsd-graphics-plan.html‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ <h3>The module layout (confirmed)</h3>
175175
<li><code>nvidia-drm.ko</code> &mdash; the <strong>DRM/KMS bridge</strong> that registers with and links the <em>same</em> <code>drm.ko</code>/<code>drmn</code> core this plan&rsquo;s <code>IOGraphics.kext</code> provides (<code>MODULE_DEPEND(nvidia_drm, drmn, 2,2,2)</code>). FreeBSD even split the port: <code>x11/nvidia-driver</code> (userland) &rarr; <code>x11/nvidia-kmod</code> (the <code>.ko</code>s) + <code>graphics/nvidia-drm-kmod</code> (the bridge).</li>
176176
</ul>
177177
<div class="callout callout-warn">
178-
<p><span class="pill">Distribution &mdash; same as FreeBSD</span> NVIDIA&rsquo;s driver is redistributable: FreeBSD ships nvidia-driver as binary packages. NextBSD builds the .kos from NVIDIA&rsquo;s tarball like the FreeBSD port and ships the result the same way (carry doc/license.txt, don&rsquo;t sell).</p>
178+
<p><span class="pill">Distribution &mdash; same as FreeBSD</span> NVIDIA&rsquo;s driver is redistributable: FreeBSD ships <code>nvidia-driver</code>/<code>nvidia-kmod</code> as binary packages under <code>LICENSE_PERMS = dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept</code>. NextBSD builds the three <code>.ko</code>s from NVIDIA&rsquo;s tarball exactly like the FreeBSD port (compile the glue against the local kernel, link the blob, wrap as a kext) and ships the result the same way &mdash; carrying NVIDIA&rsquo;s <code>doc/license.txt</code> and not selling it. Building in a sibling repo vs a job inside <code>nextbsd-graphics</code> is a build-architecture choice, not a licensing one.</p>
179179
</div>
180180
<p><strong>One kext per FreeBSD <code>nvidia-kmod*</code> port.</strong> FreeBSD ships the current driver plus five pinned legacy branches; each becomes a kext carrying that branch&rsquo;s <code>.ko</code>s and its own supported-GPU match table. Crucially, the DRM/KMS bridge (<code>graphics/nvidia-drm-612-kmod</code>, pinned to NextBSD&rsquo;s drm&nbsp;6.12 core &mdash; see the note in &sect;5) is packaged <strong>only for the main and 580 branches</strong>; the four older branches are <strong>core / X11-only</strong> (proprietary <code>/dev/nvidia</code> path, no <code>/dev/dri</code>, no Wayland), so only main/580 depend on <code>IOGraphics</code>.</p>
181181
<table>
@@ -229,7 +229,7 @@ <h2 id="risks">10. Risks &amp; open questions</h2>
229229
<li><strong>The virtio KPI bridge is the real virtio cost</strong> &mdash; no <code>linuxkpi</code> virtio layer exists; the prototype is against 5.5, doesn&rsquo;t compile, and <code>panic()</code>s on the mandatory <code>reset</code>/<code>del_vqs</code>. Its <code>scatterlist</code>&rarr;<code>sglist</code> conversion and interrupt-context casts are likely buggy under real traffic.</li>
230230
<li><strong>virtio&rsquo;s match path differs</strong> (sub-bus ivar, not a raw <code>IOPCIDevice</code>), so the <em>cleanest</em> end-to-end CI demonstration is <strong>bochs</strong>, not virtio.</li>
231231
<li><strong>Aperture/vgaarb handoff</strong> must release the boot framebuffer or every driver fights the console at attach.</li>
232-
<li><strong>NVIDIA distribution</strong> is not a blocker &mdash; FreeBSD ships nvidia-driver as a binary pkg; NextBSD ships the kext on the same terms.</li>
232+
<li><strong>NVIDIA distribution</strong> is not a blocker &mdash; FreeBSD ships <code>nvidia-driver</code> as a binary pkg (<code>LICENSE_PERMS pkg-mirror no-pkg-sell auto-accept</code>); NextBSD ships the kext on the same terms (carry the license file, don&rsquo;t sell).</li>
233233
<li><strong>vmwgfx <code>page_dirty</code></strong> leans on Linux MM internals <code>linuxkpi</code> doesn&rsquo;t expose; correct (un-stubbed) support may require touching <code>linuxkpi</code> VM-fault handling. <code>kmap_atomic_prot</code> is x86-specific &mdash; an arm64 target needs more.</li>
234234
</ul>
235235
<p><strong>Open questions to settle first:</strong></p>

0 commit comments

Comments
 (0)