--- layout: post title: Creative Sound Blaster Z no sound under Fedora 33 date: 2021-02-24 22:58 author: rick categories: --- I got myself an old Creative Sound Blaster Z to replace my build-in sound card, to amplify my sound experience, how-ever on first install I got myself into a pickle: ``` feb 24 22:54:52 technetium kernel: snd_hda_intel 0000:09:00.0: Direct firmware load for ctefx-desktop.bin failed with error -2 feb 24 22:54:52 technetium kernel: snd_hda_intel 0000:09:00.0: Direct firmware load for ctefx.bin failed with error -2 ``` ``` $ sudo lspci -v -s 09:00.0 09:00.0 Audio device: Creative Labs Sound Core3D [Sound Blaster Recon3D / Z-Series] (rev 01) Subsystem: Creative Labs SB1570 SB Audigy Fx Flags: bus master, fast devsel, latency 0, IRQ 39, IOMMU group 14 Memory at fca04000 (64-bit, non-prefetchable) [size=16K] Memory at fca00000 (64-bit, non-prefetchable) [size=16K] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+ Capabilities: [70] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [140] Virtual Channel Capabilities: [170] Device Serial Number 00-00-00-00-00-00-00-00 Capabilities: [180] Power Budgeting Kernel driver in use: snd_hda_intel Kernel modules: snd_hda_intel ``` Found a brilliant suggestion [Raymond](https://bugzilla.kernel.org/show_bug.cgi?id=112851#c18) (back in 2016): ``` $ dnf provides /lib/firmware/ctefx.bin $ sudo dnf install alsa-firmware ``` Reboot the system and it was al working as expected. Bonus tip if you want to switch between headphone and speaker output ``` If you STILL don't have sound, try opening alsamixer, selecting your card with F6, and toggling "HP/Speaker Auto Detect" with the 'm' key. This switch sets whether or not you want to manually select the output with the 'Output Select' control. ``` Credits [The original writer of the driver Conmanx360](https://www.reddit.com/r/SoundBlasterOfficial/comments/9mm5ad/sound_blaster_r3dr3dizzxrae5_linux_driver/) ### Output switch script This will provide a shortcut to quickly switch between headphone and speaker output with (as bonus) an shortcut key for Gnome: Create install directory if does not exists: ``` $ mkdir -p $HOME/bin ``` 'Install' script audio-switch-output.sh script: ``` $ cat << 'EOF' > $HOME/bin/switch-audio-output.sh && chmod 755 $HOME/bin/switch-audio-output.sh #!/bin/sh # # Quickly switch between headphones and speakers # Tested on Creative Sound Blaster Z soundcard which is assumed to be card0 # cmd="amixer -c 0" if $cmd sget 'Output Select',0 | grep -q "Item0: 'Speakers'"; then $cmd -q sset 'Output Select',0 'Headphone' else $cmd -q sset 'Output Select',0 'Speakers' fi EOF ``` Warning: Be careful, this will override any existing custom gnome shortcut keys, use Gnome GUI Settings -> Keyboard Shortcuts. Add shortcut to call script quickly: ``` $ cat <