How to Fix Samsung Galaxy Book4 Pro Speakers on Linux

posted Originally published at dev.to 2 min read

The Problem

If you have a Samsung Galaxy Book4 Pro running Linux, you've probably noticed that the internal speakers don't work. The headphone jack works fine, but the built-in speakers are completely silent — regardless of your distro or kernel version.

This post documents what actually works after hours of research through forums, repositories, and documentation.


Why It Happens

The Galaxy Book4 Pro uses the Realtek ALC298 codec combined with MAX98390 smart amplifiers connected via I2C bus. The Linux kernel detects the codec correctly, but never initializes the MAX98390 amplifier — resulting in completely silent speakers.

On Windows, Samsung installs a proprietary DSP driver that automatically initializes and controls this amp. On Linux, that driver simply doesn't exist.


Diagnosis

First, confirm your hardware is affected:

cat /proc/asound/card0/codec#0 | grep -i "codec\|subsystem"

If you see Codec: Realtek ALC298 and a Subsystem ID starting with 0x144d (Samsung), you're in the right place.

Also confirm the amp is never initialized:

sudo dmesg | grep -i "max98\|cs35\|speaker\|amp"

If there are no lines about MAX98390, the amp was never woken up.


The Fix

Thanks to the amazing work by @Andycodeman and the open source community, there's a DKMS driver that solves the problem. The fix installs the MAX98390 driver, creates a systemd service that initializes the amp on every boot, and works automatically after restarting.

Before installing, verify:

# Secure Boot must be disabled
mokutil --sb-state

Installation (Ubuntu/Zorin/Mint/Pop!_OS):

curl -sL https://github.com/Andycodeman/samsung-galaxy-book-linux-fixes/archive/refs/heads/main.tar.gz | tar xz && cd samsung-galaxy-book-linux-fixes-main/speaker-fix && sudo ./install.sh

Test without rebooting:

sudo systemctl start max98390-hda-i2c-setup.service

If sound comes out, reboot to confirm it persists:

sudo reboot

Improving Sound Quality with EasyEffects

The driver initializes the amp, but the sound is more "raw" than on Windows (where Samsung uses proprietary DSP). To improve it, install EasyEffects:

sudo apt install -y easyeffects calf-plugins

In the Effects → Output tab, add:

  • Equalizer — boost mids (1kHz~4kHz) and reduce excessive bass (32Hz~250Hz)
  • Limiter with threshold at -3dB — prevents distortion on peaks
  • Compressor with 4:1 ratio and 5ms attack — softens hard transients

Set EasyEffects to run in the background: ⋯ → Launch as a Service


Tested On

Model Distro Kernel Status
Galaxy Book4 Pro (NP940XGK) Zorin OS 18.1 6.17.0-23-generic ✅ Working

Credits

  • Andycodeman — DKMS packaging, install scripts, dynamic I2C detection
  • Kevin Cuperus — Original MAX98390 driver code (upstream PR #5616)
  • Google Redrix (Chromebook) — DSP firmware blobs extracted from same MAX98390 hardware

Repository: https://github.com/Andycodeman/samsung-galaxy-book-linux-fixes

More Posts

I Wrote a Script to Fix Audible's Unreadable PDF Filenames

snapsynapse - Apr 20

I’m a Senior Dev and I’ve Forgotten How to Think Without a Prompt

Karol Modelskiverified - Mar 19

I spent years trying to get AI agents to collaborate. Then Opus 4.6 and Codex 5.3 wrote the rules

snapsynapse - Apr 20

Custom Audio Control on Linux: Switch Between Headphones, Speakers, and Dual Output with a Single Co

Igor Giamoniano - Coisa de Dev - Dec 20, 2025

Rescuing Legacy Hardware: Installing Linux on Early UEFI Systems (Debian 13 Case Study)

Igor Giamoniano - Coisa de Dev - Jan 30
chevron_left

Related Jobs

View all jobs →

Commenters (This Week)

8 comments
2 comments
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!