What I want is something that checks all hardware actually supported
by the kernel in use without taking into consideration if I am using
that hardware or not.
If you have the .config
file the kernel was built with, you can download the source and run make menuconfig
, which will give you an idea of A) what hardware it is possible to configure a kernel for (but see NOTE), and B) what hardware your kernel is actually configured for.
So to do this:
- Download the source. Your distro may have a package, or you can get them from kernel.org; find your version with
uname -r
.
- Find the
.config
used for your kernel. If you got the source via your distro, it will hopefully be included; you may also be able to find it somewhere in /boot. Even better: often now distro kernels are built with the /proc/config.gz
feature. If it exists, copy that out, ungzip it, rename the file .config
and copy it into the top level of the kernel source tree.
- Run
make menuconfig
from inside the top level of the source tree. You will need the ncurses development package installed (ncurses-dev
or ncurses-devel
) and you need to be root.
You can't do anything bad while using menuconfig beyond change the contents of the .config
file, which won't matter (just don't confuse yourself with it later).
NOTE: You can't actually see all the possible hardware configurations at the same time, since different options may appear in one place based on what has been selected some other place. Kernel configuration is a bit of a labyrinth. However, you will definitely see everything that is actually selected (M
means it is a module, *
means it is built in).
I just managed to configure exactly this thanks to the instructions in the ArchLinux wiki :
Set the one sink - HDMI - in pavucontrol/Configuration, and the other - analog output - you specify in default.pa
:
load-module module-alsa-sink device=hw:0,0
load-module module-combine-sink sink_name=combined
set-default-sink combined
Maybe you were missing the last two lines?
Addendum: This is OK to add the analog output to HDMI, but what if you want it the other way around? (I want to keep analog input, Pulse calls that "duplex"...) Unfortunately, load-module module-alsa-sink device=hw:0,3
did not work to add HDMI output to Pulse's "Analog Stereo Duplex" configuration. Pulse would start, but no HDMI output.
I compared the output of pacmd list-sinks
in the two situations. When I added device=hw:0,3
, that one would show up without ports. When HDMI output was chosen in pavucontrol, there would be ports. Looking at the output details, I came up with device=hdmi:0.
Choose "Analog Stereo Duplex" as your pavucontrol configuration, and add to default.pa
:
load-module module-alsa-sink device=hdmi:0
load-module module-combine-sink sink_name=combined
set-default-sink combined
Works like a charm. I keep my microphone input, and on pavucontrol/Output Devices I have all options for analog output and for HDMI.
Best Answer
According to Wikipedia article, Intel HDA has sample rates of 6–192 kHz and sample resolutions of 8–32 bits, though manufacturers may have not implemented the full specification, so it is good idea to test using
after changing the configuration.