[HowTo] set up the audio card in Samsung Galaxy Book

Difficulty: ★☆☆☆☆

This [HowTo] has been extensively tested on the Galaxy Book FLEX but should work on the ION and hopefully other models too.
The instructions have a script (TO912.sh) with important verbs and then some services to auto-load it on boot and keep it alive.

  1. Check and make sure your active kernel is 5.8.18 or higher (lower Kernel may work, but I only tested on 5.4.72 which failed)

  2. Install sof-firmware:

    sudo pamac install sof-firmware
    
  3. Install alsa-tools

    sudo pacman -S alsa-tools
    
  4. Get snd_soc_skl_hda_dsp to load:

    sudo nano /etc/modprobe.d/sof.conf
    

    add the following line, then save and exit:
    options snd slots=snd_soc_skl_hda_dsp

  5. Blacklist snd-hda-intel:

    sudo nano /etc/modprobe.d/blacklist.conf
    

    add the following line, then save and exit:
    snd-hda-intel

  6. Rename alsa-base to backup

    sudo mv /etc/modprobe.d/alsa-base.conf /etc/modprobe.d/alsa-base.conf.backup
    
  1. Create a file `TO912.sh and place hda-verb commands:
    Copy the contents of https://pastebin.com/raw/zsXp2vz6, then run this terminal command:

    sudo nano TO912.sh
    

    Paste the copied contents to this file, save and exit.

  2. Move the TO912.sh script and place it in /home/$USER/scripts
    (Create the folder /home/$USER/scripts if it does not exist)

  1. Set script permissions as read, write, executable for all:

    chmod a+rwx /home/$USER/scripts/TO912.sh
    
  1. create and edit ionsound.service file

    sudo nano /etc/systemd/system/ionsound.service
    

    add the following text, then save and exit:

    [Unit]
    Description=Custom Sound
    
    [Service]
    Type=idle
    ExecStart=/home/YOURUSER/scripts/TO912.sh
    
    [Install]
    WantedBy=multi-user.target
    
  2. set file permissions to allow everyone to read:

    sudo chmod a+r /etc/systemd/system/ionsound.service
    
  3. create and edit the ionsoundsleep.service file

    sudo nano /etc/systemd/system/ionsoundsleep.service
    

    add the following text, then save and exit:

    [Unit]
    Description=Custom Sound Sleep Fix
    
    [Service]
    Type=idle
    ExecStart=/home/YOURUSER/scripts/TO912.sh
    
    [Install]
    WantedBy=suspend.target
    
  4. set file permissions to allow everyone to read:

    sudo chmod a+r /etc/systemd/system/ionsoundsleep.service
    
  5. activate both new services:

    sudo systemctl daemon-reload
    sudo systemctl enable ionsound.service
    sudo systemctl enable ionsoundsleep.service
    
  6. Turn off PulseAudio:

    sudo nano /etc/pulse/default.pa
    

    find the following line:
    load-module module-suspend-on-idle

    and change it to (comment it out):

    ###load-module module-suspend-on-idle

  7. reboot

  8. Launch alsamixer in the terminal and modify volumes:

    alsamixer
    
    • press F6,
    • ensure the sof-hda-dsp sound card is listed,
    • select it
    • increase the volume in all the columns,
    • ensure the db Gain (displayed at the top left corner) never exceeds 0.00
  9. click the speaker icon in the systray and ensure the speaker is not muted, unmute it if it is

    • right click the speaker icon in the systray
    • click Configure Audio Volume
    • click Audio
    • click advanced
    • ensure the Output drop-down has Smart Sound Technology AUdio Controller Speaker + Headphone
  10. Test the sound


References:

Special thanks:

  • MrEen from the Mint forums, jhubuntu20 from the Ubuntu forums, @bogdancovaciu from here.
  • Also big thanks to Mike Pozulp from kernel.org forum, especially for creating the kernel patch/quirk for the headsets of these models.
3 Likes

I want to THANK YOU for this Guide and CONFIRM this DOES work for the Samsung Galaxy Book Ion (15.6") - NP950XCJ-K01US

Here are a few notes for the Galaxy Book Ion 15.6":

  • alsa-base.conf is located here with the following filename: /usr/share/alsa/alsa.conf

  • the sound output device name - Speaker - sof-hda-dsp

Thank you AGAIN, you are an AWESOME human! I was one click away from returning this beautiful computer when I found your post and decided to give it one last try.

1 Like

Yes, I totally feel you. I have been trying to solve this for months!

I am not an expert myself so I hope one of the linux experts here (or anywhere really) can take the hda-verb commands (https://pastebin.com/raw/zsXp2vz6) and make them a kernel patch to make this card work out of the box on future kernels.

1 Like

trying this on the samsung pen 9 15 inch (nvidia) and unfortunately it doesn’t work, it seems that “options snd slots=snd_soc_skl_hda_dsp” fails to load, so /dev/snd/ doesn’t have “hwC0D0” in it.

i was hoping theyd be similar enough, i wanna help get this working if i could!

I have the same model, but I couldn’t get it to work. What did you do with the alsa.conf file?

Do you have any suggestions for getting sound to work on Linux mint 20 (ubuntu base 20.04) on a galaxy book flex.

sof-firmware is not available through the repository.

I believe Ubuntu 20.04 uses Linux kernel v5.4 that does not support Sound Open Firmware
sof-firmware on Arch distributions was supported from kernel v5.7

Ubuntu 21.04 has package firmware-sof

Audio works perfectly fine for me on Mint 20 with kernel 5.8.0-7630-generic, following the guide

I followed your guide to the letter, untill this point. There is no such file. The computer model is an Ion 15.6. I’m not sure how to troubleshoot this. Any help would be appreciated.

Try skipping this step.

I have, still no dice. What can I do to figure out what is missing?

What kernel are you using?

5.10.2, I’ve also tried with 5.9.

I think it’s the services that are failing me.

If I do the steps manually and just run:
bash /home/YOURUSER/scripts/TO912.sh
it works! Now when I know where the problem is, I might be able to fix it myself without bothering you further. Thank you for the guide.

EDIT: I managed to fix the services by using the line below instead:
ExecStart=/bin/bash /home/YOURUSER/scripts/TO912.sh

On a slightly unrelated note, have you solved any other HW compatibility problem with these Samsung laptops? I’m thinking primarily about the ability to control the keyboard back light, or enabling the outdoor brightness mode under linux.

1 Like

Hi, did you follow all the steps changing only the package manager?? I am not able to find any requested package

On a slightly unrelated note, have you solved any other HW compatibility problem with these Samsung laptops? I’m thinking primarily about the ability to control the keyboard back light, or enabling the outdoor brightness mode under linux.

No, I haven’t yet. I am still looking for a way to control the keyboard back light.

Another thanks for this guide.

I recently acquired Samsung NP950XCJ for a family member and began the move from Windows to Manjaro xfce.

As previously mentioned alsa-base.conf doesn’t exist on this notebook, so I ignored section 6 above and now have sound working.

I don’t even use Manjaro, but I signed up just to say thank you. Some of the steps above seems unnecessary, but can confirm that this works on galaxybook ion with fedora 34. Thanks alot!

Hello.
I would like to thank for this help, I did it exactly as is, but I have sound on right speaker only, how can I fix it, any advice? My laptop Samsung Galaxy Flex 15.6’’, NP950QCG.

You have a different system and probably need to find the correct HDA Verbs

The bugzilla report posted in OP has links to the original method developed by Connor McAdams
Setup and usage of the program · Conmanx360/QemuHDADump Wiki · GitHub
Connor also proved it’s effectiveness with a patch for Creative cards
Soundblaster Creative AE-5 Plus: No sound

But there are revised and improved instructions here
How to sniff verbs from a Windows sound driver · ryanprescott/realtek-verb-tools Wiki · GitHub