nvidia driver source

Hi all,

Are Chakra’s nvidia drivers a carbon copy of Arch? I’m trying to decide
where to go for help with an apparent driver bug.

Chakra originally came from Arch, and a lot of the system layout is still the same. But even if Chakra packages Nvidia’s drivers identically to Arch, the release cycle is different. In particular, if the apparent bug has already been fixed, then the updated version is likely already in Arch, but may take up to half a year to reach Chakra.

It’s probably best to post the apparent bug’s details here, then someone who understands it better can help you figure out where the problem is.

2 Likes

Ah, I sent that as an email but it was opened as a forum thread. That is a cool feature. I was going to open a thread with the details, but I’ll just reply here. Below is the hwinfo template; the affected computer is a Dell Precision M4800 with a nVidia Quadro K2100M

Hardware information
cpu:                                                            
                       Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz, 3208 MHz
                       Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz, 3033 MHz
                       Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz, 3171 MHz
                       Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz, 3100 MHz
                       Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz, 2961 MHz
                       Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz, 3016 MHz
                       Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz, 2975 MHz
                       Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz, 3053 MHz
keyboard:
                       Logitech USB Receiver
  /dev/input/event5    AT Translated Set 2 keyboard
mouse:
                       Logitech USB Receiver
  /dev/input/mice      AlpsPS/2 ALPS DualPoint Stick
  /dev/input/mice      AlpsPS/2 ALPS DualPoint TouchPad
chipcard:
                       Broadcom 5880
monitor:
                       Generic Monitor
graphics card:
                       nVidia VGA compatible controller
sound:
                       Intel Audio device
                       nVidia Audio device
storage:
                       Intel SATA controller
network:
  wlp3s0               Intel WLAN controller
  eno1                 Intel Ethernet controller
network interface:
  eno1                 Ethernet network interface
  lo                   Loopback network interface
  wlp3s0               Ethernet network interface
disk:
  /dev/sdb             HGST HTS541010A9
  /dev/sda             Samsung SSD 840
partition:
  /dev/sdb1            Partition
  /dev/sdb2            Partition
  /dev/sda1            Partition
  /dev/sda2            Partition
  /dev/sda3            Partition
  /dev/sda4            Partition
  /dev/sda5            Partition
usb controller:
                       Intel USB Controller
                       Intel USB Controller
                       Intel USB Controller
bios:
                       BIOS
bridge:
                       Intel PCI bridge
                       Intel ISA bridge
                       Intel PCI bridge
                       Intel PCI bridge
                       Intel PCI bridge
                       Intel Host bridge
                       Intel PCI bridge
                       Intel PCI bridge
                       Intel PCI bridge
hub:
                       Hub
                       Linux 4.19.12-2-CHAKRA xhci-hcd xHCI Host Controller
                       Linux 4.19.12-2-CHAKRA xhci-hcd xHCI Host Controller
                       Linux 4.19.12-2-CHAKRA ehci_hcd EHCI Host Controller
                       Hub
                       Linux 4.19.12-2-CHAKRA ehci_hcd EHCI Host Controller
memory:
                       Main Memory
bluetooth:
                       Bluetooth Device
unknown:
                       FPU
                       DMA controller
                       PIC
                       Keyboard controller
                       Intel Communication controller
                       Intel SMBus
                       O2 Micro SD Host controller
                       Broadcom 5880
  /dev/input/event15   Microdia Laptop_Integrated_Webcam_HD
                       Logitech USB Receiver

After a kernel and driver update, I have no audio out over DisplayPort. An issue does apply to this laptop described in the Arch wiki:
https://wiki.archlinux.org/index.php/NVIDIA/Troubleshooting#No_audio_over_HDMI
This affects the HDMI port and not the DP; it is solved as linked in the wiki by adding
load-module module-alsa-sink device=hw:1,3
to /etc/pulse/default.pa
The DP can have audio sent over it with aplay -D plughw:1,7 /usr/share/sounds/alsa/Front_Right.wav and previously worked. My system does not use switchable graphics / Bumblebee (the nVidia card is always on, Intel integrated video always disabled) but I did try the steps referenced regarding setpci -s 01:00.0 0x488.l=0x2000000:0x2000000
This actually doesn’t do anything as the function is already set on my system by the firmware:
[root@dude ~]# setpci -s 01:00.0 0x488.l
02000000

The DP audio stopped working on these package upgrades:
local/linux 5.1.9.arch1-1 (base)
The Linux kernel and modules
local/nvidia 430.26-2
NVIDIA drivers for linux
local/nvidia-utils 430.26-1
NVIDIA drivers utilities

In order to get it working again, I downgraded with this command:
pacman -U /var/cache/pacman/pkg/linux-4.19.12-2-x86_64.pkg.tar.xz /var/cache/pacman/pkg/linux-headers-4.19.12-1-x86_64.pkg.tar.xz /var/cache/pacman/pkg/nvidia-410.78-3-x86_64.pkg.tar.xz /var/cache/pacman/pkg/nvidia-utils-410.78-4-x86_64.pkg.tar.xz /var/cache/pacman/pkg/acpi_call-1.1.0-57-x86_64.pkg.tar.xz --overwrite /usr/share/egl/egl_external_platform.d/10_nvidia_wayland.json --overwrite /usr/lib/libnvidia-egl-wayland.so --overwrite /usr/lib/libnvidia-egl-wayland.so.1

I tried installing Arch vanilla, and it worked. I’ve attached the dmesg output from the Arch install, as well as the pacman.log for my Chakra install. I don’t have any customized repos or pacman.conf or AUR. I’ll see about getting a dmesg for working and broken Chakra but I’m not seeing any hints myself that it would be helpful - I could not find any errors printed on attempt to play sound, it just fails silently.
dmesg_arch.txt (92.5 KB)
pacman.log (615.0 KB)

have you installed the arch kernel?
don’t forget drivers must be compiled against a kernel in our case linux-4.19, if not it will not work because every kernel have a own modules directory in /usr/lib/module.

[tom@frija ~]$ ls /usr/lib/modules
4.19.26-1-CHAKRA/        extramodules-CHAKRA/

Ah, I’m sorry, I misread my notes. The package linux 5.1.9.arch1-1 was the working kernel for the Arch installation, the others are the package versions on Arch. On cross-referencing my pacman.log, the problem happened after this point:
[2019-03-19 20:45] [ALPM] upgraded linux (4.19.12-2 -> 4.19.26-1)
[2019-03-19 20:46] [ALPM] upgraded nvidia (410.78-3 -> 418.43-2)

It would’ve been related to one of the packages installed 2019-05-26; unfortunately this is a huge list of packages. But, it was “fixed” here
[2019-06-05 03:37] [ALPM] downgraded linux (4.19.26-1 -> 4.19.12-2)
[2019-06-05 03:37] [ALPM] installed nvidia (410.78-3)

I haven’t copied any Arch packages into my Chakra install.
I do recognize that the nvidia drivers must be built against the kernel, but I haven’t done anything with the build process - just let whatever pacman -Syu installs go.
I’m at quite a loss, as going off the log timings the kernel and nvidia driver updates did not cause the problem by themselves, but the downgrade does offer a suitable workaround.

dmesg attachments follow; 2 per post due to limits
chakra with no audio, and chakra with audio. The line “IRQ timing workaround is activated for card #1” is at the time I played a file over the DisplayPort with aplay.
chakra_broke.txt (70.6 KB)
chakra_working.txt (70.7 KB)

dmesg from the Arch installation that works:
dmesg_arch.txt (85.7 KB)
I found a method to diff the two chakra dmesg outputs, but it did not reveal anything I could use:
dmesg_diff.txt (28.3 KB)

have you tried to reinstall the driver package with linux-4.19.26?

I’m not sure what you mean. I tried these steps:
upgrade to linux-4.19.26-1 and nvidia-418.43-2
(reboot, displayport audio broke)
reinstall nvidia package with:
pacman -U /var/cache/pacman/pkg/nvidia-418.43-2-x86_64.pkg.tar.xz
(reboot, displayport audio still broken)
Was this supposed to do anything?

yes, this was my idea.
i think you should make a bug report

This is just a guess, but have you tried disabling HardDPMS in your xorg.conf.d?

This is what I got from searching your ArchWiki link for “displayport”. Driver 415 is in between the working (410) and broken (418) versions. Maybe it’s default in 418 and that somehow and broke audio?

https://wiki.archlinux.org/index.php/NVIDIA/Troubleshooting#Driver_415:_HardDPMS

Note: I’m not great with xorg.conf files. You might or might not need Identifier and other lines in each section.

Thanks for your research, but the documentation indicates it’s in no way linked to audio:

  • Added a new X configuration option “HardDPMS” which is disabled by default, but can be enabled to put displays to sleep with modesets rather than VESA DPMS. This may fix some displays that fail to sleep when DPMS becomes active. “HardDPMS” will be enabled by default in a future release.

And I’m not enthusiastic enough to write an xorg.conf for such a vanishingly slim chance of success. In any case, DPMS already works perfectly on this machine as far as I can tell.