Msi linux lighting random
This project is not actively maintained. No support for additional boards will be added.
At the time of writing OpenRGB is actively maintained and supports variety of devices, including MSI boards with code adapted from this project. Just use that. If it doesn’t work, this tool won’t work either. If it doesn’t support functionality this tool does, consider porting similar functionality to OpenRGB.
Utility for controlling RGB header on MSI boards
This utility not only works on any linux system you find around, it also is much more flexible than the 7 colours MSI’s own Gaming App. Futhermore, unlike the MSI’s utility, this does not make your system vulnerable to anybody who cares to fiddle around the system.
- Linux (/dev/port, might work on WSL?) or FreeBSD (/dev/io);
- Only MSI motherboards with NCT6795D super I/O chip;
- Run a recent version of sensors-detect to check if you have this chip;
- No warranty whatsoever (read the license);
- If you find your board misbehaving, try clearing CMOS;
Reportedly Working boards
- B350 MORTAR ARCTIC
- B350 PC MATE
- B350 TOMAHAWK
- B360M GAMING PLUS
- B450 GAMING PLUS AC
- B450 MORTAR
- B450 TOMAHAWK
- H270 MORTAR ARCTIC
- H270 TOMAHAWK ARCTIC
- X470 GAMING PLUS
- X470 GAMING PRO
- Z270 GAMING M7
- Z270 SLI PLUS
- Z370 MORTAR
- Z370 PC PRO
- Z270 GAMING M6 AC (confirmed to correctly disable LEDs only)
- B450M Mortar Titanium (with some caveats)
- B360 gaming plus (colours inverted)
- Z390 Gaming Plus (#116)
- b450m pro-vdh max (#114, #109)
- B450M GAMING PLUS (#112)
How to compile and run
To compile this project you’ll need rustc and cargo. Get them at your package manager or here.
You’ll need root to run this program:
The hexa numbers represent each color as a sequence in time per byte so 4 change of colors.
Источник
Msi linux lighting random
Working on MSI Center software and making laptops with this software respond to calls from same script!!
Brand New UI. Now work as App Indicator
Expanded Basic Menu
Expanded Battery Menu
Advanced Fan curve Window
MSI Dragon Center for Linux
Official name :- OpenFreezeCenter
- This project will be weekly Updated!
- For more features do comment and share your views!
- Well if you like my work, Do follow me for more awesome projects!!
For Those running Linux Distro on MSI laptops. This is the Graphic User Interface application meant for Fan control and monitoring in Linux.
- This Application can run on any Linux distro!!
- Installation is very easy with one command solution!!
Disable SECURE BOOT because it interferes with the permission of the script to read/write to EC file.
.DEB package comming soon, till then delete previous versions of the application by deleting the directory and replacing it with the new release you download. Reinstall is not required and will be only done the first time automatically! thanks to # @Special-Niewbie
How To Install GUI app?
- Download the .zip from the github and extract it wherever you want
- Open terminal inside the extracted folder and run ./at_startup.sh
- This will install all the dependencies which are missing and open the GUI app for the first time.
- App will create conf.txt file. it will contain all your configurations and fan curve values. deleting that file will reset all your fan curves.
How To Run GUI app?
- Open terminal inside the extracted folder and run ./at_startup.sh
For any issue follow the guideline below
- Specify the System Specifications [CPU, GPU] and Model Number [MSI GP76 11UG].
- Write the problem with some description.
- Attach relevant screenshots.
Working on models
- MSI GE66
- MSI GS65
- MSI GF63
- MSI GP76 (11th Gen Intel)
- HELP ME ADD MORE MODELS. TEST AND REPORT ME
Working on Linux distro
- Ubuntu
- Pop OS
- Mint
- Kubuntu
- HELP ME ADD MORE DISTROS. TEST AND REPORT ME
- If you are not able to see the Speed of CPU fan but the percentage is showing perfectely fine, then do enable the Intel 11Th gen and report me and tell the generation of your processor. The 11th gen tag is alone write now, 10th gen please do check and confirm!!
About
For Those running Linux Distro on MSI laptops. This is the Graphic User Interface application meant for Fan control in Linux.
Источник
Msi linux lighting random
This progam allows to control the SteelSeries per-key RGB keyboard backlighting on MSI laptops such as the GE63VR. It will not work on models with region-based backlighting (such as GE62VR and others). For those you should use tools like MSIKLM.
This is an unofficial tool, I am not affiliated to MSI nor SteelSeries in any way.
If you are on Archlinux, use this AUR package : msi-perkeyrgb (not up-to-date with the Git version yet)
For Ubuntu or others :
After installation, you must reboot your computer (necessary for the udev rule to take effect, if you don’t you will run into permission problems)
Keys can be assigned a fixed color («steady» mode), either through a configuration file for each individual key, or via a command-line argument for the whole keyboard,
A few select presets are also available for supported models, which emulate vendor-provided SteelSeries configurations.
This tool should probably work on any recent MSI laptop with a per-key RGB keyboard. It was tested with the following models :
Model | Basic color support |
---|---|
GE63 | Yes |
GE73 | Yes |
GE75 | Yes |
GL63 | Yes |
GS63 | Yes |
GS65 | Yes |
GS75 | Yes |
GT63 | Yes |
GT75 | Yes |
If you have some additional test results, feel free to open a GitHub issue to help expand this list !
- Python 3.4+
- setuptools
- Archlinux : # pacman -S python-setuptools
- Ubuntu : # apt install python3-setuptools
- Fedora : # dnf install python3-setuptools
- libhidapi 0.8+
- Archlinux : # pacman -S hidapi
- Ubuntu : # apt install libhidapi-hidraw0
- Fedora : # dnf install hidapi
IMPORTANT : you need to have read/write access to the HID interface of your keyboard. The included udev rule should take care of that, but here are some instructions just in case :
The HID interface is shown as /dev/hidraw* where * can be 0, 1, 2. (there can be more than one if you have a USB mouse or keyboard plugged in). Find the right one (try them all if necessary) and give yourself permissions with # chmod 666 /dev/hidraw* .
Built-in preset (see —list-presets for available options) :
Set from configuration file :
The configuration file allows you to set individual key configurations. It can have any extension. See the dedicated wiki page for its syntax and examples.
How does it work, and credits
The SteelSeries keyboard is connected to the MSI laptop by two independent interfaces :
- A PS/2 interface to send keypresses
- a USB HID-compliant interface to receive RGB commands
Talking to the RGB controller from Linux is a matter of sending the correct binary packets on the USB HID interface. I used Wireshark to capture the traffic between the SteelSeries Engine on Windows and the keyboard, and then analyzed the captured data to figure out the protocol used. I was only able to reverse-engineer the simple «steady color» commands, but that work was massively improved upon by TauAkiou, who figured out the rest of the protocol and implemented the remaining effects (UPDATE: effects support been disabled for now, for security reasons. See https://github.com/Askannz/msi-perkeyrgb/issues/24 ). His work include an amazingly detailed write-up of the protocol which you can read here.
Also thanks to tbh1 for providing packet dumps of presets effects.
The HID communication code was inspired by other tools designed for previous generations of MSI laptops, such as MSIKLM.
Источник
Msi linux lighting random
The MSI Keyboard Light Manager (MSIKLM) is an easy-to-use tool that allows to configure the SteelSeries keyboards of MSI gaming notebooks with Linux / Unix in almost the same way as the SteelSeries Engine can do using Windows.
I tried to keep the external dependencies to a minimum level, however there are some unavoidable ones. These are:
- GCC — the C compiler
- make — the main build tool of the Linux world
- LIBUSB — MSIKLM needs to communicate with the keyboard, for this LIBUSB is required
Besides there are no others, no Qt, no Java, not even a C++ compiler is required. To install the program on any Debian-based Linux distribution (for instance any ubuntu-based one), there is an installation script ‘install.sh’ which can be run by opening the respective folder in a terminal and typing
or if there are any problems you can try
as well which most certainly will work on most Debian-based distributions. This script will do the following steps, if you do not want to use the installation script for some reason, you can use the manual commands instead:
installation of the dependencies
compiling of MSIKLM
copy the built program to ‘/usr/local/bin/msiklm’ and set its permissions
test the connection
Whenever MSIKLM is used, it should always be run as root because otherwise, the communication with the keyboard is not possible, hence always use the sudo prefix (only ‘msiklm help’ will work as non-root).
Currently, there are also the following packages available to install MSIKLM:
MSIKLM is a pure command line application, however its keyboard illumination control functionality is encapsulated such that it could easily be integrated into a graphical user interface. However, I neither wrote one for it nor I plan to do so. It is quite easy to use, and here is how to use it. It always has to be called with at least one argument, i.e. running it without one will result in an error. Here is an overview over the valid commands:
command | valid arguments | example |
---|---|---|
sudo msiklm | either a predefined color or arbitrary RGB values ([R;G;B] or hex code), cf. explanation below | sudo msiklm green |
sudo msiklm [, , , . ] | same as single color (important: no space between the colors!), cf. explanation below | sudo msiklm green,blue,red |
sudo msiklm | normal, gaming, breathe, demo, wave | sudo msiklm wave |
sudo msiklm | color as above, brightness can be off, low, medium, high, rgb | sudo msiklm green high |
sudo msiklm | same as above | sudo msiklm green,blue,red wave |
sudo msiklm | same as above | sudo msiklm green,blue,red high wave |
The predefined supported colors are: none, off (equivalent to none), red, orange, yellow, green, sky, blue, purple and white. The color configuration can also be performed in an more advanced way: At most seven zones are supported (as long as supported by your device) and the respective colors have to be supplied in the following order: left, middle, right, logo, front_left, front_right and mouse. If there is only one supplied color, it is reused for the first three zones, the remaining ones stay unchanged (i.e. green as single argument is equivalent to green,green,green). The colors have to be separated with no spaces between the colors, simply add a comma for a new zone. The last four colors are fully optional, i.e. they are set if and only if they are supplied. Consequently, if you want to change the last color (mouse), you have to specify a color for all zones. Instead of a predefined color, each color can alternatively be set in full RGB notation; the color values have to be either enclosed by brackets and separated by semicolons, e.g. ‘green’ is equivalent to using [0;255;0], or hex code notation can be used (0x000000 to 0xFFFFFF) where the respective values have to be selected accordingly. It is possible to mix these explicit color definitions with predefined ones, e.g. you can select a custom color for the left zone and use predefined for the others by supplying [R;G;B],green,blue. Please note that it might be necessary to put quotation marks around explicit color definitions, otherwise the argument might not be properly processed by the shell.
Further, the brightness argument can only be set to low, medium and high if no custom rgb-color is given, while not supplying it is equivalent to supply ‘rgb’. The reason for this is two-fold: First, it makes little to no sense to explicitly define the color and to give a brightness as well, second the brightness can be used to switch to a different way of communicating with the keyboard. Besides technical details (see function set_color() in msiklm.c for further details if you are interested in them), it improves the compatibility with different devices, however the brightness has to be explicitly given. For example ‘sudo msiklm green’ will set the color green using its rgb-values (i.e. red=0, green=255, blue=0 or 0x00FF00 in hex code notation) while ‘sudo msiklm green high’ does basically the same but using a different way which might be supported by keyboards that do not support full rgb-color selection. As I do not have a bunch of different notebook available to test them, I cannot say which command will work at which keyboard.
Additionally, there are three extra commands that might be useful if something does not work:
An important additional feature is the optional autostart functionality since the keyboard will reset itself to its default color configuration whenever you reboot it or resume from standby. Hence, it is really useful to automatically reconfigure the keyboard to your configuration of choice. To do this, there is an extra script called ‘autostart.sh’ that can do this for you. This script registers MSIKLM to the udev service (more precisely it registers the keyboard to the udev service which calls MSIKLM as soon as the keyboard is detected) by creating a rule file:
To create this file including your MSIKLM arguments of choice, run:
Try if everything works by first rebooting your system and then try a standby and wakeup. If everything works, we are done here. If not, please report an issue. 🙂
Finally, the autostart can be disabled by running
which will disable the autostart by removing the rule file.
MSIKLM also comes with an uninstallation script uninstall.sh which will remove the program file /usr/local/bin/msiklm as well as running ./autostart —disable, i.e. it disables the autostart. If you want to use it, simply run:
The source code is split into three files:
- Main application ( main.c ) that converts the input
- Small library that contains the main features ( msiklm.h and msiklm.c ). This provides a simple C API and hence allows an easy integration into different programs like maybe a small graphical user interface.
About
Control the SteelSeries keyboard of your MSI gaming notebook with Linux
Источник