Framework 13 / Omarchy fixes

I recently aquired a Framework 13 AMD Ryzen 350 and installed Omarchy immediately. The experience is not “seamless” out of the box, so if you found this page, hope it’s useful to you.

I come from Mac from my last client. Pretty happy to be back on Linux, but it does come with some headaches. However, Claude on Deep Research mode can resolve most problems. Arch 2026 is not the same as Arch in the past. Usually everything was just 90% working: bluetooth, wifi, battery, hibernation. Now it’s all there.

Overall, it’s pretty great. The best part is the “tinkering”, because you can really customize almost anything.

IMO the UX of Desktops on Linux is just lightyears ahead of anything else with Hyprland. There is, of course, a pretty massive downside – the learning curve. It’s not the steepest, but it is definitely there. Anyway, here are some gotchas.

AMD MES fix

If your system hard-freezes occasionally, this is a known issue with the AMD GPU driver in kernels 6.186.19. The kernel logs will show amdgpu: MES failed to respond to msg=MISC (WAIT_REG_MEM) followed by MES ring buffer is full. An upstream patch is expected in kernel 7.0 (mid-April 2026). Until then, disable CWSR:

Add this line to /etc/default/limine, after the existing +=quiet splash line:


then run

sudo limine-update```

Don’t use a drop-in file in /etc/limine-entry-tool.d/ – if /etc/default/limine uses = (assignment) for KERNEL_CMDLINE[default], it takes full precedence and silently ignores any += from drop-ins. I tried this first and it didn’t persist properly.

After rebooting, verify with cat /proc/cmdline – you should see amdgpu.cwsr_enable=0 in the output.

Mic Fix

If your Mic is just playing static, run this:

sudo mkdir -p /etc/wireplumber/wireplumber.conf.d
sudo tee /etc/wireplumber/wireplumber.conf.d/no-ucm.conf << 'EOF'
monitor.alsa.properties = {
  alsa.use-ucm = false
}
EOF

After that point, you’ll have to play a little bit with the gain. I run around 30%.

Speaker improvements

The “vanilla” speakers are pretty bad because they fire downwards. This is a profile you can get that is designed for flat surfaces (tables)

sudo pacman -S easyeffects
mkdir -p ~/.config/easyeffects/output
curl -L "https://raw.githubusercontent.com/ceiphr/ee-framework-presets/main/kieran_levin.json" -o ~/.config/easyeffects/output/kieran_levin.json

Peripherals

I had to retire my Logitech MX Anywhere 2S because Linux + Bluetooth does not work properly – there is a lot of input lag. To solve it, I bought a Keychron BM25 instead for ~35$. It works flawlessly with much less delay. If you use some sort of dongle, none of this is a problem, but I prefer bluetooth, I lose those dongles all the time. I don’t wan’t to have a permanently allocated USB slot or have something that points out from the machine because it gets stuck on things when putting the laptop in a bag.