Also using a Lenovo X1 7th generation. I can confirm that everything works using 5.3.0-20. I suspect that I've compared to Joel above me, taken a few extra steps: * Added snd_hda_intel and snd_soc_skl to /etc/modprobe/blacklist.conf * Added the alsa-ucm files from [1] to /usr/share/alsa/ucm/sof-skl_hda_card * Added this sof topology file [2] from a Lenovo employee to /usr/lib/firmware/intel/sof-tplg I have the following devices displayed using `arecord -l` card 0: sofsklhdacard [sof-skl_hda_card], device 0: HDA Analog (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofsklhdacard [sof-skl_hda_card], device 1: HDA Digital (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofsklhdacard [sof-skl_hda_card], device 6: DMIC32 (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofsklhdacard [sof-skl_hda_card], device 7: DMIC16 (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 In pulseaudio I have the following sources index: 4 name: driver: flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY state: SUSPENDED suspend cause: IDLE priority: 1030 volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB balance 0,00 base volume: 65536 / 100% / 0,00 dB volume steps: 65537 muted: no current latency: 0,00 ms max rewind: 0 KiB sample spec: s16le 2ch 48000Hz channel map: front-left,front-right Stereo used by: 0 linked by: 0 configured latency: 0,00 ms; range is 0,50 .. 341,00 ms monitor_of: 2 card: 2 module: 9 properties: device.description = "Monitor of Cannon Point-LP High Definition Audio Controller HDMI3/DP3 Output" device.class = "monitor" alsa.card = "0" alsa.card_name = "sof-skl_hda_card" alsa.long_card_name = "LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600" alsa.driver_name = "snd_soc_skl_hda_dsp" device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic" sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0" device.bus = "pci" device.vendor.id = "8086" device.vendor.name = "Intel Corporation" device.product.id = "9dc8" device.product.name = "Cannon Point-LP High Definition Audio Controller" device.string = "0" module-udev-detect.discovered = "1" device.icon_name = "audio-card-pci" index: 5 name: driver: flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY state: SUSPENDED suspend cause: IDLE priority: 1030 volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB balance 0,00 base volume: 65536 / 100% / 0,00 dB volume steps: 65537 muted: no current latency: 0,00 ms max rewind: 0 KiB sample spec: s16le 2ch 48000Hz channel map: front-left,front-right Stereo used by: 0 linked by: 0 configured latency: 0,00 ms; range is 0,50 .. 341,00 ms monitor_of: 3 card: 2 module: 9 properties: device.description = "Monitor of Cannon Point-LP High Definition Audio Controller HDMI2/DP2 Output" device.class = "monitor" alsa.card = "0" alsa.card_name = "sof-skl_hda_card" alsa.long_card_name = "LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600" alsa.driver_name = "snd_soc_skl_hda_dsp" device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic" sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0" device.bus = "pci" device.vendor.id = "8086" device.vendor.name = "Intel Corporation" device.product.id = "9dc8" device.product.name = "Cannon Point-LP High Definition Audio Controller" device.string = "0" module-udev-detect.discovered = "1" device.icon_name = "audio-card-pci" index: 6 name: driver: flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY state: SUSPENDED suspend cause: IDLE priority: 1030 volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB balance 0,00 base volume: 65536 / 100% / 0,00 dB volume steps: 65537 muted: no current latency: 0,00 ms max rewind: 0 KiB sample spec: s16le 2ch 48000Hz channel map: front-left,front-right Stereo used by: 0 linked by: 0 configured latency: 0,00 ms; range is 0,50 .. 341,00 ms monitor_of: 4 card: 2 module: 9 properties: device.description = "Monitor of Cannon Point-LP High Definition Audio Controller HDMI1/DP1 Output" device.class = "monitor" alsa.card = "0" alsa.card_name = "sof-skl_hda_card" alsa.long_card_name = "LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600" alsa.driver_name = "snd_soc_skl_hda_dsp" device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic" sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0" device.bus = "pci" device.vendor.id = "8086" device.vendor.name = "Intel Corporation" device.product.id = "9dc8" device.product.name = "Cannon Point-LP High Definition Audio Controller" device.string = "0" module-udev-detect.discovered = "1" device.icon_name = "audio-card-pci" index: 7 name: driver: flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY state: SUSPENDED suspend cause: IDLE priority: 1030 volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB balance 0,00 base volume: 65536 / 100% / 0,00 dB volume steps: 65537 muted: no current latency: 0,00 ms max rewind: 0 KiB sample spec: s16le 2ch 48000Hz channel map: front-left,front-right Stereo used by: 0 linked by: 0 configured latency: 0,00 ms; range is 0,50 .. 341,00 ms monitor_of: 5 card: 2 module: 9 properties: device.description = "Monitor of Cannon Point-LP High Definition Audio Controller Speaker + Headphone" device.class = "monitor" alsa.card = "0" alsa.card_name = "sof-skl_hda_card" alsa.long_card_name = "LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600" alsa.driver_name = "snd_soc_skl_hda_dsp" device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic" sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0" device.bus = "pci" device.vendor.id = "8086" device.vendor.name = "Intel Corporation" device.product.id = "9dc8" device.product.name = "Cannon Point-LP High Definition Audio Controller" device.string = "0" module-udev-detect.discovered = "1" device.icon_name = "audio-card-pci" * index: 8 name: driver: flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY state: SUSPENDED suspend cause: IDLE priority: 9030 volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB balance 0,00 base volume: 65536 / 100% / 0,00 dB volume steps: 65537 muted: no current latency: 0,00 ms max rewind: 0 KiB sample spec: s16le 2ch 48000Hz channel map: front-left,front-right Stereo used by: 0 linked by: 0 configured latency: 0,00 ms; range is 0,50 .. 341,00 ms card: 2 module: 9 properties: alsa.resolution_bits = "16" device.api = "alsa" device.class = "sound" alsa.class = "generic" alsa.subclass = "generic-mix" alsa.name = "" alsa.id = "DMIC32 (*)" alsa.subdevice = "0" alsa.subdevice_name = "subdevice #0" alsa.device = "6" alsa.card = "0" alsa.card_name = "sof-skl_hda_card" alsa.long_card_name = "LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600" alsa.driver_name = "snd_soc_skl_hda_dsp" device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic" sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0" device.bus = "pci" device.vendor.id = "8086" device.vendor.name = "Intel Corporation" device.product.id = "9dc8" device.product.name = "Cannon Point-LP High Definition Audio Controller" device.string = "hw:0,6" device.buffering.buffer_size = "65472" device.buffering.fragment_size = "16320" device.access_mode = "mmap+timer" device.profile.name = "HiFi: hw:0,6: source" device.profile.description = "DMIC Stereo" device.description = "Cannon Point-LP High Definition Audio Controller DMIC Stereo" module-udev-detect.discovered = "1" device.icon_name = "audio-card-pci" ports: [In] Dmic: DMIC Stereo (priority 100, latency offset 0 usec, available: unknown) properties: active port: <[In] Dmic> index: 9 name: driver: flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY state: SUSPENDED suspend cause: IDLE priority: 9030 volume: front-left: 61681 / 94% / -1,58 dB, front-right: 61681 / 94% / -1,58 dB balance 0,00 base volume: 65536 / 100% / 0,00 dB volume steps: 65537 muted: no current latency: 0,00 ms max rewind: 0 KiB sample spec: s16le 2ch 48000Hz channel map: front-left,front-right Stereo used by: 0 linked by: 0 configured latency: 0,00 ms; range is 0,50 .. 341,00 ms card: 2 module: 9 properties: alsa.resolution_bits = "16" device.api = "alsa" device.class = "sound" alsa.class = "generic" alsa.subclass = "generic-mix" alsa.name = "" alsa.id = "HDA Analog (*)" alsa.subdevice = "0" alsa.subdevice_name = "subdevice #0" alsa.device = "0" alsa.card = "0" alsa.card_name = "sof-skl_hda_card" alsa.long_card_name = "LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600" alsa.driver_name = "snd_soc_skl_hda_dsp" device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic" sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0" device.bus = "pci" device.vendor.id = "8086" device.vendor.name = "Intel Corporation" device.product.id = "9dc8" device.product.name = "Cannon Point-LP High Definition Audio Controller" device.string = "hw:0,0" device.buffering.buffer_size = "65472" device.buffering.fragment_size = "16320" device.access_mode = "mmap+timer" device.profile.name = "HiFi: hw:0,0: source" device.profile.description = "Headset Mic" device.description = "Cannon Point-LP High Definition Audio Controller Headset Mic" module-udev-detect.discovered = "1" device.icon_name = "audio-card-pci" ports: [In] Headset: Headset Mic (priority 300, latency offset 0 usec, available: no) properties: active port: <[In] Headset> index: 10 name: driver: flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY state: SUSPENDED suspend cause: IDLE priority: 9030 volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB balance 0,00 base volume: 65536 / 100% / 0,00 dB volume steps: 65537 muted: no current latency: 0,00 ms max rewind: 0 KiB sample spec: s16le 2ch 16000Hz channel map: front-left,front-right Stereo used by: 0 linked by: 0 configured latency: 0,00 ms; range is 0,50 .. 1023,00 ms module: 26 properties: alsa.resolution_bits = "16" device.api = "alsa" device.class = "sound" alsa.class = "generic" alsa.subclass = "generic-mix" alsa.name = "" alsa.id = "DMIC16 (*)" alsa.subdevice = "0" alsa.subdevice_name = "subdevice #0" alsa.device = "7" alsa.card = "0" alsa.card_name = "sof-skl_hda_card" alsa.long_card_name = "LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600" alsa.driver_name = "snd_soc_skl_hda_dsp" device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic" sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0" device.bus = "pci" device.vendor.id = "8086" device.vendor.name = "Intel Corporation" device.product.id = "9dc8" device.product.name = "Cannon Point-LP High Definition Audio Controller" device.string = "hw:0,7" device.buffering.buffer_size = "65472" device.buffering.fragment_size = "16320" device.access_mode = "mmap+timer" device.description = "Cannon Point-LP High Definition Audio Controller" device.icon_name = "audio-input-microphone-pci" I need to select in Pulseaudio the `DMIC stereo` input to get working microphone. I did have to boost most of the channels in alsamixer record to get acceptable recording level. If I select the "Cannon Point-LP High Definition Audio Controller" I get nothing. I can also list all pulseaudio sinks and alsa playback devices if you like. Notably all HDMI/DP channels show up. So once again, both playback and the DMIC work with the 5.3.0-20. But only if you manual update the ALSA-ucm files, blacklist the modules. It could be that the Lenovo provided topology file is not required. [1] https://github.com/alsa-project/alsa-ucm-conf/tree/master/ucm/sof-skl_hda_card [2] https://forums.lenovo.com/t5/Ubuntu/Guide-X1-Carbon-7th-Generation-Ubuntu-compatability/m-p/4507050/highlight/true#M2873