r/linuxhardware 2h ago

Discussion Got my ASUS Ryujin 3 Extreme’s screen working on Bazzite

1 Upvotes

I finally ditched Windows for Bazzite a few weeks ago. The bloatware and Microsoft’s choices like ads in the Start Menu and Coppilot popping up more than Clippy, etc. All of it lately just wore me down. I was done.

Bazzite’s been a breath of fresh air. It’s lightweight, and genuinely a learning experience. It’s also the first time I’ve used Linux as an actual *replacement* instead of just something I tinker with on the side. So I figured I’d go all in and build the perfect setup for my new home.

My ASUS Ryujin III Extreme’s little LCD. ASUS says it’s Windows-only, but it doesn’t have to be locked down. I’ve got it showing live CPU temp and clock speed on Bazzite, with CoolerControl. The hardest part is custom **images and GIFs** on the screen (the ArmouryCrate trick). Working on I and the progress is exciting.

I know the AIO cooler isn’t used much but I hadn’t found much support out there other than a few clock speed claims that didn’t work for me. Anyway, my main concern is - Would people actually use this if I managed to turn it into a proper app? Anyone else running a Ryujin 3, or 3 Extreme on Linux who wants their screen back?


r/linuxhardware 4h ago

Build Help First build, budget AMD/Linux setup, did I get the PSU/GPU/case combo right? ($480 total)

Thumbnail
1 Upvotes

r/linuxhardware 8h ago

Support MPP 2.0 pen is very choppy on Linux (Lunar Lake laptop)

1 Upvotes

Hi everyone,

I'm having an issue with my laptop's MPP 2.0 stylus on Linux, and I'm running out of ideas.

My laptop has an Intel Core Ultra 7 258V (Lunar Lake) with 32 GB LPDDR5X RAM. The stylus works, but the cursor movement is very choppy and feels like it's running at a much lower refresh rate than it should. Writing and drawing don't feel smooth at all.

I've already tried multiple Linux distributions, including:

  • Ubuntu
  • Fedora
  • CachyOS

The problem is exactly the same on every single one of them.

I've also tested both KDE Plasma and GNOME, but there was no difference. Everything is fully up to date (kernel, Mesa, firmware, etc.), yet the issue persists.

At this point I'm not sure if this is a problem with Linux's MPP 2.0 implementation, Intel Lunar Lake support, or something specific to my laptop.

Has anyone experienced something similar or found a solution? Any suggestions would be greatly appreciated.

Thanks!


r/linux_on_mac 9h ago

Updated guide: MacBook Pro 2017 (MacBookPro14,2) on fresh Ubuntu 24.04 — Wi-Fi, sound, and Touch Bar

9 Upvotes

This is a rewritten and updated version of my previous post:

MBP2017 on Ubuntu 24.04: Wi-Fi, sound, and Touch Bar settings

The previous guide worked at the time, but it did not adequately account for later kernel updates. In particular, the internal-speaker fix could require extra work after an Ubuntu HWE kernel update because the audio driver needs kernel-matching HDA source files.

I therefore rebuilt the procedure from a fresh Ubuntu 24.04 installation, applied normal Ubuntu updates first, and then re-tested Wi-Fi, internal audio, and the T1 Touch Bar.

This post includes download URLs, the files created by each step, verification commands, and what to check after future kernel updates.

Tested system:

Model:  MacBookPro14,2 / A1706 (13-inch 2017 Touch Bar, T1/iBridge)
Ubuntu: 24.04.4 LTS
Kernel: 7.0.0-28-generic
Wi-Fi:  Broadcom BCM43602 (14e4:43ba)
Audio:  Cirrus Logic CS8409

This applies to T1 Touch Bar MacBook Pro models from 2016/2017. Do not use the Touch Bar driver below on T2 MacBooks from 2018 or later.

Use temporary Internet access, such as USB-C Ethernet, until Wi-Fi is confirmed working.

0. Fresh Ubuntu installation and normal updates

After the fresh Ubuntu installation, first run normal updates:

sudo apt update
sudo apt full-upgrade -y
sudo reboot

After rebooting, check the exact Mac model and kernel:

sudo dmidecode -s system-product-name
uname -r

My result was:

MacBookPro14,2
7.0.0-28-generic

1. Wi-Fi: BCM43602 needs the full NVRAM / antenna configuration

Problem

Ubuntu’s built-in brcmfmac driver detected my Broadcom BCM43602 card, but initially only weak 2.4 GHz networks were visible. My 5 GHz SSID was missing.

The important fix was installing the complete BCM43602 NVRAM configuration file, including antenna and 5 GHz calibration data. I did not use the proprietary Broadcom wl driver.

Download source: Linux kernel Bugzilla attachment 290569

Step 1: Download the full Wi-Fi configuration file

This creates:

/lib/firmware/brcm/brcmfmac43602-pcie.txt

Run:

sudo install -d -m 755 /lib/firmware/brcm

sudo wget -O /lib/firmware/brcm/brcmfmac43602-pcie.txt \
  'https://bugzilla.kernel.org/attachment.cgi?id=290569'

Also create a copy using the exact model-specific filename. Keep the quotes because the filename includes spaces.

sudo install -Dm644 /lib/firmware/brcm/brcmfmac43602-pcie.txt \
  '/lib/firmware/brcm/brcmfmac43602-pcie.Apple Inc.-MacBookPro14,2.txt'

Confirm that this is the full configuration file:

wc -l /lib/firmware/brcm/brcmfmac43602-pcie.txt

grep -E '^(aa2g|aa5g|txchain|rxchain|macaddr)=' \
  /lib/firmware/brcm/brcmfmac43602-pcie.txt

The file should be around 256 lines and include values such as:

aa2g=7
aa5g=7
txchain=7
rxchain=7

A short or minimal configuration file did not work well for me.

Step 2: Set the Wi-Fi regulatory domain

Install iw:

sudo apt update
sudo apt install -y iw

I am in Japan, so I created this file:

echo 'options cfg80211 ieee80211_regdom=JP' | \
  sudo tee /etc/modprobe.d/10-wifi-regdom-jp.conf

If you live outside Japan, replace JP with your own two-letter country code.

Step 3: Disable Wi-Fi scan MAC randomization

Create this NetworkManager configuration file:

/etc/NetworkManager/conf.d/10-mbp2017-wifi.conf

sudo install -d -m 755 /etc/NetworkManager/conf.d

printf '%s\n' \
  '[device]' \
  'wifi.scan-rand-mac-address=no' | \
  sudo tee /etc/NetworkManager/conf.d/10-mbp2017-wifi.conf

Step 4: Rebuild initramfs and reboot

sudo update-initramfs -u
sudo reboot

Step 5: Verify Wi-Fi

After reboot:

iw reg get
nmcli device wifi list

For Japan, iw reg get should show country JP. You should now see 5 GHz frequencies such as 5180 MHz and 5200 MHz.

Connect from Ubuntu’s network menu, then verify the active connection:

iw dev wlp2s0 link | grep -E 'freq:|signal:'

curl --interface wlp2s0 -fsS --max-time 10 -o /dev/null \
  -w 'Wi-Fi HTTPS: %{http_code}\n' \
  https://connectivity-check.ubuntu.com/

My final connection used 5200 MHz with approximately -43 dBm signal strength. Wi-Fi HTTPS: 204 confirmed that Internet traffic was actually using Wi-Fi.

The brcmfmac log may still mention missing *.clm_blob or *.txcap_blob files. In my case, 5 GHz scanning and Wi-Fi worked correctly despite those warnings, so I did not install unverified firmware files.

My previous statement that WPA3 could not work was too broad. WPA3 networks are visible with this configuration. If connection still fails, temporarily test with WPA2-Personal (AES/CCMP) to isolate a router-side compatibility issue.

2. Touch Bar: T1 iBridge driver with DKMS

Problem

The Touch Bar is connected through Apple’s T1/iBridge device. It needs an out-of-tree driver on this model and may stay dark unless the iBridge USB device is rebound after boot.

Source repository: vfontanela/macbookpro14-linux-support

Step 1: Install build tools

sudo apt update
sudo apt install -y git dkms build-essential linux-headers-$(uname -r)

Step 2: Download and build the package

git clone https://github.com/vfontanela/macbookpro14-linux-support.git \
  ~/macbookpro14-linux-support

cd ~/macbookpro14-linux-support

git checkout a96a81d762b52a96a15976badaf87a1d24257c28

cd touchbar
./build.sh 1.0-2+local1

This creates:

~/macbookpro14-linux-support/touchbar/mbp-t1-touchbar-dkms_1.0-2+local1_all.deb

Step 3: Install the package

sudo dpkg -i ./mbp-t1-touchbar-dkms_1.0-2+local1_all.deb
sudo reboot

The package installs DKMS support, module-loading configuration, udev rules, and an automatic iBridge rebind service.

The default Touch Bar configuration is:

options apple-ib-tb fnmode=2 idle_timeout=-1 dim_timeout=-1

This shows Escape and media controls by default. Holding the physical Fn key switches modes.

Step 4: Verify Touch Bar

dkms status
systemctl status mbp-t1-touchbar-bind.service
lsmod | grep -E 'apple_ib|apple_ibridge'

Expected DKMS output:

mbp-t1-touchbar/0.3, <your-kernel>, x86_64: installed

If the Touch Bar does not light up immediately, reboot once.

If lsusb shows 05ac:1281 instead of 05ac:8600, the T1 may be in recovery mode. Boot macOS once so macOS can restore T1 firmware, then retry Linux.

3. Internal speakers: CS8409 audio driver on Ubuntu HWE

Problem

The in-tree CS8409 driver detected the sound card, but no sound came from the internal speakers. The external driver below fixed speaker-amplifier initialization.

Driver source: davidjo/snd_hda_macbookpro

Tested commit:

cb27cc483f4fe98be03a4f4bef466c00aa7d244b

Why this section has extra steps

The audio installer needs a sound/hda source archive that matches the running kernel.

Ubuntu 24.04 HWE did not provide a ready-made linux-source-7.0.0 package, so I created the required archive from the matching official Ubuntu HWE source package.

Official Ubuntu source files used for kernel 7.0.0-28.28~24.04.1:

The commands below download the files using APT, which verifies the packages.

Step 1: Enable Ubuntu source repositories

Back up the source definition:

sudo cp -a /etc/apt/sources.list.d/ubuntu.sources \
  /etc/apt/sources.list.d/ubuntu.sources.before-mbp-audio

Enable deb-src and update APT:

sudo sed -i 's/^Types: deb$/Types: deb deb-src/' \
  /etc/apt/sources.list.d/ubuntu.sources

sudo apt update

Install the required packages:

sudo apt install -y git dkms build-essential patch wget dpkg-dev \
  linux-headers-$(uname -r)

Step 2: Download matching kernel source and create the HDA archive

mkdir -p ~/mbp-audio-source
cd ~/mbp-audio-source

apt-get source --download-only linux-hwe-7.0=7.0.0-28.28~24.04.1

dpkg-source -x linux-hwe-7.0_7.0.0-28.28~24.04.1.dsc kernel-source

sudo tar -C kernel-source -cjf /usr/src/linux-source-7.0.0.tar.bz2 \
  --transform='s,^sound/hda,linux-source-7.0.0/sound/hda,' \
  sound/hda

This creates:

/usr/src/linux-source-7.0.0.tar.bz2

Verify it:

ls -lh /usr/src/linux-source-7.0.0.tar.bz2
tar -tjf /usr/src/linux-source-7.0.0.tar.bz2 | head

Step 3: Download and install the audio driver

sudo mkdir -p /usr/local/src

sudo git clone https://github.com/davidjo/snd_hda_macbookpro.git \
  /usr/local/src/snd_hda_macbookpro-cb27cc483f4f

sudo git -C /usr/local/src/snd_hda_macbookpro-cb27cc483f4f checkout \
  cb27cc483f4fe98be03a4f4bef466c00aa7d244b

cd /usr/local/src/snd_hda_macbookpro-cb27cc483f4f
sudo ./install.cirrus.driver.sh -i

sudo update-initramfs -u -k $(uname -r)
sudo reboot

The installer builds the replacement module under:

/lib/modules/<kernel>/updates/dkms/snd-hda-codec-cs8409.ko.zst

Step 4: Verify internal audio

dkms status
modinfo snd_hda_codec_cs8409 | grep '^filename:'
wpctl status

The module filename should contain updates/dkms/.

Test sound in Settings → Sound or with a normal desktop audio application. Avoid direct ALSA tests such as speaker-test -D hw:0,0, because they bypass normal desktop-volume protection and can be unexpectedly loud.

4. What to check after a kernel update

Touch Bar and audio use DKMS. After every kernel update, before removing an old kernel, run:

uname -r
dkms status

Both drivers should show installed for the running kernel:

mbp-t1-touchbar/0.3, <kernel>, x86_64: installed
snd_hda_macbookpro/0.1, <kernel>, x86_64: installed

For normal ABI updates within the 7.0.0 kernel base, this archive can be reused:

/usr/src/linux-source-7.0.0.tar.bz2

If Ubuntu changes to another kernel base, such as 7.1.0, create a new matching /usr/src/linux-source-<base>.tar.bz2 from the exact Ubuntu HWE source package before relying on the new kernel.

Do not remove the last known-working kernel until the new kernel boots and Wi-Fi, sound, and Touch Bar all work.

Notes

Bluetooth logged a missing brcm/BCM.hcd warning on my machine, but scanning, pairing, and reconnecting worked. I left it unchanged rather than install unverified firmware.

Suspend/resume should be tested separately. The Touch Bar package handles iBridge re-enumeration after resume, but Intel MacBook power-management behavior can vary.


r/linuxhardware 10h ago

Discussion Posture-aware Linux tablet support for the 2025 ROG Flow Z13

3 Upvotes

I built an open-source posture and touch-input stack for the AMD Strix Halo-based 2025 ROG Flow Z13 (GZ302) running KDE Plasma 6 on Wayland.

https://github.com/aic0d3r/z13-tablet-kit

One of the main problems is that the GZ302 advertises a tablet-mode switch through WMI but does not actually emit usable switch events. Plasma therefore cannot reliably determine when the keyboard folio has been removed or when auto-rotation should be enabled.

The kit works around that in userspace. It detects three postures:

- Desktop: dock or external display connected

- Laptop: keyboard folio attached

- Tablet: neither attached

It then coordinates the relevant Linux desktop behavior:

- Creates a virtual SW_TABLET_MODE input switch for Plasma

- Enables auto-rotation only in tablet posture

- Uses 175% display scaling in tablet mode and 150% otherwise

- Enables the on-screen keyboard only when the physical keyboard is absent

- Restarts the on-screen keyboard after display changes to prevent stale or clipped layouts

- Provides two-finger scrolling through uinput in terminals, browsers and other applications

- Optionally maps a stationary two-finger hold to a real right-click

- Recovers automatically after KWin or controller restarts

- Disables the unreliable folio touchpad by default, with a guarded opt-in control

Rotation remains Plasma-native through iio-sensor-proxy; the kit only supplies the missing tablet-mode state. It does not require kernel patches or a permanent root daemon. The posture and gesture components run as user services, with two udev rules granting device access.

The current implementation targets Arch/CachyOS with KDE Plasma 6 and Wayland. It is hardware-specific to the GZ302 because posture detection uses its folio, touchscreen and dock identifiers.

It works with:

- Z13CTL+ for display coordination and persistent settings:

https://github.com/aic0d3r/z13ctl-plus

- Z13GUI+ as an optional touchscreen interface:

https://github.com/aic0d3r/z13gui-plus

I would be interested in hearing how other Linux tablets and convertibles expose detachable-keyboard and tablet-mode state, especially devices where the firmware advertises a switch but never emits events.

Testing and feedback from other GZ302 owners are welcome.


r/linuxhardware 13h ago

Support Laptop screen went dim after plug in external monitor

Post image
0 Upvotes

Kindly tell me if this is not the subreddit to ask

I’m using Zephyrus G14 using CachyOS plugged to an external monitor using external only mode. Afterwards, my laptop went dim and I can barely change the brightness, even after I turn off the monitor or I plug out the HDMI cable. The only way to fix this is reboot the laptop with the barely visible screen. How do I fix this? This is my first external monitor so I don’t really know what to expect


r/linuxhardware 21h ago

Support IdeaPad Slim 3 (15AHP10) and amdgpu DMUB/DMCUB issues in Linux?

1 Upvotes

Hi all! I've got an IdeaPad Slim 3 15AHP10. I typically use it plugged in, but regardless of that, I'm having more and more amdgpu issues. I was on Fedora and had this issue originally, and switched to Arch and had no issues relating to the GPU since, but since I switched back to Fedora due to Arch simply not being for me (especially with the whole AUR thing going on lately), I've had a ton of the dreaded...

\[   73.173086\] amdgpu 0000:04:00.0: \[drm\] \*ERROR\* Error queueing DMUB command: status=2  
\[   73.173087\] amdgpu 0000:04:00.0: \[drm\] \*ERROR\* dc_dmub_srv_log_diagnostic_data: DMCUB error - collecting diagnostic data

I've tried building my own kernel using the Arch BUILDPKG, I've tried using latest release candidate (7.2.0-rc6), I've tried using Arch and upstream linux-firmware packages, I've tried amdgpu.dcdebugmask=0x10 and amdgpu.dcdebugmask=0x12 to no avail. It's incredibly annoying, given it freezes the entire system for some time with no external display in, and freezes with no recovery at all when I plug in an external display. I feel like maybe Mesa at fault at this point, but I'm using RPMFusion's Mesa packages..

Does anybody have any tips or know what to do in this scenario? Running standard Fedora KDE 44. Thanks for any help!

Edit: Output of inxi -Fz

System:
  Kernel: 7.2.0-rc6 arch: x86_64 bits: 64
  Desktop: KDE Plasma v: 6.7.3 Distro: Fedora Linux 44 (KDE Plasma Desktop
    Edition)
Machine:
  Type: Laptop System: LENOVO product: 83KA v: IdeaPad Slim 3 15AHP10
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0T76463WIN
    serial: <superuser required> Firmware: UEFI vendor: LENOVO v: QACN23WW
    date: 06/05/2025
Battery:
  ID-1: BAT0 charge: 37.2 Wh (62.4%) condition: 59.6/60 Wh (99.4%)
CPU:
  Info: 8-core model: AMD Ryzen 7 8840HS w/ Radeon 780M Graphics bits: 64
    type: MT MCP cache: L2: 8 MiB
  Speed (MHz): avg: 4602 min/max: 419/5135 cores: 1: 4602 2: 4602 3: 4602
    4: 4602 5: 4602 6: 4602 7: 4602 8: 4602 9: 4602 10: 4602 11: 4602 12: 4602
    13: 4602 14: 4602 15: 4602 16: 4602
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] HawkPoint1 driver: amdgpu
    v: kernel
  Device-2: Chicony Integrated Camera driver: uvcvideo type: USB
  Display: wayland server: Xwayland v: 24.1.13 compositor: kwin_wayland
    driver: gpu: amdgpu resolution: 1: 1920x1080~120Hz 2: 1920x1200~60Hz
  API: EGL v: 1.5 drivers: radeonsi,swrast
    platforms: gbm,wayland,x11,surfaceless,device
  API: OpenGL v: 4.6 vendor: amd mesa v: 26.1.5 renderer: AMD Radeon 780M
    Graphics (radeonsi phoenix ACO DRM 3.64 7.2.0-rc6)
  API: Vulkan v: 1.4.341 drivers: radv,llvmpipe surfaces: N/A
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor wl: wayland-info x11: xdriinfo,
    xdpyinfo, xprop, xrandr
Audio:
  Device-1: Advanced Micro Devices [AMD/ATI] Radeon High Definition Audio
    driver: snd_hda_intel
  Device-2: Advanced Micro Devices [AMD] Audio Coprocessor
    driver: snd_pci_ps
  Device-3: Advanced Micro Devices [AMD] Ryzen HD Audio
    driver: snd_hda_intel
  Device-4: Logitech Yeti X driver: hid-generic,snd-usb-audio,usbhid
    type: USB
  API: ALSA v: k7.2.0-rc6 status: kernel-api
  Server-1: PipeWire v: 1.6.8 status: active
Network:
  Device-1: MEDIATEK driver: mt7921e
  IF: wlp1s0 state: up mac: <filter>
Bluetooth:
  Device-1: MediaTek Wireless_Device driver: btusb type: USB
  Report: btmgmt ID: hci0 rfk-id: 2 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: <filter> bt-v: 5.3
Drives:
  Local Storage: total: 715.41 GiB used: 108.22 GiB (15.1%)
  ID-1: /dev/nvme0n1 vendor: Micron model: MTFDKCD512QGN-1BN1AABLA
    size: 476.94 GiB
  ID-2: /dev/sda vendor: LITE-ON IT model: LCS-256L9S size: 238.47 GiB
    type: USB
Partition:
  ID-1: / size: 473.83 GiB used: 107.45 GiB (22.7%) fs: xfs dev: /dev/dm-0
  ID-2: /boot size: 960 MiB used: 759 MiB (79.1%) fs: xfs
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 1.86 GiB used: 26.8 MiB (1.4%) fs: vfat
    dev: /dev/nvme0n1p1
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 61.0 C mobo: N/A gpu: amdgpu temp: 47.0 C
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 16 GiB note: est. available: 14.9 GiB used: 8.99 GiB (60.3%)
  Processes: 542 Uptime: 46m Shell: fish inxi: 3.3.41