MControlCenter is a Free and Open Source GNU/Linux application that allows you to change the settings of MSI laptops.
- CPU and GPU temperature display
- Fan speed display
- Switch between modes (Since version 0.2):
- High Performance
- Balanced
- Silent
- Super Battery
- Change the maximum battery level limit
- Advanced Fan Speed Control (Since version 0.4)
- Change other settings such as keyboard backlight mode, USB Power Share, etc.
- Saving multiple fan speed profiles
With version 0.5.0 the app uses the msi-ec driver that comes with the linux kernel (you might need to reinstall the driver), so device support depends on whether the kernel driver supports your device or not.
List of tested devices by msi-ec
If your device is not on the list, follow the steps on the msi-ec github page and open an issue there to add support for your device.
This is a Qt6 application. So you need to have the following package installed first (the application will fail to open without it!):
For Debian/Ubunutu/linux mint and all debian based distributions:
sudo apt install libqt6widgets6 libqt6dbus6
For Fedora you'll need: qt6-qtbase-gui, and for Arch Linux: qt6-base.
Check the output of cat /sys/devices/platform/msi-ec/shift_mode in your terminal, if it says No such file or directory it means that you need to install or reinstall (uninstall first then install) the msi-ec driver. or the application will open but it can't do much
Also, to get temperature and fan curve support, you'll need to install ec_sys (most distributions) or acpi_sys (fedora) with write_support=1 which is already enabled in most distributions. the app can still work with only msi-ec installed.
- Download
MControlCenter-x.x.x.tar.gzfrom the releases page - Unpack the archive with the program
- Open terminal in unpacked directory
- Run the script
sudo ./install
Note: if your distribution ships old versions of Qt (older than 6.8) like ubuntu/Linux mint (Qt 6.4), you might need to build from source, continue reading.
After installing the main package (qt6-base or libqt6widgets6), you'll need to install other packages to build the app.
For ubuntru/Linux mint:
sudo apt install qt6-base-dev qt6-tools-dev
For Fedora qt6-qttools And for Arch qt6-tools
After you install the packages:
Make sure the app is completely closed if it was installed before (check if there is a system tray icon and close it).
Download the source code from here and extract the zip file.
Open the scripts folder.
Open a terminal inside the folder, then run these scripts in order:
buildcreate installer
If things went well, you should see a compressed file,
- Extract it.
- Open a terminal inside the new folder
- Run the UNINSTALL script as sudo, it might fail if you don't have MCC installed. thats fine.
- Run the INSTALL script as sudo, the last line should be a confirmation that the install was successful.
- Check your apps, McontrolCenter should be there.
If the installation was successful but the app fails to run, open a terminal and type mcontrolcenter, copy the output and open an issue (IF there isn't one already).
zypper addrepo https://download.opensuse.org/repositories/home:dmitry-s/openSUSE_Tumbleweed/home:dmitry-s.repo
zypper refresh
zypper install mcontrolcenterzypper addrepo https://download.opensuse.org/repositories/home:dmitry-s/openSUSE_Leap_15.5/home:dmitry-s.repo
zypper refresh
zypper install mcontrolcenterzypper addrepo https://download.opensuse.org/repositories/home:dmitry-s/15.4/home:dmitry-s.repo
zypper refresh
zypper install mcontrolcenterTo restore settings after a reboot, add MControlCenter to startup.
Execute this command on a terminal:
cp /usr/share/applications/mcontrolcenter.desktop ~/.config/autostart/mcontrolcenter.desktop
You can help translate the MControlCenter app into your native language
- Copy
/src/i18n/MControlCenter_en.tstosrc/i18n/MControlCenter_xx.tswhere xx is language code into which the translation is being made. - Open
MControlCenter_xx.tsin text editor and changelanguage="en_US"to your language code. - Translate strings into your language directly in a text editor or use the QT Linguist app.
- Translate
GenericNamein app shortcutresources/mcontrolcenter.desktop. To do this, add the lineGenericName[xx]=translated generic name. - Send pull request on github.
