ACPI Type Mismatch


#1

In output of dmesg, I find:

ACPI Warning: \134_SB.PCI0.RP01.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20170303/nsarguments-205)

  1. What does it mean?
  2. How serious is this?

#2

Can it be that You need to install the package mentioned above to get rid of the annoying message?


#3

The last graphics-related data immediately preceding within dmesg-output is:

nvidia0: <GeForce GT 120> on vgapci0
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: attempting to allocate 1 MSI vectors (1 supported)
msi: routing MSI IRQ 264 to local APIC 1 vector 51
vgapci0: using IRQ 264 for MSI
vgapci0: child nvidia0 requested pci_enable_io

I suspect, the ACPI warning talks about the argument type
of the 4th argument to ‘pci_enable_io’ request function.
Presumably, the kernel developers could have made a data type error. Because of ‘Buffer’. But the/a data type ‘Package’ is unknown to me. Therefore, I asked this question. Maybe it’s something ACPI Machine Language specific. Don’t know.

Otherwise, it could mean that my machine hardware’s firmware is faulty. Don’t know, either.


#4

Which driver are you using? I remember a similar problem. Switching to the legacy driver (304?) solved it for me.


#5

Nvidia has 3 different driver packages, specific to the hardware. Search here for threads that talk about how to determine your driver version and install it.

The “about” command gives a good snapshot of a system, it lets people help without trying to guess. For example, what graphics devices are installed, what X driver is being used are important in trying to help.
Some other questions that are often important:
Laptop or desktop? What brand/model?
UEFI or Legacy/BIOS boot?


#6

Kernel-Data about the state of installed driver:

~% sysctl -a | grep -Ei 'hw\.nvidia|nvidia0|nvidia-|nvidia\.0' | sort
<118> * Unable to load kernel module nvidia-modeset
<118>kldload: can't load nvidia-modeset: 
dev.nvidia.0.%desc: GeForce GT 120
dev.nvidia.0.%driver: nvidia
dev.nvidia.0.%location: 
dev.nvidia.0.%parent: vgapci0
dev.nvidia.0.%pnpinfo: 
hw.nvidia.gpus.0.irq: 264
hw.nvidia.gpus.0.model: GeForce GT 120
hw.nvidia.gpus.0.type: PCIe
hw.nvidia.gpus.0.uuid: GPU-3c1aa8e6-96de-b972-4677-9a569e798062
hw.nvidia.gpus.0.vbios: 62.94.74.00.06
hw.nvidia.registry.CheckPCIConfigSpace: 4294967295
hw.nvidia.registry.DeviceFileGID: 0
hw.nvidia.registry.DeviceFileMode: 438
hw.nvidia.registry.DeviceFileUID: 0
hw.nvidia.registry.dwords: 
hw.nvidia.registry.EnableMSI: 1
hw.nvidia.registry.EnablePCIeGen3: 0
hw.nvidia.registry.InitializeSystemMemoryAllocations: 1
hw.nvidia.registry.MapRegistersEarly: 0
hw.nvidia.registry.MemoryPoolSize: 0
hw.nvidia.registry.Mobile: 4294967295
hw.nvidia.registry.ModifyDeviceFiles: 1
hw.nvidia.registry.RegisterForACPIEvents: 1
hw.nvidia.registry.RemapLimit: 0
hw.nvidia.registry.ResmanDebugLevel: 4294967295
hw.nvidia.registry.RmLogonRC: 1
hw.nvidia.registry.UpdateMemoryTypes: 4294967295
hw.nvidia.registry.UsePageAttributeTable: 4294967295
hw.nvidia.version: NVIDIA UNIX x86_64 Kernel Module  340.102  Mon Jan 16 13:06:29 PST 2017
nvidia0: <GeForce GT 120> on vgapci0
random: harvesting attach, 8 bytes (4 bits) from nvidia0
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: child nvidia0 requested pci_enable_io

The “340” is the correct version according to nVidia’s driverinfo-webpage.

Why ‘nvidia-modeset’ can’t be loaded, I don’t know, as yet.

Any further suggestions?


#7

Agreed that 340 is the correct version. Is there anything in dmesg about nvidia-modeset?
kldstat output?


#8

What I found out:

This warning appears in Linux and macOS, too.
Nothing can be done about it, because it is caused by nVidia proprietary software.

Best explanation found: