NACK: [SRU kernel-snaps-uc24.04/pc][SRU canonical-kernel-snap/main][RFC PATCH v2 0/2] add nvidia-550 driver components

Aaron Jauregui aaron.jauregui at canonical.com
Mon Dec 9 01:46:52 UTC 2024


On Fri, Dec 06, 2024 at 08:03:42AM +0100, Juerg Haefliger wrote:
> There's no patch 2/2 in this series.
> 
> ...Juerg
> 
That's odd, I can see it in the ML archive here: 
https://lists.ubuntu.com/archives/kernel-team/2024-December/155758.html
Note that each patch is for a different repo, maybe a formatting issue
on my part? Please let me know if you know how to correct this
> 
> On Thu,  5 Dec 2024 13:50:43 +1100
> Aaron Jauregui <aaron.jauregui at canonical.com> wrote:
> 
> > BugLink: https://bugs.launchpad.net/bugs/2088970
> > 
> > [Changes between v1 and v2]
> > 
> > kernel-snaps-u24.04:
> >   - replaced TODO HACK FOR HOOKS
> >   - updated nvidia userspace component type to standard
> > 
> > hooks:
> >   - included install hook for the pc-kernel to install nouveau
> >     component by default
> > 
> > [Impact]
> > Snap components are a way to have optional content for snaps available
> > for install without resorting to building a completely new snap. It's
> > useful to think of them as lazy loading for snaps. Concretely, components
> > are themselves snaps with locked-down functionality that are mounted
> > within their parent snap's filesystem. Component revisions are tied 1 to
> > 1 with their parent snap revision at upload time, meaning that any refresh
> > also refreshes the components tied to the snap. This also means that
> > components MUST be uploaded alongside the parent snap, or the store will
> > reject the upload.
> > 
> > We use components here with the aim of providing a way for nvidia
> > drivers to be selected for the pc-kernel without having to rebuild,
> > targetting the nvidia-550 driver as a starting point with the aim of
> > supporting more driver versions in the future. Since nouveau, currently
> > included in the pc-kernel, conflicts with nvidia, we replace the nouveau
> > .ko with a component compatible with the nvidia component scheme.
> > 
> > The implemented components rely on install, refresh, and remove hooks
> > for the respective functionality. These are intended to be placed in
> > canonical-kernel-snaps.
> > 
> > Nvidia components are mostly self-contained, but a few changes to the pc-kernel
> > snap were required. files/meta/kernel.yaml is required to enable kernel
> > module support in snapd. The kernel-gpu-2404 content interface is
> > declared for exposing nvidia userspace libraries, and is not intended to
> > be accessed directly by users.
> > 
> > [Test case]
> > Nvidia components can be installed as follows:
> > 
> >  $ snap install pc-kernel+nvidia-550-ko pc-kernel+nvidia-550-user
> > 
> > The components install their files in $SNAP_DATA/modules/$(uname -r)/graphics
> > 
> > [Regression potential]
> > There is potential for regressions to be introduced by the pc-kernel install
> > hook, as it is executed on every install and and refresh event. If this
> > script fails, the installation or update of the snap will abort.
> > 
> > Aaron Jauregui (1):
> >   snapcraft.yaml: Add nvidia-550 and nouveau component support
> > 
> >  files/meta/kernel.yaml |   1 +
> >  snapcraft.yaml         | 109 ++++++++++++++++++++++++++++++++++++++++-
> >  2 files changed, 109 insertions(+), 1 deletion(-)
> >  create mode 100644 files/meta/kernel.yaml
> > 
> > Aaron Jauregui (1):
> >   nvidia-hooks: add hooks for nvidia kernel components
> > 
> >  hooks/install.module                   | 21 +++++++++++++++++++++
> >  hooks/install.nvidia-ko                | 25 +++++++++++++++++++++++++
> >  hooks/install.nvidia-user              | 18 ++++++++++++++++++
> >  hooks/install.pc-kernel                |  6 ++++++
> >  hooks/kernel-gpu-2404-provider-mangler | 12 ++++++++++++
> >  hooks/remove.module                    | 13 +++++++++++++
> >  hooks/remove.nvidia-ko                 |  6 ++++++
> >  hooks/remove.nvidia-user               | 10 ++++++++++
> >  8 files changed, 111 insertions(+)
> >  create mode 100644 hooks/install.module
> >  create mode 100644 hooks/install.nvidia-ko
> >  create mode 100644 hooks/install.nvidia-user
> >  create mode 100644 hooks/install.pc-kernel
> >  create mode 100644 hooks/kernel-gpu-2404-provider-mangler
> >  create mode 100644 hooks/remove.module
> >  create mode 100644 hooks/remove.nvidia-ko
> >  create mode 100644 hooks/remove.nvidia-user
> > 
> 





More information about the kernel-team mailing list