In order to test whether the kernel build option (CONFIG_DRM_SUN4I_HDMI_AUDIO=y) is the key to enable HDMI Audio output on Pine64, I am looking at the instructions in Fedora Wiki to plan the next steps.
Since this is the 1st I tried to cross-compiling kernel on Fedora, I would appreciate if some of you may look into my question in plan and point out any obviously missing steps. 1. Follow this https://fedoraproject.org/wiki/Building_a_custom_kernel#Dependencies_for_building_kernels to setup the dependencies, x86_64 version of those tools should be fine. 2. Install the AArch64 version of gcc as mentioned in https://ask.fedoraproject.org/t/cross-compiling-to-arm/17864/3 3. *Question: How to get fedpkg and build toolchains recognise the AArch64 version gcc?* I found an archived article but it seems to be very outdated: https://fedoraproject.org/wiki/Architectures/ARM/Building_a_Kernel_for_ARM 4. Build a kernel rpm after adjusting the build config locally by following this: https://fedoraproject.org/wiki/Building_a_custom_kernel#Building_a_Kernel_from_the_Fedora_source_tree Kind regards, Tommy On Fri, Nov 5, 2021 at 11:41 AM Tommy He <[email protected]> wrote: > Like the content in alsa-ucm package? > > I checked the corresponding folder(/usr/share/alsa) under Armbian. There's > no folder like ucm2/ as on Fedora. > > Out of curiosity, I checked the kernel build configure for both and may > step on the cause: > > On Fedora with kernel 5.14.14: > > $ cat /boot/config-5.14.14-300.fc35.aarch64 | grep CONFIG_DRM_SUN4I > CONFIG_DRM_SUN4I=m > CONFIG_DRM_SUN4I_HDMI=m > CONFIG_DRM_SUN4I_HDMI_CEC=y > CONFIG_DRM_SUN4I_BACKEND=m > > While on Armbian with kernel 5.10.16: > > $ zcat /proc/config.gz | grep CONFIG_DRM_SUN4I > CONFIG_DRM_SUN4I=y > CONFIG_DRM_SUN4I_HDMI=y*CONFIG_DRM_SUN4I_HDMI_AUDIO=y* > CONFIG_DRM_SUN4I_HDMI_CEC=y > CONFIG_DRM_SUN4I_BACKEND=y > > Note it has an extra kernel build configure that is dedicated to HDMI audio. > It would be good if I can recompile a fedora kernel with that build > configuration enabled to test. However, I am not sure how to do that on > Aarch64. I only knew how to do it via kernel SRPM on x86_64. > > Kind regards, > > Tommy > > > On Thu, Nov 4, 2021 at 3:48 AM Peter Robinson <[email protected]> > wrote: > >> Does Armbian ship a UCM2 profile for the device that's not upstream? >> >> On Wed, Nov 3, 2021 at 7:59 AM Tommy He <[email protected]> wrote: >> > >> > Hello, >> > >> > My Pine64 has served my daughter well for her online courses during the >> pandemic, loaded with Armbian. As someone more into Fedora, I'm always >> looking for opportunity to switch on this cheap SBC. >> > It hasn't been successful until Fedora 35 XFCE AArch64. With the help >> of arm-image-installer, the recent AArch64 booted and runs quite well, with >> one exception: no Sound from HDMI port. >> > There's audio from 3.5mm jack thus I'm pretty sure the player, codec >> and sound server are all right. >> > >> > I tried to poke around the XFCE sound server widget but it seems HDMI >> wasn't recognized as a device under Fedora 35. Below are output from Fedora >> running updated kernel 5.14.14: >> > >> > $ aplay -l >> > **** List of PLAYBACK Hardware Devices **** >> > card 0: sun50ia64audio [sun50i-a64-audio], device 0: >> 1c22c00.dai-sun8i-codec-aif1 sun8i-codec-aif1-0 >> [1c22c00.dai-sun8i-codec-aif1 sun8i-codec-aif1-0] >> > Subdevices: 1/1 >> > Subdevice #0: subdevice #0 >> > >> > $ lsmod >> > Module Size Used by >> > snd_seq_dummy 16384 0 >> > snd_hrtimer 20480 1 >> > nft_fib_inet 16384 1 >> > nft_fib_ipv4 16384 1 nft_fib_inet >> > nft_fib_ipv6 16384 1 nft_fib_inet >> > nft_fib 16384 3 nft_fib_ipv6,nft_fib_ipv4,nft_fib_inet >> > nft_reject_inet 16384 6 >> > nf_reject_ipv4 16384 1 nft_reject_inet >> > nf_reject_ipv6 20480 1 nft_reject_inet >> > nft_reject 16384 1 nft_reject_inet >> > nft_ct 24576 11 >> > nft_chain_nat 16384 2 >> > nf_nat 49152 1 nft_chain_nat >> > nf_conntrack 176128 2 nf_nat,nft_ct >> > nf_defrag_ipv6 24576 1 nf_conntrack >> > nf_defrag_ipv4 16384 1 nf_conntrack >> > rfkill 40960 1 >> > ip_set 57344 0 >> > nf_tables 217088 204 >> nft_ct,nft_reject_inet,nft_fib_ipv6,nft_fib_ipv4,nft_chain_nat,nft_reject,nft_fib,nft_fib_inet >> > nfnetlink 20480 3 nf_tables,ip_set >> > qrtr 28672 4 >> > ns 32768 1 qrtr >> > sunrpc 626688 1 >> > vfat 28672 1 >> > fat 94208 1 vfat >> > snd_soc_hdmi_codec 24576 0 >> > dw_hdmi_cec 16384 0 >> > dw_hdmi_i2s_audio 16384 0 >> > sun50i_codec_analog 36864 1 >> > snd_soc_simple_card 24576 2 >> > sun4i_i2s 24576 2 >> > snd_soc_simple_card_utils 28672 1 snd_soc_simple_card >> > axp20x_adc 20480 0 >> > sun8i_adda_pr_regmap 16384 1 sun50i_codec_analog >> > axp20x_pek 16384 0 >> > sun8i_codec 49152 1 >> > snd_soc_core 311296 6 >> sun4i_i2s,snd_soc_hdmi_codec,sun50i_codec_analog,sun8i_codec,snd_soc_simple_card_utils,snd_soc_simple_card >> > snd_compress 32768 1 snd_soc_core >> > ac97_bus 16384 1 snd_soc_core >> > snd_pcm_dmaengine 20480 1 snd_soc_core >> > snd_seq 98304 7 snd_seq_dummy >> > snd_seq_device 20480 1 snd_seq >> > snd_pcm 143360 6 >> sun4i_i2s,snd_soc_hdmi_codec,snd_compress,sun8i_codec,snd_soc_core,snd_pcm_dmaengine >> > joydev 32768 0 >> > sun8i_rotate 28672 0 >> > sun8i_di 28672 0 >> > sunxi_cedrus 53248 0 >> > sun8i_drm_hdmi 24576 0 >> > v4l2_mem2mem 45056 3 sunxi_cedrus,sun8i_rotate,sun8i_di >> > dw_hdmi 53248 2 sun8i_drm_hdmi,dw_hdmi_i2s_audio >> > videobuf2_dma_contig 24576 3 sunxi_cedrus,sun8i_rotate,sun8i_di >> > videobuf2_memops 20480 1 videobuf2_dma_contig >> > snd_timer 45056 3 snd_seq,snd_hrtimer,snd_pcm >> > snd 114688 13 >> snd_seq,snd_seq_device,snd_soc_hdmi_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm >> > videobuf2_v4l2 32768 4 >> sunxi_cedrus,sun8i_rotate,sun8i_di,v4l2_mem2mem >> > soundcore 20480 1 snd >> > sun8i_thermal 16384 0 >> > videobuf2_common 69632 7 >> sunxi_cedrus,sun8i_rotate,videobuf2_dma_contig,videobuf2_v4l2,sun8i_di,v4l2_mem2mem,videobuf2_memops >> > nvmem_sunxi_sid 16384 1 >> > videodev 278528 6 >> sunxi_cedrus,sun8i_rotate,videobuf2_v4l2,sun8i_di,videobuf2_common,v4l2_mem2mem >> > mc 65536 5 >> sunxi_cedrus,videodev,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem >> > sun8i_mixer 45056 0 >> > cpufreq_dt 20480 0 >> > fuse 167936 1 >> > zram 32768 2 >> > ip_tables 32768 0 >> > mmc_block 53248 3 >> > axp20x_battery 16384 0 >> > axp20x_ac_power 16384 0 >> > industrialio 94208 3 >> axp20x_battery,axp20x_ac_power,axp20x_adc >> > axp20x_regulator 49152 6 >> > pinctrl_axp209 16384 0 >> > axp20x_rsb 16384 0 >> > dwmac_sun8i 28672 0 >> > stmmac_platform 24576 1 dwmac_sun8i >> > stmmac 249856 2 dwmac_sun8i,stmmac_platform >> > pcs_xpcs 24576 1 stmmac >> > phylink 53248 1 stmmac >> > crct10dif_ce 20480 1 >> > lima 69632 2 >> > display_connector 20480 0 >> > sunxi 24576 0 >> > ghash_ce 24576 0 >> > phy_generic 20480 2 sunxi >> > sunxi_rsb 24576 1 axp20x_rsb >> > musb_hdrc 139264 1 sunxi >> > des_generic 16384 0 >> > libdes 24576 1 des_generic >> > gpu_sched 49152 1 lima >> > ohci_platform 16384 0 >> > mdio_mux 16384 1 dwmac_sun8i >> > sunxi_wdt 20480 0 >> > sun4i_drm 20480 6 >> > sun4i_frontend 20480 1 sun4i_drm >> > i2c_mv64xxx 24576 0 >> > sun4i_tcon 40960 1 sun4i_drm >> > sun8i_tcon_top 20480 3 sun8i_drm_hdmi,sun4i_tcon,sun4i_drm >> > drm_kms_helper 294912 8 >> sun8i_mixer,sun8i_drm_hdmi,sun4i_frontend,sun4i_tcon,sun4i_drm,dw_hdmi >> > ohci_hcd 61440 1 ohci_platform >> > sunxi_mmc 32768 0 >> > phy_sun4i_usb 28672 6 sunxi >> > udc_core 69632 1 musb_hdrc >> > sun8i_ce 49152 0 >> > syscopyarea 16384 1 drm_kms_helper >> > sysfillrect 16384 1 drm_kms_helper >> > sysimgblt 16384 1 drm_kms_helper >> > fb_sys_fops 20480 1 drm_kms_helper >> > cec 73728 3 drm_kms_helper,dw_hdmi_cec,dw_hdmi >> > sun6i_dma 36864 2 >> > ehci_platform 20480 0 >> > drm 634880 15 >> gpu_sched,sun8i_mixer,drm_kms_helper,display_connector,sun8i_drm_hdmi,lima,sun4i_frontend,sun4i_tcon,sun4i_drm,dw_hdmi >> > aes_neon_bs 32768 0 >> > >> > >> > In comparison, the aplay and lsmod output from Armbian running mainline >> kernel 5.10.16: >> > >> > $ aplay -l >> > **** List of PLAYBACK Hardware Devices **** >> > card 0: sun50ia64audio [sun50i-a64-audio], device 0: >> 1c22c00.dai-sun8i-codec-aif1 sun8i-codec-aif1-0 >> [1c22c00.dai-sun8i-codec-aif1 sun8i-codec-aif1-0] >> > Subdevices: 1/1 >> > Subdevice #0: subdevice #0 >> > card 1: sun50ia64hdmi [sun50i-a64-hdmi], device 0: 1c22800.i2s-i2s-hifi >> i2s-hifi-0 [1c22800.i2s-i2s-hifi i2s-hifi-0] >> > Subdevices: 1/1 >> > Subdevice #0: subdevice #0 >> > >> > $ lsmod >> > Module Size Used by >> > fuse 122880 3 >> > overlay 114688 2 >> > bnep 28672 2 >> > snd_soc_hdmi_codec 20480 1 >> > axp20x_ac_power 16384 0 >> > axp20x_battery 16384 0 >> > hci_uart 126976 0 >> > axp20x_adc 20480 0 >> > btqca 20480 1 hci_uart >> > btrtl 24576 1 hci_uart >> > btbcm 24576 1 hci_uart >> > btintel 24576 1 hci_uart >> > bluetooth 577536 13 btrtl,btqca,btintel,hci_uart,btbcm,bnep >> > ecdh_generic 16384 1 bluetooth >> > dw_hdmi_i2s_audio 16384 0 >> > dw_hdmi_cec 16384 0 >> > rfkill 28672 4 bluetooth >> > hid_multitouch 28672 0 >> > ecc 28672 1 ecdh_generic >> > lima 57344 11 >> > gpu_sched 32768 1 lima >> > joydev 32768 0 >> > sun4i_gpadc_iio 24576 0 >> > industrialio 65536 4 >> axp20x_battery,sun4i_gpadc_iio,axp20x_ac_power,axp20x_adc >> > sun4i_i2s 24576 4 >> > sunxi_cedrus 40960 0 >> > videobuf2_dma_contig 24576 1 sunxi_cedrus >> > v4l2_mem2mem 36864 1 sunxi_cedrus >> > videobuf2_memops 20480 1 videobuf2_dma_contig >> > videobuf2_v4l2 24576 2 sunxi_cedrus,v4l2_mem2mem >> > videobuf2_common 49152 3 sunxi_cedrus,videobuf2_v4l2,v4l2_mem2mem >> > videodev 237568 4 >> sunxi_cedrus,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem >> > mc 49152 5 >> sunxi_cedrus,videodev,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem >> > display_connector 20480 0 >> > snd_soc_simple_card 24576 0 >> > snd_soc_simple_card_utils 24576 1 snd_soc_simple_card >> > zram 32768 2 >> > cpufreq_dt 20480 0 >> > sch_fq_codel 24576 2 >> > pinctrl_axp209 16384 0 >> > realtek 24576 1 >> > i2c_mv64xxx 24576 0 >> > dwmac_sun8i 28672 0 >> > mdio_mux 16384 1 dwmac_sun8i >> > >> > Despite snd_soc_hdmi_codec being loaded in both systems, the Fedora 35 >> lacks the sound subdevice sun50ia64hdmi that presents under Armbian. >> > >> > I had tried searching Pine64 and Armbian forums for clues. But the >> threads showing up are either several years ago on BSP kernel, or trying to >> get sound from 3.5mm jack port. >> > >> > Much appreciated if someone here can point me in the right direction to >> further diagnose or solve this problem. >> > >> > Kind regards, >> > Tommy >> > -- >> > Take a Deep Breath out of Windows >> > _______________________________________________ >> > arm mailing list -- [email protected] >> > To unsubscribe send an email to [email protected] >> > Fedora Code of Conduct: >> https://docs.fedoraproject.org/en-US/project/code-of-conduct/ >> > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines >> > List Archives: >> https://lists.fedoraproject.org/archives/list/[email protected] >> > Do not reply to spam on the list, report it: >> https://pagure.io/fedora-infrastructure >> > > > -- > Take a Deep Breath out of Windows > -- Take a Deep Breath out of Windows
_______________________________________________ arm mailing list -- [email protected] To unsubscribe send an email to [email protected] Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/[email protected] Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
