No drm.ko.zst in noble (ubuntu24.04) /linux-modules-6.8.0

Bug #2068840 reported by Pramod Gavali
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Question Raised :https://answers.launchpad.net/ubuntu/+source/linux-riscv/+question/816201

System Info
Description: Ubuntu 24.04 LTS
Release: 24.04

Unable to see the drm.ko or drm.ko.zst module in noble ( ubuntu 24.04 ) linux-modules-6.8.0 amd64 onward
drm module is required to install NVIDIA GPU driver on Ubuntu24.

We see only below modules:

For linux-modules-6.8.0-31-generic amd64 https://packages.ubuntu.com/noble/amd64/linux-modules-6.8.0-31-generic/filelist
drm_ttm_helper.ko.zst
drm_vram_helper.ko.zst

For linux-modules-extra-6.8.0-35-generic - amd64
drm_buddy.ko.zst
drm_dma_helper.ko.zst
drm_exec.ko.zst
drm_gpuvm.ko.zst
drm_mipi_dbi.ko.zst
drm_suballoc_helper.ko.zst
drm_ttm_helper.ko.zst
drm_vram_helper.ko.zst

What it the alternative module for drm.ko/drm.ko.zst ?

However, we can see drm.ko.zst for s390x here https://packages.ubuntu.com/noble/s390x/linux-modules-6.8.0-31-generic/filelist
Additional logs https://launchpadlibrarian.net/730946006/buildlog_ubuntu-noble-amd64.linux_6.8.0-35.35_BUILDING.txt.gz

Revision history for this message
Matthew Ruffell (mruffell) wrote :

Hi Pramod,

Yes, this changed recently, in mantic and onward I believe.

CONFIG_DRM is set to "y" for all architectures except s390x, which is why you still see drm.ko.zst for s390x only.

In Ubuntu Noble kernel sources:

debian.master/config/annotations:

177:CONFIG_DRM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'm'}>
178:CONFIG_DRM note<'LP: #1965303'>

The LP bug linked was:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1965303

So, the module is now built into the kernel image itself, and not shipped separately. You should still be able to use all of its features.

All the Nvidia drivers shipped in the Ubuntu repositories should be compatible with this change.

The linked LP bug did mention that:

> * Software that expects to find DRM device at /dev/dri/card0 may have a problem.
> * Some older versions of NVIDIA driver might not work properly.

and

> all current nvidia releases support simpledrm since last March, except 390 which has been EOL for some time now

Is this change actually causing any issues for you? What are they? What are you trying to do?

Let me know.

Thanks,
Matthew

Revision history for this message
Pramod Gavali (prgavali) wrote :

So, the module is now built into the kernel image itself, and not shipped separately. You should still be able to use all of its features.

All the Nvidia drivers shipped in the Ubuntu repositories should be compatible with this change.

So , does it mean we do not need to load the drm module( using modeprobe drm or insmod ) explicitly in amd64 ubuntu24?

We are getting below error while installing NVIDIA driver

./tools/objtool/objtool: /lib64/libc.so.6: version `GLIBC_2.38' not found (required by ./tools/objtool/objtool)
make[3]: *** [scripts/Makefile.build:243: /tmp/selfgz255304/NVIDIA-Linux-x86_64-550.90.07/kernel/nvidia/nv-ibmnpu.o] Error 1
make[3]: *** Deleting file '/tmp/selfgz255304/NVIDIA-Linux-x86_64-550.90.07/kernel/nvidia/nv-ibmnpu.o'
./tools/objtool/objtool: /lib64/libc.so.6: version `GLIBC_2.38' not found (required by ./tools/objtool/objtool)
  CC [M] /tmp/selfgz255304/NVIDIA-Linux-x86_64-550.90.07/kernel/nvidia/libspdm_aead.o
make[3]: *** [scripts/Makefile.build:243: /tmp/selfgz255304/NVIDIA-Linux-x86_64-550.90.07/kernel/nvidia/nv-memdbg.o] Error 1
make[3]: *** Deleting file '/tmp/selfgz255304/NVIDIA-Linux-x86_64-550.90.07/kernel/nvidia/nv-memdbg.o'
  CC [M] /tmp/selfgz255304/NVIDIA-Linux-x86_64-550.90.07/kernel/nvidia/libspdm_ecc.o
./tools/objtool/objtool: /lib64/libc.so.6: version `GLIBC_2.38' not found (required by ./tools/objtool/objtool)
make[3]: *** [scripts/Makefile.build:243: /tmp/selfgz255304/NVIDIA-Linux-x86_64-550.90.07/kernel/nvidia/libspdm_ecc.o] Error 1
make[3]: *** Deleting file '/tmp/selfgz255304/NVIDIA-Linux-x86_64-550.90.07/kernel/nvidia/libspdm_ecc.o'
  CC [M] /tmp/selfgz255304/NVIDIA-Linux-x86_64-550.90.07/kernel/nvidia/libspdm_hkdf.o
/tmp/selfgz255304/NVIDIA-Linux-x86_64-550.90.07/kernel/nvidia/libspdm_aead.c:41:5: warning: no previous prototype for 'libspdm_aead_prealloc' [-Wmissing-prototypes]
   41 | int libspdm_aead_prealloc(void **context, char const *alg)
      | ^~~~~~~~~~~~~~~~~~~~~

Revision history for this message
Matthew Ruffell (mruffell) wrote :

Hi Pramod,

I downloaded the driver version you listed, 550.90.07 from the NVIDIA website:

https://www.nvidia.com/download/driverResults.aspx/226768/en-us/

This gave me NVIDIA-Linux-x86_64-550.90.07.run.

I managed to successfully install this to 6.8.0-31-generic, and 6.8.0-35-generic
without any issues. All I did was just:

$ sudo apt install build-essential
$ sudo ./NVIDIA-Linux-x86_64-550.90.07.run

I then tried the drivers we ship in the Ubuntu repositories:

$ sudo apt install nvidia-driver-550

and that worked on 6.8.0-31-generic too.

Sorry, I can't reproduce what your seeing. Is this a clean install of noble, or did you upgrade from jammy?

Do you have linux-headers-generic installed?

Thanks,
Matthew

Changed in linux (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.