3

I have 534d:6021 MacroSilicon VGA Display Adapter which I want to connect my third screen through my usb 3 port. However it has only windows drivers. How can I setup this adapter with a suitable driver on my ubuntu 22.04.

USB 534d:6021 »
/ 03-00-00  MacroSilicon    VGA Display Adapter cdrom   uas, usb_storage    detected 

this is the output of hw-probe.

tealy
  • 109

2 Answers2

3

(I don't own the hardware so not completely tested)

  1. Update to the latest Ubuntu 22.04.3 (you should be running 6.2 kernel)
  2. Run these commands:
cd Downloads
wget https://github.com/nunesbns/ms912x/archive/refs/heads/kernel-6-support.zip
unzip kernel-6-support.zip
cd ms912x-kernel-6-support/
sudo apt install -y build-essential
make clean
make all -j
sudo modprobe drm_shmem_helper
sudo insmod ms912x.ko
journalctl -k | grep ms912x
# expected output:
# Oct 12 12:59:56 hp-laptop kernel: usbcore: registered new interface driver ms912x
  1. Test if your device works.
R A
  • 927
1

Install MacroSilicon USB to HDMI Adapter driver (534d:6021)

Installation process

To install, run these commands...

git clone https://github.com/rhgndf/ms912x.git
cd "./ms912x"

These git commands allow you to clean up a previous installation and ensure you

have the latest version in case of reinstallations or tests.

git fetch --all git reset --hard origin/main git clean -fdx

make clean make all -j sudo rmmod ms912x # It will not work if the device is in use. sudo insmod ms912x.ko sudo modprobe drm_shmem_helper

IMPORTANT: Linux kernel 6.2.X (or above) is necessary, because of DRM support.

EXTRA: Necessary packages for Manjaro Linux yay -S linux65; yay -S linux65-headers; yay -S make; yay -S base-devel; yay -S binutils; yay -S libdrm; yay -S sparse; yay -S zstd. Ubuntu has equivalent packages (Kernel's ones, perhaps not).

... OR (simply)...

bash insmod.sh

Information about your device (or about problems with it)

Some commands to obtain information about your device (or about problems with it)...

lsusb -v
dmesg | grep -Ei "ms912x"
journalctl -k | grep -Ei "ms912x"
edid-decode < /sys/class/drm/<YOUR_DEVICE>/edid
cat /etc/X11/xorg.conf.d/10-prime-offload.conf

Results I got

On Linux, the performance is UNACCEPTABLE and there are also compatibility problems.

Other than that the device claims to be USB 3.0, but it's just USB 2.0 .

NOTE: It didn't work with the KDE gui using X11 (I had to use Wayland that is immature). The distribution tested was Manjaro KDE.

Conclusion

Unfortunately, MacroSilicon is not interested in Linux users (a shame, really ), nor does it support important and valuable open source projects like this one ms912x driver for Linux.

Therefore, at the moment, my guidance is that Linux users use devices based on DisplayLink chips (manufacturer Synaptics). I tested the WL-UG3501H device, for example, and had excellent results. The manufacturer Synaptics provides good support for Linux drivers.

EXTRA: To install drivers for devices based on DisplayLink chips (manufacturer Synaptics) on Manjaro Linux use the command yay -S displaylink. Ubuntu has an equivalent package. Installing the kernel headers for your current kernel may be necessary.

PLUS: USB video card adapters for Linux Ubuntu .

Thanks!

Eduardo Lúcio
  • 234
  • 4
  • 15