[Jackaudio] Can't start with laptop speakers on Thinkpad Carbon X1 7th Gen and Ubuntu 20.04

Julien Tekeyan tekeyan.julien at wanadoo.fr
Wed Sep 16 01:30:00 CEST 2020


Dear All,
Under Catalina, Macbook pro 16” 2019 ...
I need to patch with qJack ctl :
-Ableton live
- sooper looper

I really don’t find (as before with JackPilot) all the jack Client. !!



Julien Tekeyan
Musicien / compositeur/ Arrangeur
+33608742899
tekeyan.julien at wanadoo.fr
129, rue de Clignancourt
75018 Paris

> Le 13 sept. 2020 à 08:42, Dan Zink <sludgefree at gmail.com> a écrit :
> 
> 
> Hello again,
> I've got a solution. The period that this driver uses is an EXTREMELY non-standard 1008 samples.
> 
> I discovered this by making a dummy jackd server and adding the card manually via alsa_in:
> 
> [19:36:16]daniel at daniel-ThinkPad-X1-Carbon-7th:~>
> $alsa_in -d hw:CARD=sofhdadsp,DEV=0 -r 48000
> WARNING: buffer size does not match: (requested 2048, got 2040)
> WARNING: period size does not match: (requested 1024, got 1008)
> selected sample format: 32bit
> delay = 4208
> delay = 1022
> 
> Anyway, the solution here is to use a period of 1008. This can be assigned in qjackctl by typing it in instead of using the dropdown, or via cli with the `--period 1008` option.
> 
> Some audio applications will need additional config. For example, supercollider requires a 2^n block size that is a factor of the sample rate. This can be achieved by executing `s.options.blockSize = 16;` before booting the server.
> 
> Other than the bizarre period, most of the defaults work quite well. Obviously this can be tuned, but at a bare minimum, jackd can be successfully started on my machine via:
> 
> [02:37:47]daniel at daniel-ThinkPad-X1-Carbon-7th:/usr/lib/firmware/intel/sof-tplg>
> $jackd -d alsa --period 1008
> 
> 
>> On Sat, Sep 12, 2020 at 7:45 PM Dan Zink <sludgefree at gmail.com> wrote:
>> Hi all,
>> 
>> I made some headway on this, I was able to start Jack, but... this is the weirdest thing I've ever seen with hardware audio:
>> 
>> I had to make the period size 1008 samples - not 1024, etc. 
>> 
>> I discovered this number by running Jack starting with the dummy server, like: `jackd -d dummy` and then adding the alsa_in device, like: `alsa_in -d hw:CARD=sofhdadsp,DEV=0 -r 48000`
>> 
>> alsa_in -d hw:CARD=sofhdadsp,DEV=0 -r 48000
>> WARNING: buffer size does not match: (requested 2048, got 2040)
>> WARNING: period size does not match: (requested 1024, got 1008)
>> selected sample format: 32bit
>> delay = 4208
>> 
>> So starting up jackd like: `jackd -d alsa --period=1008` boots, but the sound is horrible from SuperCollider.
>> 
>> Is there any way to update my sound card to use a more standard period size? Or am I out of luck here? That buffer size is also very... unusual.
>> 
>> 
>>> On Mon, Sep 7, 2020 at 5:10 PM Dan Zink <sludgefree at gmail.com> wrote:
>>> Hello all,
>>> 
>>> Sometimes I want to use jackd with the laptop speakers or headphones, instead of my audio interface. I can't get it to start on my new laptop (using the audio interface works perfectly, thanks community :) ).
>>> 
>>> I've successfully and mostly painlessly gotten jackd working on a few different machines, but this one has me stumped. I'm going to try to document as much as I can here so please forgive me if I miss something.
>>> 
>>> 
>>> I'm using this version of jackd
>>> 
>>> $jackd -V
>>> jackdmp version 1.9.12 tmpdir /dev/shm protocol 8
>>> 
>>> 
>>> 
>>> and this version of Ubuntu:
>>> 
>>> $uname -a
>>> Linux daniel-ThinkPad-X1-Carbon-7th 5.4.0-45-generic #49-Ubuntu SMP Wed Aug 26 13:38:52 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
>>> 
>>> 
>>> 
>>> Starting up selecting the first device under `aplay` throws this error (using -R instead of -r doesn't seem to affect very much):
>>> 
>>> $jackd --verbose -r -P 80 -d alsa -d hw:sofhdadsp,0
>>> jackdmp 1.9.12
>>> Copyright 2001-2005 Paul Davis and others.
>>> Copyright 2004-2016 Grame.
>>> Copyright 2016-2017 Filipe Coelho.
>>> jackdmp comes with ABSOLUTELY NO WARRANTY
>>> This is free software, and you are welcome to redistribute it
>>> under certain conditions; see the file COPYING for details
>>> no message buffer overruns
>>> no message buffer overruns
>>> no message buffer overruns
>>> JACK server starting in non-realtime mode
>>> self-connect-mode is "Don't restrict self connect requests"
>>> Jack: JackPosixThread::StartImp : create non RT thread
>>> Jack: JackPosixThread::ThreadHandler : start
>>> Jack: playback device hw:sofhdadsp,0
>>> Jack: capture device hw:sofhdadsp,0
>>> Jack: JackDriver::Open capture_driver_name = hw:sofhdadsp,0
>>> Jack: JackDriver::Open playback_driver_name = hw:sofhdadsp,0
>>> Jack: Check protocol client = 8 server = 8
>>> Jack: JackEngine::ClientInternalOpen: name = system
>>> Jack: JackEngine::AllocateRefNum ref = 0
>>> Jack: JackLinuxFutex::Allocate name = jack_sem.1000_default_system val = 0
>>> Jack: JackEngine::NotifyAddClient: name = system
>>> Jack: JackGraphManager::SetBufferSize size = 1024
>>> Jack: JackConnectionManager::DirectConnect first: ref1 = 0 ref2 = 0
>>> Jack: JackGraphManager::ConnectRefNum cur_index = 0 ref1 = 0 ref2 = 0
>>> Jack: JackDriver::SetupDriverSync driver sem in flush mode
>>> audio_reservation_init
>>> Acquire audio card Audio0
>>> creating alsa driver ... hw:sofhdadsp,0|hw:sofhdadsp,0|1024|2|48000|0|0|nomon|swmeter|-|32bit
>>> configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
>>> ALSA: final selected sample format for capture: 32bit integer little-endian
>>> ALSA: cannot set period size to 1024 frames for capture
>>> ALSA: cannot configure capture channel
>>> Jack: JackDriver::Close
>>> Jack: JackConnectionManager::DirectDisconnect last: ref1 = 0 ref2 = 0
>>> Jack: JackGraphManager::DisconnectRefNum cur_index = 0 ref1 = 0 ref2 = 0
>>> Jack: JackEngine::ClientInternalClose ref = 0
>>> Jack: JackEngine::ClientCloseAux ref = 0
>>> Jack: JackGraphManager::RemoveAllPorts ref = 0
>>> Released audio card Audio0
>>> audio_reservation_finish
>>> Jack: ~JackDriver
>>> Cannot initialize driver
>>> Jack: no message buffer overruns
>>> Jack: JackPosixThread::Stop
>>> Jack: JackPosixThread::ThreadHandler : exit
>>> JackServer::Open failed with -1
>>> Jack: Succeeded in unlocking 82280346 byte memory area
>>> Jack: JackShmMem::delete size = 0 index = 0
>>> Jack: ~JackDriver
>>> Jack: Succeeded in unlocking 1187 byte memory area
>>> Jack: JackShmMem::delete size = 0 index = 1
>>> Jack: Cleaning up shared memory
>>> Jack: Cleaning up files
>>> Jack: Unregistering server `default'
>>> Failed to open server
>>> 
>>> 
>>> 
>>> Using a dummy server succeeds:
>>> 
>>> $jackd -r -P 80 -d dummy
>>> jackdmp 1.9.12
>>> Copyright 2001-2005 Paul Davis and others.
>>> Copyright 2004-2016 Grame.
>>> Copyright 2016-2017 Filipe Coelho.
>>> jackdmp comes with ABSOLUTELY NO WARRANTY
>>> This is free software, and you are welcome to redistribute it
>>> under certain conditions; see the file COPYING for details
>>> no message buffer overruns
>>> no message buffer overruns
>>> no message buffer overruns
>>> JACK server starting in non-realtime mode
>>> self-connect-mode is "Don't restrict self connect requests"
>>> 
>>> 
>>> 
>>> When I list my devices (with the interface unplugged), with aplay -l I get: 
>>> 
>>> $aplay -l
>>> **** List of PLAYBACK Hardware Devices ****
>>> card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
>>>   Subdevices: 0/1
>>>   Subdevice #0: subdevice #0
>>> card 0: sofhdadsp [sof-hda-dsp], device 1: HDA Digital (*) []
>>>   Subdevices: 1/1
>>>   Subdevice #0: subdevice #0
>>> card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 (*) []
>>>   Subdevices: 1/1
>>>   Subdevice #0: subdevice #0
>>> card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (*) []
>>>   Subdevices: 1/1
>>>   Subdevice #0: subdevice #0
>>> card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
>>>   Subdevices: 1/1
>>>   Subdevice #0: subdevice #0
>>> 
>>> 
>>> 
>>> here's the relevant lsmod:
>>> 
>>> $lsmod | grep snd
>>> snd_seq_dummy          16384  0
>>> snd_usb_audio         266240  0
>>> snd_usbmidi_lib        36864  1 snd_usb_audio
>>> snd_seq_midi           20480  0
>>> snd_seq_midi_event     16384  1 snd_seq_midi
>>> snd_seq                69632  3 snd_seq_midi,snd_seq_midi_event,snd_seq_dummy
>>> snd_rawmidi            36864  2 snd_seq_midi,snd_usbmidi_lib
>>> snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
>>> snd_hda_intel          53248  0
>>> mc                     53248  5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common
>>> snd_soc_skl_hda_dsp    24576  6
>>> snd_hda_codec_hdmi     61440  1
>>> snd_soc_hdac_hdmi      36864  1 snd_soc_skl_hda_dsp
>>> snd_hda_codec_realtek   126976  1
>>> snd_hda_codec_generic    81920  1 snd_hda_codec_realtek
>>> snd_soc_dmic           16384  1
>>> snd_sof_pci            20480  2
>>> snd_sof_intel_hda_common    69632  1 snd_sof_pci
>>> snd_soc_hdac_hda       24576  1 snd_sof_intel_hda_common
>>> snd_sof_intel_hda      20480  1 snd_sof_intel_hda_common
>>> snd_sof_intel_byt      20480  1 snd_sof_pci
>>> snd_sof_intel_ipc      20480  1 snd_sof_intel_byt
>>> snd_sof               106496  4 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_byt,snd_sof_intel_ipc
>>> snd_sof_xtensa_dsp     16384  1 snd_sof_pci
>>> snd_hda_ext_core       28672  4 snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda
>>> snd_soc_acpi_intel_match    32768  2 snd_sof_pci,snd_sof_intel_hda_common
>>> snd_soc_acpi           16384  2 snd_sof_pci,snd_soc_acpi_intel_match
>>> snd_soc_core          245760  6 snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_soc_dmic,snd_soc_skl_hda_dsp
>>> snd_compress           24576  1 snd_soc_core
>>> ac97_bus               16384  1 snd_soc_core
>>> snd_pcm_dmaengine      16384  1 snd_soc_core
>>> snd_intel_dspcfg       24576  3 snd_hda_intel,snd_sof_pci,snd_sof_intel_hda_common
>>> snd_hda_codec         131072  6 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda,snd_soc_skl_hda_dsp
>>> snd_hda_core           90112  11 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda,snd_soc_skl_hda_dsp
>>> snd_hwdep              20480  2 snd_usb_audio,snd_hda_codec
>>> snd_pcm               106496  11 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
>>> ledtrig_audio          16384  4 snd_hda_codec_generic,snd_hda_codec_realtek,snd_sof,thinkpad_acpi
>>> snd_timer              36864  2 snd_seq,snd_pcm
>>> snd                    90112  28 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,thinkpad_acpi,snd_soc_core,snd_pcm,snd_soc_skl_hda_dsp,snd_rawmidi
>>> soundcore              16384  1 snd
>>> 
>>> 
>>> 
>>> And finally, the lspci
>>> 
>>> $sudo lspci
>>> 00:00.0 Host bridge: Intel Corporation Coffee Lake HOST and DRAM Controller (rev 0c)
>>> 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (Whiskey Lake) (rev 02)
>>> 00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0c)
>>> 00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
>>> 00:12.0 Signal processing controller: Intel Corporation Cannon Point-LP Thermal Controller (rev 11)
>>> 00:14.0 USB controller: Intel Corporation Cannon Point-LP USB 3.1 xHCI Controller (rev 11)
>>> 00:14.2 RAM memory: Intel Corporation Cannon Point-LP Shared SRAM (rev 11)
>>> 00:14.3 Network controller: Intel Corporation Cannon Point-LP CNVi [Wireless-AC] (rev 11)
>>> 00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP Serial IO I2C Controller #0 (rev 11)
>>> 00:15.1 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP Serial IO I2C Controller #1 (rev 11)
>>> 00:16.0 Communication controller: Intel Corporation Cannon Point-LP MEI Controller #1 (rev 11)
>>> 00:1d.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #9 (rev f1)
>>> 00:1d.4 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #13 (rev f1)
>>> 00:1f.0 ISA bridge: Intel Corporation Cannon Point-LP LPC Controller (rev 11)
>>> 00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 11)
>>> 00:1f.4 SMBus: Intel Corporation Cannon Point-LP SMBus Controller (rev 11)
>>> 00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP SPI Controller (rev 11)
>>> 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (6) I219-V (rev 11)
>>> 03:00.0 Non-Volatile memory controller: Sandisk Corp WD Black 2018/PC SN720 NVMe SSD
>>> 
>>> 
>>> Has anyone else succeeded in getting jackd running with this particular hardware? Thanks!
> _______________________________________________
> JackAudio mailing list
> JackAudio at lists.linuxaudio.org
> https://lists.linuxaudio.org/listinfo/jackaudio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.linuxaudio.org/archives/jackaudio/attachments/20200916/20707900/attachment-0001.html>


More information about the JackAudio mailing list