Hi all,
I am using the "stock" kernel with my Garuda Linux Cinnamon edition (linux-tkg-bmq)
The kernel I want to switch to is the tkg-pds-skylake kernel. While it seemingly installs just fine, when I reboot I get a black screen. The issue is seemingly related to my nvidia driver as I have a GTX 2060 and I am using the official nvidia drivers (460.32.03).
I switched back to the previous kernel and checked the Garuda Settings Manager details when applying the new kernel and here is the output: https://bin.garudalinux.org/?f3b2734555b46682#BZKXgEnCBQ6CYJ6GfidvgCn7WHvRE69dZvtxvQ7kWwtb
The part that is relevant (I think) is this section:
[...]
Optional dependencies for linux-tkg-pds-skylake-headers
schedtool [installed]
:: Running post-transaction hooks...
( 1/11) Arming ConditionNeedsUpdate...
( 2/11) Updating module dependencies...
( 3/11) Install DKMS modules
==> dkms install --no-depmod -m vmware-workstation -v 16.1.0_17198959 -k 5.10.7-111-tkg-pds
Error! Bad return status for module build on kernel: 5.10.7-111-tkg-pds (x86_64)
Consult /var/lib/dkms/vmware-workstation/16.1.0_17198959/build/make.log for more information.
==> Warning, `dkms install --no-depmod -m vmware-workstation -v 16.1.0_17198959 -k 5.10.7-111-tkg-pds' returned 10
==> dkms install --no-depmod -m vboxhost -v 6.1.16_OSE -k 5.10.7-111-tkg-pds
Error! Bad return status for module build on kernel: 5.10.7-111-tkg-pds (x86_64)
Consult /var/lib/dkms/vboxhost/6.1.16_OSE/build/make.log for more information.
==> Warning, `dkms install --no-depmod -m vboxhost -v 6.1.16_OSE -k 5.10.7-111-tkg-pds' returned 10
**==> dkms install --no-depmod -m nvidia -v 460.32.03 -k 5.10.7-111-tkg-pds**
**Error! Bad return status for module build on kernel: 5.10.7-111-tkg-pds (x86_64)**
**Consult /var/lib/dkms/nvidia/460.32.03/build/make.log for more information**.
==> Warning, `dkms install --no-depmod -m nvidia -v 460.32.03 -k 5.10.7-111-tkg-pds' returned 10
==> depmod 5.10.7-111-tkg-pds
[...]
While I can see that nvidia isn't the only affected module, I focused on the path referenced and checked the make.log:
DKMS make.log for nvidia-460.32.03 for kernel 5.10.7-111-tkg-pds (x86_64)
*Mon Jan 25 11:30:46 GMT 2021*
*make[1]: Entering directory '/usr/lib/modules/5.10.7-111-tkg-pds/build'*
*make[1]: cc: No such file or directory*
*make[1]: make: No such file or directory*
*make[1]: *** [Makefile:1805: /var/lib/dkms/nvidia/460.32.03/build] Error 127*
*make[1]: Leaving directory '/usr/lib/modules/5.10.7-111-tkg-pds/build'*
*make: *** [Makefile:80: modules] Error 2*
The error makes sense as the path "/usr/lib/modules/5.10.7-111-tkg-pds/" does not exist.
Although what I'm gonna say will not help "fixing" this exact issue, it may help understanding it better.
Are you able to try another kernel? Any other, or another version as close as possible as skylake?
My idea here is to ensure that you can move to another kernel without issue and just this one is causing the issue... or maybe they are all causing the issue. That's the point I'm trying to make.
I also checked the location "/usr/lib/modules/5.10.7-111-tkg-bmq/build" and while it does exist I am not sure what dkms is looking for.
My theory is that it involves the actual makefile but I have no idea what I am looking for in this case. Any thoughts or ideas would be appreciated. Thanks again.
This really confirms it has nothing to do with the chosen kernel but something else is causing this.
I hope these additional info will guide the kernel gurus here for the next steps to look at.
Pretty much, yeah. What I get in the Kernel KCM is 5.10.6 - 5.10.7 for tkg kernels with some in 5.10.8 and 5.10.10 for the regular linux and zen kernels.
Apologies for my late reply.
I did check earlier if make and cc where in the $PATH and they were:
/usr/bin/make
/usr/bin/cc
The dkms.conf for nvidia is as follows:
> PACKAGE_NAME="nvidia"
> PACKAGE_VERSION="460.32.03"
> AUTOINSTALL="yes"
>
> # By default, DKMS will add KERNELRELEASE to the make command line; however,
> # this will cause the kernel module build to infer that it was invoked via
> # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting
> # the 'make' command name to suppress this behavior.
> MAKE[0]="'make' -j`nproc` IGNORE_PREEMPT_RT_PRESENCE=1 NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} IGNORE_CC_MISMATCH='__IGNORE_CC_MISMATCH' modules"
>
> # The list of kernel modules will be generated by nvidia-installer at runtime.
> BUILT_MODULE_NAME[0]="nvidia"
> DEST_MODULE_LOCATION[0]="/kernel/drivers/video"
> BUILT_MODULE_NAME[1]="nvidia-uvm"
> DEST_MODULE_LOCATION[1]="/kernel/drivers/video"
> BUILT_MODULE_NAME[2]="nvidia-modeset"
> DEST_MODULE_LOCATION[2]="/kernel/drivers/video"
> BUILT_MODULE_NAME[3]="nvidia-drm"
> DEST_MODULE_LOCATION[3]="/kernel/drivers/video"
I don't have the dkms.conf for the tkg-pds. Where can I find this, then I can post it here. Thanks.