On Sun, 29 Jan 2017 06:27:29 +0100, John Frankish wrote:
For two or three kernel versions of alsa divers now, HDMI has been the default alsa device on my laptop (Dell Latitude E7240) - this does not make logical sense.
In the latest kernel version I use, 4.2.9, alsa sound will not work at all unless I load the i915 kernel driver
- this does not make logical sense and means that I cannot use Xvesa.
Is it possible to make an alsa feature request for analogue sound to be the default alsa device on laptops and for alsa sound to work without the need to load the i915 kernel driver?
It's a configuration issue. Pass the module option if you prefer the secondary device:
options snd-hda-intel index=1,0
Sure, I realise I can do that, but it's not the point and it's awkward to do so with the "live CD-type" distro I use (tinycorelinux).
Laptop sound should work in standalone mode by default - i.e. if laptop uses analogue sound for its built-in speakers then the alsa default should be analogue sound.
The above notwithstanding, analogue sound should work without needing to load the i915 kernel driver.
For a smart automation, use PulseAudio. It's exactly for such a purpose.
The kernel driver assigns each device just in the order how they are enumerated. In the case of HD-audio, it's the order of PCI devices. It's nothing different from any other PCI drivers.
OK, but I should not have to add bloat like pulseaudio in order to have basic sound functionality.
For getting the basic sound functionality, you have to set up something. You're asking the high-level automation, hence you need something like PA.
Of course, you're free to reimplement a wheel if you don't like PA. A similar thing can be achieved just by delaying the sound driver module loading at udev level, or dynamically evaluating the priority per PCI ID, at udev and assigning the index appropriately there. (Just an idea, though.)
You also don't mention why I should have to load a graphics driver (i915) in order to get analogue sound? That makes no sense at all...
The lack of i915 influences on the index assignment since the HDMI codec driver probe fails without i915. It's the reason why the secondary HD-audio codec appears as the first, eventually it's the analog audio output in your case.
Takashi