Skip to content

Platform Information

Mark Shi edited this page Mar 16, 2026 · 2 revisions

English | 简体中文

Linux

Why is the resolution strange and cannot cover the full screen on the controller?

Modify the prefs configuration file, which is the same as the Windows version registry.

nano $HOME/.config/unity3d/bbben/MajdataPlay/prefs

Then modify the following values:

    ...
	<pref name="Screenmanager Resolution Height" type="int">1800</pref>
    ...
    <pref name="Screenmanager Resolution Width" type="int">2880</pref>
    ...
    <pref name="UnitySelectMonitor" type="int">0</pref>
    ...

Where:

  1. Screenmanager Resolution Height and Screenmanager Resolution Width are the actual resolution of the current screen (or controller).
  2. UnitySelectMonitor specifies which monitor to run on, you can use xrandr to check the monitor number.

How do I connect the controller?

If you find that buttons and touchscreen are unresponsive after connecting the controller, execute the following command to add the current user to the dialout group (most Linux distributions) or uucp group (ArchLinux‑based distributions). If unsure, you can add to both.

sudo usermod -a -G dialout,uucp $USER

After, logout and login, or simply reboot.

Then edit and add a udev rule:

sudo nano /etc/udev/rules.d/99-maicontrollers-hid.rules

The rule content is as follows:

KERNEL=="ttyACM[0-9]*", MODE="0666", GROUP="dialout"
KERNEL=="ttyUSB[0-9]*", MODE="0666", GROUP="dialout"
# General IO4 Controller
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0ca3", ATTRS{idProduct}=="0021", GROUP="plugdev", MODE="0660"
# ADX Controller
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="5750", GROUP="plugdev", MODE="0660"
# Dao Controller
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0e8f", ATTRS{idProduct}=="1224", GROUP="plugdev", MODE="0660"

If your controller does not match the three types above, modify the corresponding idVendor (i.e., VID) and idProduct (i.e., PID). Note: these values are in hexadecimal.

Execute the following commands to reload and activate the rules:

sudo udevadm control --reload-rules
sudo udevadm trigger

Then try unplugging and replugging the controller's USB cable to check if it works.

Why do some charts have BGA but it doesn't play, and loading too slow?

Because Unity's VideoPlayer on Linux only supports VP8‑encoded WebM format videos. If you need to play BGA, place transcode-mp4-to-webm.sh in the same directory as the game and execute (make sure ffmpeg is installed on your system):

chmod +x transcode-mp4-to-webm.sh
./transcode-mp4-to-webm.sh

The script can be obtained from LiarOnce/MajdataPlay-LinuxExtra.

Clone this wiki locally