Patched for:
- Linux Mint 22.3
- Kernel 6.17.0-35-generic
- Cinnamon 6.6.7
- X11
Patch for the official MacroSilicon MS9132 USB-to-HDMI driver (v3.0.3.12) on Linux.
If you are in a different kernel version, try run first:
make clean && makesudo apt update
sudo apt install linux-headers-$(uname -r) build-essential
# Install modules
sudo mkdir -p /lib/modules/$(uname -r)/extra
sudo cp drm/usbdisp_drm.ko drm/usbdisp_usb.ko /lib/modules/$(uname -r)/extra/
sudo depmod -a
sudo modprobe usbdisp_drm
sudo modprobe usbdisp_usb
# Autoload at boot
echo -e "usbdisp_drm\nusbdisp_usb" | sudo tee /etc/modules-load.d/usbdisp.conf
# Reboot and verify
sudo reboot# Modules loaded
lsmod | grep usbdisp
# Expected: usbdisp_usb + usbdisp_drm
# DRM device opens successfully
python3 -c 'import os; fd=os.open("/dev/dri/card1", os.O_RDWR); print("OK", fd); os.close(fd)'
# Expected: "OK 3" (or any number)
# No WARNING in dmesg
sudo dmesg | grep 'WARNING.*drm_file'
# Expected: no output
# DRM connectors
ls /sys/class/drm/card1-*
# Expected: card1-HDMI-A-2, card1-HDMI-A-3, card1-HDMI-A-4
# USB device detected (with adapter plugged in)
lsusb | grep 534d
# Expected: Bus xxx Device xxx: ID 534d:9132
# xrandr
xrandr --listproviders
# Expected: 2 providers (your GPU + msdisp)DKMS automatically recompiles the driver whenever a new kernel is installed via apt.
sudo apt install dkms
# Copy source to DKMS tree
sudo cp -r /path/to/patched-driver-source /usr/src/ms9132-1.0
# Register, build, and install
sudo dkms add ms9132/1.0
sudo dkms build ms9132/1.0
sudo dkms install ms9132/1.0After this, kernel updates via apt will automatically recompile and install the modules. No manual intervention needed.
sudo dkms status
# Expected: ms9132/1.0, <kernel-version>, x86_64: installedsudo dkms remove ms9132/1.0 --all
sudo rm -rf /usr/src/ms9132-1.0- ms9132-linux-patches - Pre-patched sources for Debian 12 and 13
- ms912x - Reverse-engineered open source driver for MS912x chips