I'm currently having issues working with NVIDIA drivers on my laptop running linux, and one of the kernel modules I needed was bbswitch but it seems as if the project hasn't been updated in several years. The code looks simple enough, so I'm attempting to write my own kernel module.

It seems like I need to understand how ACPI works if I want to do this. My first question is how do I print out the ACPI table? Also, I was wondering if there were any documentation on the linux/acpi.h library.


You can use acpidump:

$ sudo apt install acpidump
$ man acpidump

It creates a lot of output, so perhaps best viewed with less:

$ acpidump | wc -l
$ acpidump | less

I am not familiar with bbswitch, so I don't know how many details you'll need.

While acpidump will dump the tables, it's better to dump them in binary format (acpidump -b, produces various files) and then use iasl to decompile them.

The ACPI standard is quite complex, details can be found here or here. You may have to do quite a bit of reading.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.