<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged book4pro</title>
<link>https://coderlegion.com/tag/book4pro</link>
<description>Powered by Question2Answer</description>
<item>
<title>How to Fix Samsung Galaxy Book4 Pro Speakers on Linux</title>
<link>https://coderlegion.com/18691/how-to-fix-samsung-galaxy-book4-pro-speakers-on-linux</link>
<description>&lt;h4 id=&quot;the-problem&quot;&gt;The Problem&lt;/h4&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;This post documents what &lt;strong&gt;actually works&lt;/strong&gt; after hours of research through forums, repositories, and documentation.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;why-it-happens&quot;&gt;Why It Happens&lt;/h4&gt;
&lt;p&gt;The Galaxy Book4 Pro uses the &lt;strong&gt;Realtek ALC298&lt;/strong&gt; codec combined with &lt;strong&gt;MAX98390&lt;/strong&gt; smart amplifiers connected via I2C bus. The Linux kernel detects the codec correctly, but &lt;strong&gt;never initializes the MAX98390 amplifier&lt;/strong&gt; — resulting in completely silent speakers.&lt;/p&gt;
&lt;p&gt;On Windows, Samsung installs a proprietary DSP driver that automatically initializes and controls this amp. On Linux, that driver simply doesn't exist.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;diagnosis&quot;&gt;Diagnosis&lt;/h4&gt;
&lt;p&gt;First, confirm your hardware is affected:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;cat /proc/asound/card0/codec#0 | grep -i &quot;codec\|subsystem&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you see &lt;code&gt;Codec: Realtek ALC298&lt;/code&gt; and a Subsystem ID starting with &lt;code&gt;0x144d&lt;/code&gt; (Samsung), you're in the right place.&lt;/p&gt;
&lt;p&gt;Also confirm the amp is never initialized:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo dmesg | grep -i &quot;max98\|cs35\|speaker\|amp&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If there are no lines about MAX98390, the amp was never woken up.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;the-fix&quot;&gt;The Fix&lt;/h4&gt;
&lt;p&gt;Thanks to the amazing work by &lt;strong&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/Andycodeman&quot;&gt;@Andycodeman&lt;/a&gt;&lt;/strong&gt; 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.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Before installing, verify:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Secure Boot must be disabled
mokutil --sb-state
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Installation (Ubuntu/Zorin/Mint/Pop!_OS):&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;curl -sL https://github.com/Andycodeman/samsung-galaxy-book-linux-fixes/archive/refs/heads/main.tar.gz | tar xz &amp;amp;&amp;amp; cd samsung-galaxy-book-linux-fixes-main/speaker-fix &amp;amp;&amp;amp; sudo ./install.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Test without rebooting:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo systemctl start max98390-hda-i2c-setup.service
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If sound comes out, reboot to confirm it persists:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo reboot
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h4 id=&quot;improving-sound-quality-with-easyeffects&quot;&gt;Improving Sound Quality with EasyEffects&lt;/h4&gt;
&lt;p&gt;The driver initializes the amp, but the sound is more &quot;raw&quot; than on Windows (where Samsung uses proprietary DSP). To improve it, install EasyEffects:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo apt install -y easyeffects calf-plugins
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In the &lt;strong&gt;Effects → Output&lt;/strong&gt; tab, add:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Equalizer&lt;/strong&gt; — boost mids (1kHz~4kHz) and reduce excessive bass (32Hz~250Hz)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Limiter&lt;/strong&gt; with threshold at -3dB — prevents distortion on peaks&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compressor&lt;/strong&gt; with 4:1 ratio and 5ms attack — softens hard transients&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Set EasyEffects to run in the background: &lt;strong&gt;⋯ → Launch as a Service&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;tested-on&quot;&gt;Tested On&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Model &lt;/th&gt;&lt;th&gt;Distro &lt;/th&gt;&lt;th&gt;Kernel &lt;/th&gt;&lt;th&gt;Status&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Galaxy Book4 Pro (NP940XGK) &lt;/td&gt;&lt;td&gt;Zorin OS 18.1 &lt;/td&gt;&lt;td&gt;6.17.0-23-generic &lt;/td&gt;&lt;td&gt;✅ Working&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h4 id=&quot;credits&quot;&gt;Credits&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/Andycodeman&quot;&gt;Andycodeman&lt;/a&gt;&lt;/strong&gt; — DKMS packaging, install scripts, dynamic I2C detection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kevin Cuperus&lt;/strong&gt; — Original MAX98390 driver code (upstream PR #5616)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Google Redrix (Chromebook)&lt;/strong&gt; — DSP firmware blobs extracted from same MAX98390 hardware&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;strong&gt;Repository:&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/Andycodeman/samsung-galaxy-book-linux-fixes&quot;&gt;https://github.com/Andycodeman/samsung-galaxy-book-linux-fixes&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/18691/how-to-fix-samsung-galaxy-book4-pro-speakers-on-linux</guid>
<pubDate>Fri, 22 May 2026 14:57:38 +0000</pubDate>
</item>
</channel>
</rss>