ACPI Type Mismatch


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?


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


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.


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


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?


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.%parent: vgapci0
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.registry.CheckPCIConfigSpace: 4294967295
hw.nvidia.registry.DeviceFileGID: 0
hw.nvidia.registry.DeviceFileMode: 438
hw.nvidia.registry.DeviceFileUID: 0
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?


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


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: