** Description changed:

  [Availability]
  - The package dgx-desktop-defaults is already in Ubuntu universe.
  - The package dgx-desktop-defaults builds for the architectures it is 
designed to work on.
  - It currently builds and works for architectures: all
  - Link to package 
[link](https://launchpad.net/ubuntu/+source/dgx-desktop-defaults)
  
  [Rationale]
  - The package dgx-desktop-defaults is required in Ubuntu main because Nvidia 
DGX Spark would benefit to have it all the time.
  - The package  dgx-desktop-defaults will generally be useful for a large part 
of our user base.
  - Currently, the users of these machines get the packages only if Subiquity 
runs online, thanks to ubuntu-drivers.  The binary packages within 
dgx-desktop-defaults needs to be in main because it needs to be present on the 
live installer ISO so that offline installations work too.
  - There is no other/better way to solve this that is already in main or 
should go universe->main instead of this.
  - This is the first time package will be in main
  - All binary packages built by dgx-desktop-defaults need to be in main.
  - It would be great and useful to community/processes to have the package in 
Ubuntu main by the next point release of 26.04, to be in the built ISO.
  
  [Security]
  - No CVEs/security issues in this software in the past
  - no executables in `/sbin` and `/usr/sbin`
  - Package does install services, timers or recurring jobs
   - cuda-gpu-select.service tune the file `/etc/cuda-gpu-select/env` on boot
   - dgx-desktop-pro-activation.service loads pro tokens from UEFI on startup
   - systemd generator dgx-desktop-docker-gpus.sh tunes containerd override 
configuration during boot
   - systemd generator dgx-desktop-load-realtek-driver.sh loads one realtek 
driver or the other, depending on the kernel
  - no `suid` or `sgid` binaries
  - Packages does not open privileged ports (ports < 1024).
  - Package does not expose any external endpoints
  - Packages does not contain extensions to security-sensitive software
    (filters, scanners, plugins, UI skins, ...)
  
  [Quality assurance - function/usage]
  - The package works well right after install
  
  [Quality assurance - maintenance]
  - The package is maintained well in Ubuntu and does
    not have too many, long-term & critical, open bugs
    - Ubuntu 
[https://bugs.launchpad.net/ubuntu/+source/dgx-desktop-defaults/+bug](https://bugs.launchpad.net/ubuntu/+source/dgx-desktop-defaults/+bug)
  - The package does deal with exotic hardware, such hardware is available to 
the team for debugging, test, verification and development via:
   - testflinger under the following queue: 
[nvidia-n1x-spark-prod](https://testflinger.canonical.com/queues/nvidia-n1x-spark-prod)
   - testflinger under the following queue: 
[gb300-galaxy](https://testflinger.canonical.com/queues/gb300-galaxy)
   - the nvidia global partnership. Also exotic is opinionated, DGX Sparks are 
popular customer products.
  
  [Quality assurance - testing]
  - The package does not run a test at build time because it runs its test
    suite as autopkgtest.
  - We have access to such hardware in the team to test package changes.
  - Test plan
-   - The metas (`hwe-dgx-gb10-meta`, `hwe-dgx-gb300ws-meta`) should match the 
right hardware, respectively DGX Sparks and DGX Stations.
-   - `dgx-desktop-pro-activation`: a freshly provisioned DGX Spark should 
automatically try to attach to a Pro subscription. If the token is compatible 
with the distro, the attach should work.
-   - `dgx-desktop-sbsa-gwdt-options`, `dgx-desktop-disable-init-on-alloc`,  
`dgx-desktop-disable-numa-balancing`, `dgx-desktop-crashkernel-configuration`, 
`dgx-desktop-cppc-cpufreq-options`, `dgx-desktop-enable-power-meter-cap` : the 
relevant kernel argument should be applied on boot. The device should boot 
correctly, and not get unattended reboot after 30min. The `power_cap` sysfs 
nodes should be exposed.
-   - `dgx-desktop-limits` is quite trivial, any change done here would be 
entirely revisiting the behavior so there is no regression to look for really
-   - `dgx-desktop-nvidia-fs-loader`: the `nvidia-fs` module should load during 
the boot.
-   - `dgx-desktop-enable-persistenced`: The GPU should be snappy. `sudo docker 
run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi` should run instantly 
several time in a row, and not take a few seconds each time.
-   - `dgx-desktop-nvme-interrupt-coalescing`: interrupt coalescing should be 
enable with machines with the relevant nvme vendor (Samsung, Kioxia, Micron). 
That can be verified with
+   - The metas (`hwe-dgx-gb10-meta`, `hwe-dgx-gb300ws-meta`) should match the 
right hardware, respectively DGX Sparks and DGX Stations.
+   - `dgx-desktop-pro-activation`: a freshly provisioned DGX Spark should 
automatically try to attach to a Pro subscription. If the token is compatible 
with the distro, the attach should work.
+   - `dgx-desktop-sbsa-gwdt-options`, `dgx-desktop-disable-init-on-alloc`,  
`dgx-desktop-disable-numa-balancing`, `dgx-desktop-crashkernel-configuration`, 
`dgx-desktop-cppc-cpufreq-options`, `dgx-desktop-enable-power-meter-cap` : the 
relevant kernel argument should be applied on boot. The device should boot 
correctly, and not get unattended reboot after 30min. The `power_cap` sysfs 
nodes should be exposed.
+   - `dgx-desktop-limits` is quite trivial, any change done here would be 
entirely revisiting the behavior so there is no regression to look for really
+   - `dgx-desktop-nvidia-fs-loader`: the `nvidia-fs` module should load during 
the boot.
+   - `dgx-desktop-enable-persistenced`: The GPU should be snappy. `sudo docker 
run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi` should run instantly 
several time in a row, and not take a few seconds each time.
+   - `dgx-desktop-nvme-interrupt-coalescing`: interrupt coalescing should be 
enable with machines with the relevant nvme vendor (Samsung, Kioxia, Micron). 
That can be verified with
  ```
  $ sudo nvme get-feature /dev/nvme0 -f 8
  get-feature:0x08 (Interrupt Coalescing), Current value:0x00000107
  ```
  A disabled state would be `0x00000000`.
-   - `dgx-desktop-docker-gpus`: `sudo docker run --rm --runtime=nvidia --gpus 
all ubuntu nvidia-smi` should work. The nvidia docker runtime should only be 
able to use compute GPUs
+   - `dgx-desktop-docker-gpus`: `sudo docker run --rm --runtime=nvidia --gpus 
all ubuntu nvidia-smi` should work. The nvidia docker runtime should only be 
able to use compute GPUs
  That can be verified with the following line, where the dGPU is expected NOT 
to appear.
  ```
  $ sudo docker run --rm --gpus all ubuntu nvidia-smi -L
  GPU 0: NVIDIA GB300 (UUID: GPU-4205f1fd-9c05-ef26-2a33-34578900205c)
  ```
-   - `dgx-desktop-nvidia-cuda-environment`: on a DGX GB300 workstation, after 
a reboot, CUDA should only run on the GB300 GPU and not on a potential dGPU. 
That can be verified with
+   - `dgx-desktop-nvidia-cuda-environment`: on a DGX GB300 workstation, after 
a reboot, CUDA should only run on the GB300 GPU and not on a potential dGPU. 
That can be verified with
  ```
- echo "$CUDA_VISIBLE_DEVICES" 
+ echo "$CUDA_VISIBLE_DEVICES"
  nvidia-smi -i "$CUDA_VISIBLE_DEVICES" --query-gpu=name --format=csv,noheader
  ```
-   - `dgx-desktop-arp-configuration` can be tested  through these commands:
+   - `dgx-desktop-arp-configuration` can be tested  through these commands:
  ```
  # On the prober — ask "who has 10.0.0.11"
  arping -c 3 10.102.182.27
  # Baseline: you may see replies from multiple MAC addresses (flux)
  # then install the package
  # On the prober
  arping -c 3 10.102.182.27 # should be answered ONLY by eth1's MAC
  arping -c 3 10.102.182.28 # should be answered ONLY by eth0's MAC
  ```
-   - `dgx-desktop-app-profiles-mixed-coherency`: when running an opengl 
workload like glxgears, the dGPU should always be picked. That can be verified 
with `nvidia-smi`.
+   - `dgx-desktop-app-profiles-mixed-coherency`: when running an opengl 
workload like glxgears, the dGPU should always be picked. That can be verified 
with `nvidia-smi`.
+   - `dgx-desktop-kernel-configuration`: if 2 kernels are installed, for ex 
-generic and -nvidia, the -nvidia one should be GRUB's default even if it has a 
lower version.
+   - `dgx-desktop-no-systemd-suspend`: there should be no option to suspend in 
GNOME's power drowdown menu (when users usually pick reboot/shutdown/sleep)
  
  [Quality assurance - packaging]
  - debian/watch is not present because it is a native package
  - debian/control defines a correct Maintainer field
  - Lintian overrides are not present
  - This package does not rely on obsolete or about to be demoted packages.
  - The package will be installed by default, but does not ask debconf 
questions higher than medium
  - Packaging and build is easy, link to debian/rules
  
  [UI standards]
  - Application is not end-user facing (does not need translation)
  
  [Dependencies]
  - Used check-mir from ubuntu-dev-tools to validate all dependencies or 
recommends are in main.
  
  [Standards compliance]
  - This package correctly follows FHS and Debian Policy
  
  [Maintenance/Owner]
  - The owning team will be Partner Engineering and I have their acknowledgment 
for that commitment
  - The future owning team is already subscribed to the package
  - This does not use static builds
  - This does not use vendored code
  - This package is not rust based
  - The package has been built within the last 3 months in the archive
  - This change will not impact other teams
  
  [Background information]
  - The Package description explains the package well
  - No Upstream Name - it's a native package
+ 
+ EDIT: Added the test plan.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2154816

Title:
  [MIR] dgx-desktop-defaults

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dgx-desktop-defaults/+bug/2154816/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to