MSI Keyboard Backlight

Hello folks!

I installed Manjaro on my MSI GS76 laptop and have been using it for a few months. Compared to Micro$oft’s Windows, I’m absolutely amazed how superb and great Manjaro is… so much so that I stopped using Windows.

Almost everything works perfect other than the keyboard backlight on my laptop. I do a lot of typing in dim light. It would have been great to have the keyboard backlight working on my laptop as well.

To get the keyboard backlight working on my laptop, I tried the tools below but nothing worked so far.
Backlight-dbus-git
backlight-git
backlight-openrc
asus-kbd-backlight
tp-kb-backlight-git
als-controller-git
keyboard-configurator
keyboard-configurator-git
msi-keyboard-light
msiklm-git
rgb_keyboard-git
msi-perkeyrgb
msi-rgb

Before and during Manjaro boot-up, the keyboard backlight lights up a few times very briefly and then gets turned off. It looks like the bios is turning on the keyboard backlight, but Manjaro may be turning it off for some reason. I know this issue may be a shot in the dark, but just wanted to give this a last try.

Thanks!

Info about my system:
KDE Plasma Version: 5.23.5
KDE Frameworks Version: 5.90.0
Qt Version: 5.15.2
Kernel Version: 5.16.7-1-MANJARO (64-bit)
Graphics Platform: X11
Processors: 16 × 11th Gen Intel® Core™ i9-11900H
Memory: 32 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 3070 Laptop GPU/PCIe/SSE2

1 Like

Hi @BIZDIK, and welcome!

Yeah, the keyboard backlight is one of those essential nice-to-haves. Don’t really need it, until it’s gone.

Searching the AUR, I find many packages for exactly that:

$ pamac search msi
[...]
msi-perkeyrgb                                                                                                                                                                                                                 2.1-2               AUR
Configuration tool for SteelSeries per-key RGB keyboards on MSI laptops
msi-keyboard-light-manager                                                                                                                                                                                                    1.0.0-2             AUR
MSI keyboard light manager
msi-keyboard-light                                                                                                                                                                                                            0.1.0-3             AUR
Tool for msi keyboard backlight administration
msi-keyboard-git                                                                                                                                                                                                              r19.fb57be9-2       AUR
Utility to control MSI Steelseries keyboards, written in C++
msi-kb-backlit                                                                                                                                                                                                                0.1.0.1-1           AUR
A command line tool to change backlit colors of your MSI keyboard
[...]

So perhaps try one of those. Install it with:

pamac build <packageName>

Where <packageName> is the name chosen from above you’d like to install.

Hope this helps!

If it doesn’t report back with more information:

Also share the output of ls -l /sys/class/leds/.

Thank you for your reply and help, Mirdarthos! Truly appreciated!

I seem to have installed “msi-perkeyrgb” without any error. Since this package (msi-perkeyrgb) doesn’t seem to have a “GUI” (Graphical User Interface) like a typical Windows app does, I’m assuming that I first need to set up and run some sort of configuration file to initialize the keyboard backlight to get it to work. So, that’s where I’m stuck and don’t know what to do next with “msi-perkeyrgb”.

Here is the result of “pamac build msi-perkeyrgb

pamac build msi-perkeyrgb                                                                                                                                                        ✔ 
Preparing...
Checking msi-perkeyrgb dependencies...
Warning: msi-perkeyrgb-2.1-2 is up to date -- reinstalling
Resolving dependencies...
Checking inter-conflicts...

To install (4):
  bison          3.8.2-1            core  803.5 kB
  pkgconf        1.8.0-1            core  59.0 kB
  autoconf       2.71-1             core  660.7 kB
  automake       1.16.5-1           core  627.5 kB
To build (1):
  msi-perkeyrgb  2.1-2              AUR

Total download size: 2.2 MB
Total installed size: 6.8 MB

Edit build files : [e] 
Apply transaction ? [e/y/N] y

Download of autoconf (2.71-1) started                                                                                                                                                           
Download of pkgconf (1.8.0-1) started                                                                                                                                                           
Download of pkgconf (1.8.0-1) finished                                                                                                                                                          
Download of bison (3.8.2-1) started                                                                                                                                                             
Download of autoconf (2.71-1) finished                                                                                                                                                          
Download of bison (3.8.2-1) finished                                                                                                                                                            
Download of automake (1.16.5-1) started                                                                                                                                                         
Download of automake (1.16.5-1) finished                                                                                                                                                        
Checking keyring...                                                                                                                                                                        [4/4]
Checking integrity...                                                                                                                                                                      [4/4]
Loading packages files...                                                                                                                                                                  [4/4]
Checking file conflicts...                                                                                                                                                                 [4/4]
Checking available disk space...                                                                                                                                                           [4/4]
Installing bison (3.8.2-1)...                                                                                                                                                              [1/4]
Installing pkgconf (1.8.0-1)...                                                                                                                                                            [2/4]
Installing autoconf (2.71-1)...                                                                                                                                                            [3/4]
Installing automake (1.16.5-1)...                                                                                                                                                          [4/4]
Running post-transaction hooks...
Arming ConditionNeedsUpdate...                                                                                                                                                             [1/3]
Refreshing PackageKit...                                                                                                                                                                   [2/3]
Updating the info directory file...                                                                                                                                                        [3/3]
Cloning msi-perkeyrgb build files...
Generating msi-perkeyrgb information...

Building msi-perkeyrgb...
==> Making package: msi-perkeyrgb 2.1-2 (Tue 15 Feb 2022 09:57:15 PM EST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Cloning msi-perkeyrgb git repo...
Cloning into bare repository '/var/tmp/pamac-build-atici/msi-perkeyrgb/msi-perkeyrgb'...
remote: Enumerating objects: 514, done.
remote: Counting objects: 100% (47/47), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 514 (delta 17), reused 25 (delta 4), pack-reused 467
Receiving objects: 100% (514/514), 124.92 KiB | 2.97 MiB/s, done.
Resolving deltas: 100% (302/302), done.
==> Validating source files with sha256sums...
    msi-perkeyrgb ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of msi-perkeyrgb git repo...
Cloning into 'msi-perkeyrgb'...
done.
Switched to a new branch 'makepkg'
==> Starting build()...
running build
running build_py
creating build
creating build/lib
creating build/lib/msi_perkeyrgb
copying msi_perkeyrgb/hidapi_types.py -> build/lib/msi_perkeyrgb
copying msi_perkeyrgb/hidapi_wrapping.py -> build/lib/msi_perkeyrgb
copying msi_perkeyrgb/__init__.py -> build/lib/msi_perkeyrgb
copying msi_perkeyrgb/main.py -> build/lib/msi_perkeyrgb
copying msi_perkeyrgb/parsing.py -> build/lib/msi_perkeyrgb
copying msi_perkeyrgb/msiprotocol.py -> build/lib/msi_perkeyrgb
copying msi_perkeyrgb/msi_keyboard.py -> build/lib/msi_perkeyrgb
copying msi_perkeyrgb/config.py -> build/lib/msi_perkeyrgb
creating build/lib/msi_perkeyrgb/protocol_data
copying msi_perkeyrgb/protocol_data/__init__.py -> build/lib/msi_perkeyrgb/protocol_data
copying msi_perkeyrgb/protocol_data/keycodes.py -> build/lib/msi_perkeyrgb/protocol_data
copying msi_perkeyrgb/protocol_data/presets_index.py -> build/lib/msi_perkeyrgb/protocol_data
copying msi_perkeyrgb/protocol_data/msi_keymaps.py -> build/lib/msi_perkeyrgb/protocol_data
creating build/lib/msi_perkeyrgb/protocol_data/presets
copying msi_perkeyrgb/protocol_data/presets/2.json -> build/lib/msi_perkeyrgb/protocol_data/presets
copying msi_perkeyrgb/protocol_data/presets/1.json -> build/lib/msi_perkeyrgb/protocol_data/presets
==> Entering fakeroot environment...
==> Starting package()...
running install
/usr/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
running install_lib
creating /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib
creating /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10
creating /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages
creating /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb
copying build/lib/msi_perkeyrgb/hidapi_types.py -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb
copying build/lib/msi_perkeyrgb/hidapi_wrapping.py -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb
copying build/lib/msi_perkeyrgb/__init__.py -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb
copying build/lib/msi_perkeyrgb/main.py -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb
creating /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/protocol_data
copying build/lib/msi_perkeyrgb/protocol_data/__init__.py -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/protocol_data
copying build/lib/msi_perkeyrgb/protocol_data/keycodes.py -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/protocol_data
copying build/lib/msi_perkeyrgb/protocol_data/presets_index.py -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/protocol_data
copying build/lib/msi_perkeyrgb/protocol_data/msi_keymaps.py -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/protocol_data
creating /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/protocol_data/presets
copying build/lib/msi_perkeyrgb/protocol_data/presets/2.json -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/protocol_data/presets
copying build/lib/msi_perkeyrgb/protocol_data/presets/1.json -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/protocol_data/presets
copying build/lib/msi_perkeyrgb/parsing.py -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb
copying build/lib/msi_perkeyrgb/msiprotocol.py -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb
copying build/lib/msi_perkeyrgb/msi_keyboard.py -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb
copying build/lib/msi_perkeyrgb/config.py -> /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb
byte-compiling /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/hidapi_types.py to hidapi_types.cpython-310.pyc
byte-compiling /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/hidapi_wrapping.py to hidapi_wrapping.cpython-310.pyc
byte-compiling /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/__init__.py to __init__.cpython-310.pyc
byte-compiling /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/main.py to main.cpython-310.pyc
byte-compiling /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/protocol_data/__init__.py to __init__.cpython-310.pyc
byte-compiling /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/protocol_data/keycodes.py to keycodes.cpython-310.pyc
byte-compiling /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/protocol_data/presets_index.py to presets_index.cpython-310.pyc
byte-compiling /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/protocol_data/msi_keymaps.py to msi_keymaps.cpython-310.pyc
byte-compiling /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/parsing.py to parsing.cpython-310.pyc
byte-compiling /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/msiprotocol.py to msiprotocol.cpython-310.pyc
byte-compiling /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/msi_keyboard.py to msi_keyboard.cpython-310.pyc
byte-compiling /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb/config.py to config.cpython-310.pyc
writing byte-compilation script '/tmp/tmpj89wtgha.py'
/usr/bin/python -Wignore:The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives:DeprecationWarning /tmp/tmpj89wtgha.py
removing /tmp/tmpj89wtgha.py
running install_egg_info
running egg_info
creating msi_perkeyrgb.egg-info
writing msi_perkeyrgb.egg-info/PKG-INFO
writing dependency_links to msi_perkeyrgb.egg-info/dependency_links.txt
writing entry points to msi_perkeyrgb.egg-info/entry_points.txt
writing top-level names to msi_perkeyrgb.egg-info/top_level.txt
writing manifest file 'msi_perkeyrgb.egg-info/SOURCES.txt'
reading manifest file 'msi_perkeyrgb.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'msi_perkeyrgb.egg-info/SOURCES.txt'
Copying msi_perkeyrgb.egg-info to /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/lib/python3.10/site-packages/msi_perkeyrgb-2.1-py3.10.egg-info
running install_scripts
Installing msi-perkeyrgb script to /var/tmp/pamac-build-atici/msi-perkeyrgb/pkg/msi-perkeyrgb/usr/bin
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "msi-perkeyrgb"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: msi-perkeyrgb 2.1-2 (Tue 15 Feb 2022 09:57:16 PM EST)
==> Cleaning up...

Checking keyring...                                                                                                                                                                        [1/1]
Checking integrity...                                                                                                                                                                      [1/1]
Loading packages files...                                                                                                                                                                  [1/1]
Checking file conflicts...                                                                                                                                                                 [1/1]
Checking available disk space...                                                                                                                                                           [1/1]
==> skipping timeshift-autosnap due skipRsyncAutosnap in /etc/timeshift-autosnap.conf set to TRUE.
Reinstalling msi-perkeyrgb (2.1-2)...                                                                                                                                                      [1/1]
Running post-transaction hooks...
Arming ConditionNeedsUpdate...                                                                                                                                                             [1/2]
Refreshing PackageKit...                                                                                                                                                                   [2/2]
Transaction successfully finished.

I can tell by the name that “msi-keyboard-light-manager” must be one of the “must-have” packages. But unfortunately, I had an error, installing “msi-keyboard-light-manager
Here is the error below.

pamac build msi-keyboard-light-manager                                                                                                                                           ✔ 
Preparing...
Cloning msi-keyboard-light-manager build files...
Generating msi-keyboard-light-manager information...
Checking msi-keyboard-light-manager dependencies...
Resolving dependencies...
Checking inter-conflicts...

To build (1):
  msi-keyboard-light-manager  1.0.0-2    AUR

Edit build files : [e] 
Apply transaction ? [e/y/N] y

Building msi-keyboard-light-manager...
==> Making package: msi-keyboard-light-manager 1.0.0-2 (Wed 16 Feb 2022 03:22:41 AM EST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found msi-keyboard-light-manager-1.0.0.tar.gz
  -> Found msi-keyboard-light-manager.desktop
==> Validating source files with md5sums...
    msi-keyboard-light-manager-1.0.0.tar.gz ... Passed
    msi-keyboard-light-manager.desktop ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting msi-keyboard-light-manager-1.0.0.tar.gz with bsdtar
==> Starting prepare()...
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'

  stable-x86_64-unknown-linux-gnu unchanged - rustc 1.58.1 (db9d1b20b 2022-01-20)

==> Removing existing $pkgdir/ directory...
==> Starting build()...
   Compiling pkg-config v0.3.9
   Compiling libc v0.2.33
   Compiling bitflags v0.9.1
   Compiling lazy_static v0.2.10
   Compiling gio v0.2.0
   Compiling unicode-xid v0.0.4
   Compiling gdk-pixbuf v0.2.0
   Compiling cairo-rs v0.2.0
   Compiling gdk v0.6.0
   Compiling c_vec v1.2.1
   Compiling quote v0.3.15
   Compiling cc v1.0.3
   Compiling gtk v0.2.0
   Compiling itoa v0.3.4
   Compiling dtoa v0.4.2
   Compiling num-traits v0.1.40
   Compiling xdg v2.1.0
   Compiling serde v1.0.21
   Compiling getopts v0.2.15
   Compiling synom v0.11.3
   Compiling app_dirs v1.1.1
   Compiling syn v0.11.11
   Compiling glib-sys v0.4.0
   Compiling gobject-sys v0.4.0
   Compiling gio-sys v0.4.0
   Compiling cairo-sys-rs v0.4.0
   Compiling gdk-pixbuf-sys v0.4.0
   Compiling pango-sys v0.4.0
   Compiling gdk-sys v0.4.0
   Compiling atk-sys v0.4.0
error[E0503]: cannot use `state` because it was mutably borrowed
    --> /home/atici/.cargo/registry/src/github.com-1ecc6299db9ec823/getopts-0.2.15/src/lib.rs:1033:25
     |
978  |     let mut machine = |cont: &mut bool, (i, c): (usize, char)| {
     |                       ---------------------------------------- borrow of `state` occurs here
...
982  |         state = match (state, whitespace, limit) {
     |         ----- borrow occurs due to use of `state` in closure
...
1033 |     while cont && match state { B | C => true, A => false } {
     |                         ^^^^^ use of borrowed `state`
1034 |         machine(&mut cont, (fake_i, ' '));
     |         ------- borrow later used here

For more information about this error, try `rustc --explain E0503`.
error: could not compile `getopts` due to previous error
warning: build failed, waiting for other jobs to finish...
error: build failed
==> ERROR: A failure occurred in build().
    Aborting...

Since this “msi-keyboard-light” package may depend on the previous package (msi-keyboard-light-manager), which failed to install, that may be why I received a warning, installing “msi-keyboard-light”, which has to do with the “Installation path”. Nonetheless, it stated in the last line that the transaction successfully finished.

Here is the complete transaction below.

pamac build msi-keyboard-light                                                                                                                                                   ✔ 
Preparing...
Cloning msi-keyboard-light build files...
Generating msi-keyboard-light information...
Checking msi-keyboard-light dependencies...
Warning: msi-keyboard-light-0.1.0-3 is up to date -- reinstalling
Resolving dependencies...
Checking inter-conflicts...

To build (1):
  msi-keyboard-light  0.1.0-3             AUR

Edit build files : [e] 
Apply transaction ? [e/y/N] y

Building msi-keyboard-light...
==> Making package: msi-keyboard-light 0.1.0-3 (Wed 16 Feb 2022 03:44:41 AM EST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found msi-keyboard-light-0.1.0.tar.gz
==> Validating source files with sha256sums...
    msi-keyboard-light-0.1.0.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting msi-keyboard-light-0.1.0.tar.gz with bsdtar
==> Starting build()...
Building all executables for `msi-keyboard-light' once. After a successful build of all of them, only specified executables will be rebuilt.
msi-keyboard-light> configure (lib + exe)
Configuring msi-keyboard-light-0.1.0...
msi-keyboard-light> build (lib + exe)
Preprocessing library for msi-keyboard-light-0.1.0..
Building library for msi-keyboard-light-0.1.0..
[1 of 3] Compiling Hid
[2 of 3] Compiling MsiKeyboard
[3 of 3] Compiling Paths_msi_keyboard_light
Preprocessing executable 'msi-keyboard-light' for msi-keyboard-light-0.1.0..
Building executable 'msi-keyboard-light' for msi-keyboard-light-0.1.0..
[1 of 2] Compiling Main
[2 of 2] Compiling Paths_msi_keyboard_light
Linking .stack-work/dist/x86_64-linux-tinfo6/Cabal-3.0.1.0/build/msi-keyboard-light/msi-keyboard-light ...
msi-keyboard-light> copy/register
Installing library in /var/tmp/pamac-build-atici/msi-keyboard-light/src/msi-keyboard-light-0.1.0/.stack-work/install/x86_64-linux-tinfo6/906a2195475557da98c3f5fcd3eb5dcd9899b1a45e56d2fd70afe15c644f7664/8.8.3/lib/x86_64-linux-ghc-8.8.3/msi-keyboard-light-0.1.0-8ceIjwzsnC311ICWD5KLfq
Installing executable msi-keyboard-light in /var/tmp/pamac-build-atici/msi-keyboard-light/src/msi-keyboard-light-0.1.0/.stack-work/install/x86_64-linux-tinfo6/906a2195475557da98c3f5fcd3eb5dcd9899b1a45e56d2fd70afe15c644f7664/8.8.3/bin
Registering library for msi-keyboard-light-0.1.0..
==> Entering fakeroot environment...
==> Starting package()...
Copying from /var/tmp/pamac-build-atici/msi-keyboard-light/src/msi-keyboard-light-0.1.0/.stack-work/install/x86_64-linux-tinfo6/906a2195475557da98c3f5fcd3eb5dcd9899b1a45e56d2fd70afe15c644f7664/8.8.3/bin/msi-keyboard-light to /var/tmp/pamac-build-atici/msi-keyboard-light/pkg/msi-keyboard-light/usr/bin/msi-keyboard-light

Copied executables to /var/tmp/pamac-build-atici/msi-keyboard-light/pkg/msi-keyboard-light/usr/bin:
- msi-keyboard-light

Warning: Installation path /var/tmp/pamac-build-atici/msi-keyboard-light/pkg/msi-keyboard-light/usr/bin not found on the PATH environment variable.
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "msi-keyboard-light"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: msi-keyboard-light 0.1.0-3 (Wed 16 Feb 2022 03:44:47 AM EST)
==> Cleaning up...

Checking keyring...                                                                                                                                                                        [1/1]
Checking integrity...                                                                                                                                                                      [1/1]
Loading packages files...                                                                                                                                                                  [1/1]
Checking file conflicts...                                                                                                                                                                 [1/1]
Checking available disk space...                                                                                                                                                           [1/1]
==> skipping timeshift-autosnap due skipRsyncAutosnap in /etc/timeshift-autosnap.conf set to TRUE.
Reinstalling msi-keyboard-light (0.1.0-3)...                                                                                                                                               [1/1]
Running post-transaction hooks...
Arming ConditionNeedsUpdate...                                                                                                                                                             [1/2]
Refreshing PackageKit...                                                                                                                                                                   [2/2]
Transaction successfully finished.

As for “msi-keyboard-git”, I had a failure, downloading the package. I’m assuming the package may not be available for download.

Last but not least, I was not able to install msi-kb-backlit due to “unable to satisfy dependency” cabal-install<1.23 required by “msi-kb-backlit”.

I went ahead and installed “cabal-install” without any problem, running the command “pamac build cabal-install” as shown below.

pamac build cabal-install                                                                                                                                                    INT ✘ 
Install cabal-install from community ? [y/N] y
Preparing...
Synchronizing package databases...
Resolving dependencies...
Checking inter-conflicts...

To install (6):
  haskell-edit-distance  0.2.2.1-133    (Required By: cabal-install)  community  51.6 kB
  haskell-http           4000.3.16-128  (Required By: cabal-install)  community  389.9 kB
  haskell-regex-base     0.94.0.2-2     (Required By: cabal-install)  community  74.5 kB
  haskell-regex-posix    0.96.0.1-3     (Required By: cabal-install)  community  94.3 kB
  haskell-resolv         0.1.2.0-127    (Required By: cabal-install)  community  358.6 kB
  cabal-install          3.4.0.0-95                                   community  1.7 MB

Total download size: 2.6 MB
Total installed size: 16.4 MB

Apply transaction ? [y/N] y
Download of haskell-resolv (0.1.2.0-127) started                                                                                                                                                
Download of haskell-regex-base (0.94.0.2-2) started                                                                                                                                             
Download of haskell-regex-base (0.94.0.2-2) finished                                                                                                                                            
Download of haskell-edit-distance (0.2.2.1-133) started                                                                                                                                         
Download of haskell-edit-distance (0.2.2.1-133) finished                                                                                                                                        
Download of haskell-http (4000.3.16-128) started                                                                                                                                                
Download of haskell-resolv (0.1.2.0-127) finished                                                                                                                                               
Download of cabal-install (3.4.0.0-95) started                                                                                                                                                  
Download of haskell-http (4000.3.16-128) finished                                                                                                                                               
Download of haskell-regex-posix (0.96.0.1-3) started                                                                                                                                            
Download of haskell-regex-posix (0.96.0.1-3) finished                                                                                                                                           
Download of cabal-install (3.4.0.0-95) finished                                                                                                                                                 
Checking keyring...                                                                                                                                                                        [6/6]
Checking integrity...                                                                                                                                                                      [6/6]
Loading packages files...                                                                                                                                                                  [6/6]
Checking file conflicts...                                                                                                                                                                 [6/6]
Checking available disk space...                                                                                                                                                           [6/6]
Installing haskell-http (4000.3.16-128)...                                                                                                                                                 [1/6]
Installing haskell-resolv (0.1.2.0-127)...                                                                                                                                                 [2/6]
Installing haskell-edit-distance (0.2.2.1-133)...                                                                                                                                          [3/6]
Installing haskell-regex-base (0.94.0.2-2)...                                                                                                                                              [4/6]
Installing haskell-regex-posix (0.96.0.1-3)...                                                                                                                                             [5/6]
Installing cabal-install (3.4.0.0-95)...                                                                                                                                                   [6/6]
Running post-transaction hooks...
Arming ConditionNeedsUpdate...                                                                                                                                                             [1/3]
Refreshing PackageKit...                                                                                                                                                                   [2/3]
Registering Haskell modules...                                                                                                                                                             [3/3]
Transaction successfully finished.

but still got the dependency error, trying to install “msi-kb-backlit”.
Here is the error below.

pamac build msi-kb-backlit                                                                                                                                                     1 ✘ 
Preparing...
Cloning msi-kb-backlit build files...
Generating msi-kb-backlit information...
Checking msi-kb-backlit dependencies...
Checking ghc8.4-bin dependencies...
Checking ghc9.0-bin dependencies...
Checking ghc8.6-bin dependencies...
Checking ghc9.2-bin dependencies...
Checking ghc8.8-bin dependencies...
Checking ghc7.10-bin dependencies...
Checking ghc8.10-bin dependencies...
Checking ghc-raspbian-bin dependencies...
Checking ghc7.4-bin dependencies...
Checking ghc7.6-bin dependencies...
Checking ghc7.8-bin dependencies...
Checking ghcid-static-git dependencies...
Checking ghc8.0-bin dependencies...
Checking ghc8.2-bin dependencies...
Checking cabal-install-git dependencies...
Checking cabal-static dependencies...
Checking cabal-install-bin dependencies...
Checking ncurses5-compat-libs dependencies...
Checking gmp4 dependencies...
Resolving dependencies...
Warning: cannot resolve "cabal-install<1.23", a dependency of "msi-kb-backlit"
Error: Failed to prepare transaction:
could not satisfy dependencies:
- unable to satisfy dependency 'cabal-install<1.23' required by msi-kb-backlit

Edit build files : [e] 
Apply transaction ? [e/y/N] y

Transaction cancelled.

Sorry for the trouble and for the lengthy response. Thanks!

Hello ishaan…

Here is the output of ls -l /sys/class/leds/

Thank you!

 ls -l /sys/class/leds/                                                                                                                                                           ✔ 
total 0
lrwxrwxrwx 1 root root 0 Feb 16 03:19 input3::capslock -> ../../devices/platform/i8042/serio0/input/input3/input3::capslock
lrwxrwxrwx 1 root root 0 Feb 16 03:19 input3::numlock -> ../../devices/platform/i8042/serio0/input/input3/input3::numlock
lrwxrwxrwx 1 root root 0 Feb 16 03:19 input3::scrolllock -> ../../devices/platform/i8042/serio0/input/input3/input3::scrolllock
lrwxrwxrwx 1 root root 0 Feb 16 03:20 input42::capslock -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.2/0003:046D:C52B.0004/0003:046D:406A.0005/input/input42/input42::capslock
lrwxrwxrwx 1 root root 0 Feb 16 03:20 input42::compose -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.2/0003:046D:C52B.0004/0003:046D:406A.0005/input/input42/input42::compose
lrwxrwxrwx 1 root root 0 Feb 16 03:20 input42::kana -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.2/0003:046D:C52B.0004/0003:046D:406A.0005/input/input42/input42::kana
lrwxrwxrwx 1 root root 0 Feb 16 03:20 input42::numlock -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.2/0003:046D:C52B.0004/0003:046D:406A.0005/input/input42/input42::numlock
lrwxrwxrwx 1 root root 0 Feb 16 03:20 input42::scrolllock -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.2/0003:046D:C52B.0004/0003:046D:406A.0005/input/input42/input42::scrolllock
lrwxrwxrwx 1 root root 0 Feb 16 03:20 phy0-led -> ../../devices/pci0000:00/0000:00:1d.4/0000:5c:00.0/leds/phy0-led

Just did a bit of searching. It looks like theere are multiple packages for cabal-install:

$ pamac search cabal-install

haskell-hackage-db                                                                                                                                                                                     2.1.2-45                                   community
Access cabal-install's Hackage database via Data.Map
cabal-static                                                                                                                                                                                           3.4.0.0-2                                  AUR
The command-line interface for Cabal and Hackage. Statically linked.
haskell-cabal-install-parsers                                                                                                                                                                          0.4.2-77                                   community
Utilities to work with cabal-install files
cabal-install-git                                                                                                                                                                                      Cabal.1.20.0.0.release.r3843.g0f41001bd-1  AUR
The command-line interface for Cabal and Hackage.
cabal-install-bin                                                                                                                                                                                      3.6.0.0-1                                  AUR
The command-line interface for Cabal and Hackage.
cabal-install                                                                                                                                                                                          3.4.0.0-95                                 community
The command-line interface for Cabal and Hackage.

Try using the -bin one, from the AUR:

pamac build cabal-install-bin

If that doesn’t work, I don’t have the foggiest idea what would work.

Also what is the output of cat /sys/class/leds/phy0-led/brightness?

Does this command increase keyboard backlight → echo 1 | sudo tee /sys/class/leds/phy0-led/brightness

The output of cat /sys/class/leds/phy0-led/brightness is 1.

Actually, the laptop’s keyboard backlight is not working at all. The whole keyboard is pitch-black.

During BIOS initialization at boot-up, the keyboard backlight momentarily blinks, but as soon as Manjaro booting sequence takes over, the whole keyboard backlight goes dark.

I mean, the keyboard backlight is very, very tough nut to crack! I knew it was going to be a shot in the dark. I’ll just have to come to terms with the keyboard backlight not working for the time being.

Looking and seeing how great of an operating system Manjaro is, I’m sure sometime in the future the Manjaro team will tackle and solve this issue.

I just tried the ones you listed. Each one gave some error!

Thanks, Mirdar! I appreciate your help! Just like I said, I knew this was going to be a tough one to resolve. For the time being, I’ll just have to put it on the back burner until the Manjaro team sees it as a common problem and tackles the issue. I’m sure it’s just a matter of time!

Cheers!

Hi @BIZDIK,

I know the feeling. It’s not a fun one, admitting defeat.

I just thought of this: have you tried OpeenRGB:

It might work, it might not. It’s in the AUR:

$ pamac search openrgb
[...]
openrgb                                                                                                                                                                                                                           0.7-5                 AUR
Open source RGB lighting control that doesn't depend on manufacturer software.

So try it, it can’t do any harm. Install it with:

pamac build openrgb

And see what happens.

:man_shrugging:

Edit:

Just to make it clearer. mainly because I know it can be an issue to understand. The Manjaro team does not see to that kind of thing. Just as with M$ Windoze, it’s 3rd parties that have to come aboard. And that can happen, or it won’t. There’s way to much extra hardware to have to do it all themselves.

I have a GS76 running Arch. I use the msi-perkeyrgb.

Have you tried running the following?

msi-perkeyrgb --model GS75 -s 'ff0000'

red=‘ff0000’
blue=‘0000ff’
All hex codes work.

EDIT
I have a script for common HTML color codes.
So I can simply run

~/bin/kbled.sh Red

kbled.sh script

#!/bin/bash
#v1.1

case $1 in
Black)
    hex_color='000000'
    ;;
Night)
    hex_color='0c090a'
    ;;
Charcoal)
    hex_color='34282c'
    ;;
Oil)
    hex_color='3b3131'
    ;;
DarkGray)
    hex_color='3a3b3c'
    ;;
LightBlack)
    hex_color='454545'
    ;;
BlackCat)
    hex_color='413839'
    ;;
Iridium)
    hex_color='3d3c3a'
    ;;
BlackEel)
    hex_color='463e3f'
    ;;
BlackCow)
    hex_color='4c4646'
    ;;
GrayWolf)
    hex_color='504a4b'
    ;;
VampireGray)
    hex_color='565051'
    ;;
IronGray)
    hex_color='52595d'
    ;;
GrayDolphin)
    hex_color='5c5858'
    ;;
CarbonGray)
    hex_color='625d5d'
    ;;
AshGray)
    hex_color='666362'
    ;;
CloudyGray)
    hex_color='6d6968'
    ;;
DimGrayorDimGrey)
    hex_color='696969'
    ;;
SmokeyGray)
    hex_color='726e6d'
    ;;
AlienGray)
    hex_color='736f6e'
    ;;
SonicSilver)
    hex_color='757575'
    ;;
PlatinumGray)
    hex_color='797979'
    ;;
Granite)
    hex_color='837e7c'
    ;;
GrayorGrey)
    hex_color='808080'
    ;;
BattleshipGray)
    hex_color='848482'
    ;;
DarkGrayorDarkGrey)
    hex_color='a9a9a9'
    ;;
GrayCloud)
    hex_color='b6b6b4'
    ;;
Silver)
    hex_color='c0c0c0'
    ;;
PaleSilver)
    hex_color='c9c0bb'
    ;;
GrayGoose)
    hex_color='d1d0ce'
    ;;
PlatinumSilver)
    hex_color='cecece'
    ;;
LightGrayorLightGrey)
    hex_color='d3d3d3'
    ;;
Gainsboro)
    hex_color='dcdcdc'
    ;;
Platinum)
    hex_color='e5e4e2'
    ;;
MetallicSilver)
    hex_color='bcc6cc'
    ;;
BlueGray)
    hex_color='98afc7'
    ;;
RomanSilver)
    hex_color='838996'
    ;;
LightSlateGrayorLightSlateGrey)
    hex_color='778899'
    ;;
SlateGrayorSlateGrey)
    hex_color='708090'
    ;;
RatGray)
    hex_color='6d7b8d'
    ;;
SlateGraniteGray)
    hex_color='657383'
    ;;
JetGray)
    hex_color='616d7e'
    ;;
MistBlue)
    hex_color='646d7e'
    ;;
MarbleBlue)
    hex_color='566d7e'
    ;;
SlateBlueGrey)
    hex_color='737ca1'
    ;;
LightPurpleBlue)
    hex_color='728fce'
    ;;
AzureBlue)
    hex_color='4863a0'
    ;;
BlueJay)
    hex_color='2b547e'
    ;;
CharcoalBlue)
    hex_color='36454f'
    ;;
DarkBlueGrey)
    hex_color='29465b'
    ;;
DarkSlate)
    hex_color='2b3856'
    ;;
DeepSeaBlue)
    hex_color='123456'
    ;;
NightBlue)
    hex_color='151b54'
    ;;
MidnightBlue)
    hex_color='191970'
    ;;
Navy)
    hex_color='000080'
    ;;
DenimDarkBlue)
    hex_color='151b8d'
    ;;
DarkBlue)
    hex_color='00008b'
    ;;
LapisBlue)
    hex_color='15317e'
    ;;
NewMidnightBlue)
    hex_color='0000a0'
    ;;
EarthBlue)
    hex_color='0000a5'
    ;;
CobaltBlue)
    hex_color='0020c2'
    ;;
MediumBlue)
    hex_color='0000cd'
    ;;
BlueberryBlue)
    hex_color='0041c2'
    ;;
CanaryBlue)
    hex_color='2916f5'
    ;;
Blue)
    hex_color='0000ff'
    ;;
BrightBlue)
    hex_color='0909ff'
    ;;
BlueOrchid)
    hex_color='1f45fc'
    ;;
SapphireBlue)
    hex_color='2554c7'
    ;;
BlueEyes)
    hex_color='1569c7'
    ;;
BrightNavyBlue)
    hex_color='1974d2'
    ;;
BalloonBlue)
    hex_color='2b60de'
    ;;
RoyalBlue)
    hex_color='4169e1'
    ;;
OceanBlue)
    hex_color='2b65ec'
    ;;
BlueRibbon)
    hex_color='306eff'
    ;;
BlueDress)
    hex_color='157dec'
    ;;
NeonBlue)
    hex_color='1589ff'
    ;;
DodgerBlue)
    hex_color='1e90ff'
    ;;
GlacialBlueIce)
    hex_color='368bc1'
    ;;
SteelBlue)
    hex_color='4682b4'
    ;;
SilkBlue)
    hex_color='488ac7'
    ;;
WindowsBlue)
    hex_color='357ec7'
    ;;
BlueIvy)
    hex_color='3090c7'
    ;;
BlueKoi)
    hex_color='659ec7'
    ;;
ColumbiaBlue)
    hex_color='87afc7'
    ;;
BabyBlue)
    hex_color='95b9c7'
    ;;
CornflowerBlue)
    hex_color='6495ed'
    ;;
SkyBlueDress)
    hex_color='6698ff'
    ;;
Iceberg)
    hex_color='56a5ec'
    ;;
ButterflyBlue)
    hex_color='38acec'
    ;;
DeepSkyBlue)
    hex_color='00bfff'
    ;;
MiddayBlue)
    hex_color='3bb9ff'
    ;;
CrystalBlue)
    hex_color='5cb3ff'
    ;;
DenimBlue)
    hex_color='79baec'
    ;;
DaySkyBlue)
    hex_color='82caff'
    ;;
LightSkyBlue)
    hex_color='87cefa'
    ;;
SkyBlue)
    hex_color='87ceeb'
    ;;
JeansBlue)
    hex_color='a0cfec'
    ;;
BlueAngel)
    hex_color='b7ceec'
    ;;
PastelBlue)
    hex_color='b4cfec'
    ;;
LightDayBlue)
    hex_color='addfff'
    ;;
SeaBlue)
    hex_color='c2dfff'
    ;;
HeavenlyBlue)
    hex_color='c6deff'
    ;;
RobinEggBlue)
    hex_color='bdedff'
    ;;
PowderBlue)
    hex_color='b0e0e6'
    ;;
CoralBlue)
    hex_color='afdcec'
    ;;
LightBlue)
    hex_color='add8e6'
    ;;
LightSteelBlue)
    hex_color='b0cfde'
    ;;
GulfBlue)
    hex_color='c9dfec'
    ;;
PastelLightBlue)
    hex_color='d5d6ea'
    ;;
LavenderBlue)
    hex_color='e3e4fa'
    ;;
Lavender)
    hex_color='e6e6fa'
    ;;
Water)
    hex_color='ebf4fa'
    ;;
AliceBlue)
    hex_color='f0f8ff'
    ;;
GhostWhite)
    hex_color='f8f8ff'
    ;;
Azure)
    hex_color='f0ffff'
    ;;
LightCyan)
    hex_color='e0ffff'
    ;;
LightSlate)
    hex_color='ccffff'
    ;;
ElectricBlue)
    hex_color='9afeff'
    ;;
TronBlue)
    hex_color='7dfdfe'
    ;;
BlueZircon)
    hex_color='57feff'
    ;;
AquaorCyan)
    hex_color='00ffff'
    ;;
BrightCyan)
    hex_color='0affff'
    ;;
Celeste)
    hex_color='50ebec'
    ;;
BlueDiamond)
    hex_color='4ee2ec'
    ;;
BrightTurquoise)
    hex_color='16e2f5'
    ;;
BlueLagoon)
    hex_color='8eebec'
    ;;
PaleTurquoise)
    hex_color='afeeee'
    ;;
PaleBlueLily)
    hex_color='cfecec'
    ;;
TiffanyBlue)
    hex_color='81d8d0'
    ;;
BlueHosta)
    hex_color='77bfc7'
    ;;
CyanOpaque)
    hex_color='92c7c7'
    ;;
NorthernLightsBlue)
    hex_color='78c7c7'
    ;;
BlueGreen)
    hex_color='7bccb5'
    ;;
MediumAquaMarine)
    hex_color='66cdaa'
    ;;
MagicMint)
    hex_color='aaf0d1'
    ;;
Aquamarine)
    hex_color='7fffd4'
    ;;
LightAquamarine)
    hex_color='93ffe8'
    ;;
Turquoise)
    hex_color='40e0d0'
    ;;
MediumTurquoise)
    hex_color='48d1cc'
    ;;
DeepTurquoise)
    hex_color='48cccd'
    ;;
Jellyfish)
    hex_color='46c7c7'
    ;;
BlueTurquoise)
    hex_color='43c6db'
    ;;
DarkTurquoise)
    hex_color='00ced1'
    ;;
MacawBlueGreen)
    hex_color='43bfc7'
    ;;
LightSeaGreen)
    hex_color='20b2aa'
    ;;
SeafoamGreen)
    hex_color='3ea99f'
    ;;
CadetBlue)
    hex_color='5f9ea0'
    ;;
DeepSea)
    hex_color='3b9c9c'
    ;;
DarkCyan)
    hex_color='008b8b'
    ;;
Teal)
    hex_color='008080'
    ;;
MediumTeal)
    hex_color='045f5f'
    ;;
DeepTeal)
    hex_color='033e3e'
    ;;
DarkSlateGrayorDarkSlateGrey)
    hex_color='25383c'
    ;;
Gunmetal)
    hex_color='2c3539'
    ;;
BlueMossGreen)
    hex_color='3c565b'
    ;;
BeetleGreen)
    hex_color='4c787e'
    ;;
GrayishTurquoise)
    hex_color='5e7d7e'
    ;;
GreenishBlue)
    hex_color='307d7e'
    ;;
AquamarineStone)
    hex_color='348781'
    ;;
SeaTurtleGreen)
    hex_color='438d80'
    ;;
DullSeaGreen)
    hex_color='4e8975'
    ;;
DeepSeaGreen)
    hex_color='306754'
    ;;
SeaGreen)
    hex_color='2e8b57'
    ;;
DarkMint)
    hex_color='31906e'
    ;;
Jade)
    hex_color='00a36c'
    ;;
EarthGreen)
    hex_color='34a56f'
    ;;
Emerald)
    hex_color='50c878'
    ;;
Mint)
    hex_color='3eb489'
    ;;
MediumSeaGreen)
    hex_color='3cb371'
    ;;
CamouflageGreen)
    hex_color='78866b'
    ;;
SageGreen)
    hex_color='848b79'
    ;;
HazelGreen)
    hex_color='617c58'
    ;;
VenomGreen)
    hex_color='728c00'
    ;;
OliveDrab)
    hex_color='6b8e23'
    ;;
Olive)
    hex_color='808000'
    ;;
DarkOliveGreen)
    hex_color='556b2f'
    ;;
ArmyGreen)
    hex_color='4b5320'
    ;;
FernGreen)
    hex_color='667c26'
    ;;
FallForestGreen)
    hex_color='4e9258'
    ;;
PineGreen)
    hex_color='387c44'
    ;;
MediumForestGreen)
    hex_color='347235'
    ;;
JungleGreen)
    hex_color='347c2c'
    ;;
ForestGreen)
    hex_color='228b22'
    ;;
Green)
    hex_color='008000'
    ;;
DarkGreen)
    hex_color='006400'
    ;;
DeepEmeraldGreen)
    hex_color='046307'
    ;;
DarkForestGreen)
    hex_color='254117'
    ;;
SeaweedGreen)
    hex_color='437c17'
    ;;
ShamrockGreen)
    hex_color='347c17'
    ;;
GreenOnion)
    hex_color='6aa121'
    ;;
GreenPepper)
    hex_color='4aa02c'
    ;;
DarkLimeGreen)
    hex_color='41a317'
    ;;
ParrotGreen)
    hex_color='12ad2b'
    ;;
CloverGreen)
    hex_color='3ea055'
    ;;
DinosaurGreen)
    hex_color='73a16c'
    ;;
GreenSnake)
    hex_color='6cbb3c'
    ;;
AlienGreen)
    hex_color='6cc417'
    ;;
GreenApple)
    hex_color='4cc417'
    ;;
LimeGreen)
    hex_color='32cd32'
    ;;
PeaGreen)
    hex_color='52d017'
    ;;
KellyGreen)
    hex_color='4cc552'
    ;;
ZombieGreen)
    hex_color='54c571'
    ;;
FrogGreen)
    hex_color='99c68e'
    ;;
DarkSeaGreen)
    hex_color='8fbc8f'
    ;;
GreenPeas)
    hex_color='89c35c'
    ;;
DollarBillGreen)
    hex_color='85bb65'
    ;;
IguanaGreen)
    hex_color='9cb071'
    ;;
AcidGreen)
    hex_color='b0bf1a'
    ;;
AvocadoGreen)
    hex_color='b2c248'
    ;;
PistachioGreen)
    hex_color='9dc209'
    ;;
SaladGreen)
    hex_color='a1c935'
    ;;
YellowGreen)
    hex_color='9acd32'
    ;;
PastelGreen)
    hex_color='77dd77'
    ;;
HummingbirdGreen)
    hex_color='7fe817'
    ;;
NebulaGreen)
    hex_color='59e817'
    ;;
StoplightGoGreen)
    hex_color='57e964'
    ;;
NeonGreen)
    hex_color='16f529'
    ;;
JadeGreen)
    hex_color='5efb6e'
    ;;
LimeMintGreen)
    hex_color='36f57f'
    ;;
SpringGreen)
    hex_color='00ff7f'
    ;;
MediumSpringGreen)
    hex_color='00fa9a'
    ;;
EmeraldGreen)
    hex_color='5ffb17'
    ;;
Lime)
    hex_color='00ff00'
    ;;
LawnGreen)
    hex_color='7cfc00'
    ;;
BrightGreen)
    hex_color='66ff00'
    ;;
Chartreuse)
    hex_color='7fff00'
    ;;
YellowLawnGreen)
    hex_color='87f717'
    ;;
AloeVeraGreen)
    hex_color='98f516'
    ;;
DullGreenYellow)
    hex_color='b1fb17'
    ;;
GreenYellow)
    hex_color='adff2f'
    ;;
ChameleonGreen)
    hex_color='bdf516'
    ;;
NeonYellowGreen)
    hex_color='daee01'
    ;;
YellowGreenGrosbeak)
    hex_color='e2f516'
    ;;
TeaGreen)
    hex_color='ccfb5d'
    ;;
SlimeGreen)
    hex_color='bce954'
    ;;
AlgaeGreen)
    hex_color='64e986'
    ;;
LightGreen)
    hex_color='90ee90'
    ;;
DragonGreen)
    hex_color='6afb92'
    ;;
PaleGreen)
    hex_color='98fb98'
    ;;
MintGreen)
    hex_color='98ff98'
    ;;
GreenThumb)
    hex_color='b5eaaa'
    ;;
OrganicBrown)
    hex_color='e3f9a6'
    ;;
LightJade)
    hex_color='c3fdb8'
    ;;
LightRoseGreen)
    hex_color='dbf9db'
    ;;
HoneyDew)
    hex_color='f0fff0'
    ;;
MintCream)
    hex_color='f5fffa'
    ;;
LemonChiffon)
    hex_color='fffacd'
    ;;
Parchment)
    hex_color='ffffc2'
    ;;
Cream)
    hex_color='ffffcc'
    ;;
LightGoldenRodYellow)
    hex_color='fafad2'
    ;;
LightYellow)
    hex_color='ffffe0'
    ;;
Beige)
    hex_color='f5f5dc'
    ;;
Cornsilk)
    hex_color='fff8dc'
    ;;
Blonde)
    hex_color='fbf6d9'
    ;;
Champagne)
    hex_color='f7e7ce'
    ;;
AntiqueWhite)
    hex_color='faebd7'
    ;;
PapayaWhip)
    hex_color='ffefd5'
    ;;
BlanchedAlmond)
    hex_color='ffebcd'
    ;;
Bisque)
    hex_color='ffe4c4'
    ;;
Wheat)
    hex_color='f5deb3'
    ;;
Moccasin)
    hex_color='ffe4b5'
    ;;
Peach)
    hex_color='ffe5b4'
    ;;
LightOrange)
    hex_color='fed8b1'
    ;;
PeachPuff)
    hex_color='ffdab9'
    ;;
NavajoWhite)
    hex_color='ffdead'
    ;;
GoldenBlonde)
    hex_color='fbe7a1'
    ;;
GoldenSilk)
    hex_color='f3e3c3'
    ;;
DarkBlonde)
    hex_color='f0e2b6'
    ;;
LightGold)
    hex_color='f1e5ac'
    ;;
Vanilla)
    hex_color='f3e5ab'
    ;;
TanBrown)
    hex_color='ece5b6'
    ;;
PaleGoldenRod)
    hex_color='eee8aa'
    ;;
Khaki)
    hex_color='f0e68c'
    ;;
CardboardBrown)
    hex_color='edda74'
    ;;
HarvestGold)
    hex_color='ede275'
    ;;
SunYellow)
    hex_color='ffe87c'
    ;;
CornYellow)
    hex_color='fff380'
    ;;
PastelYellow)
    hex_color='faf884'
    ;;
NeonYellow)
    hex_color='ffff33'
    ;;
Yellow)
    hex_color='ffff00'
    ;;
CanaryYellow)
    hex_color='ffef00'
    ;;
BananaYellow)
    hex_color='f5e216'
    ;;
MustardYellow)
    hex_color='ffdb58'
    ;;
GoldenYellow)
    hex_color='ffdf00'
    ;;
BoldYellow)
    hex_color='f9db24'
    ;;
RubberDuckyYellow)
    hex_color='ffd801'
    ;;
Gold)
    hex_color='ffd700'
    ;;
BrightGold)
    hex_color='fdd017'
    ;;
GoldenBrown)
    hex_color='eac117'
    ;;
DeepYellow)
    hex_color='f6be00'
    ;;
MacaroniandCheese)
    hex_color='f2bb66'
    ;;
Saffron)
    hex_color='fbb917'
    ;;
Beer)
    hex_color='fbb117'
    ;;
YellowOrangeorOrangeYellow)
    hex_color='ffae42'
    ;;
Cantaloupe)
    hex_color='ffa62f'
    ;;
Orange)
    hex_color='ffa500'
    ;;
BrownSand)
    hex_color='ee9a4d'
    ;;
SandyBrown)
    hex_color='f4a460'
    ;;
BrownSugar)
    hex_color='e2a76f'
    ;;
CamelBrown)
    hex_color='c19a6b'
    ;;
DeerBrown)
    hex_color='e6bf83'
    ;;
BurlyWood)
    hex_color='deb887'
    ;;
Tan)
    hex_color='d2b48c'
    ;;
LightFrenchBeige)
    hex_color='c8ad7f'
    ;;
Sand)
    hex_color='c2b280'
    ;;
Sage)
    hex_color='bcb88a'
    ;;
FallLeafBrown)
    hex_color='c8b560'
    ;;
GingerBrown)
    hex_color='c9be62'
    ;;
DarkKhaki)
    hex_color='bdb76b'
    ;;
OliveGreen)
    hex_color='bab86c'
    ;;
Brass)
    hex_color='b5a642'
    ;;
CookieBrown)
    hex_color='c7a317'
    ;;
MetallicGold)
    hex_color='d4af37'
    ;;
BeeYellow)
    hex_color='e9ab17'
    ;;
SchoolBusYellow)
    hex_color='e8a317'
    ;;
GoldenRod)
    hex_color='daa520'
    ;;
OrangeGold)
    hex_color='d4a017'
    ;;
Caramel)
    hex_color='c68e17'
    ;;
DarkGoldenRod)
    hex_color='b8860b'
    ;;
Cinnamon)
    hex_color='c58917'
    ;;
Peru)
    hex_color='cd853f'
    ;;
Bronze)
    hex_color='cd7f32'
    ;;
TigerOrange)
    hex_color='c88141'
    ;;
Copper)
    hex_color='b87333'
    ;;
Wood)
    hex_color='966f33'
    ;;
OakBrown)
    hex_color='806517'
    ;;
AntiqueBronze)
    hex_color='665d1e'
    ;;
Hazel)
    hex_color='8e7618'
    ;;
DarkYellow)
    hex_color='8b8000'
    ;;
DarkMoccasin)
    hex_color='827839'
    ;;
BulletShell)
    hex_color='af9b60'
    ;;
ArmyBrown)
    hex_color='827b60'
    ;;
Sandstone)
    hex_color='786d5f'
    ;;
Taupe)
    hex_color='483c32'
    ;;
Mocha)
    hex_color='493d26'
    ;;
MilkChocolate)
    hex_color='513b1c'
    ;;
GrayBrown)
    hex_color='3d3635'
    ;;
DarkCoffee)
    hex_color='3b2f2f'
    ;;
OldBurgundy)
    hex_color='43302e'
    ;;
WesternCharcoal)
    hex_color='49413f'
    ;;
BakersBrown)
    hex_color='5c3317'
    ;;
DarkBrown)
    hex_color='654321'
    ;;
SepiaBrown)
    hex_color='704214'
    ;;
Coffee)
    hex_color='6f4e37'
    ;;
BrownBear)
    hex_color='835c3b'
    ;;
RedDirt)
    hex_color='7f5217'
    ;;
Sepia)
    hex_color='7f462c'
    ;;
Sienna)
    hex_color='a0522d'
    ;;
SaddleBrown)
    hex_color='8b4513'
    ;;
DarkSienna)
    hex_color='8a4117'
    ;;
Sangria)
    hex_color='7e3817'
    ;;
BloodRed)
    hex_color='7e3517'
    ;;
Chestnut)
    hex_color='954535'
    ;;
ChestnutRed)
    hex_color='c34a2c'
    ;;
Mahogany)
    hex_color='c04000'
    ;;
RedFox)
    hex_color='c35817'
    ;;
DarkBisque)
    hex_color='b86500'
    ;;
LightBrown)
    hex_color='b5651d'
    ;;
Rust)
    hex_color='c36241'
    ;;
CopperRed)
    hex_color='cb6d51'
    ;;
OrangeSalmon)
    hex_color='c47451'
    ;;
Chocolate)
    hex_color='d2691e'
    ;;
Sedona)
    hex_color='cc6600'
    ;;
PapayaOrange)
    hex_color='e56717'
    ;;
HalloweenOrange)
    hex_color='e66c2c'
    ;;
NeonOrange)
    hex_color='ff6700'
    ;;
BrightOrange)
    hex_color='ff5f1f'
    ;;
PumpkinOrange)
    hex_color='f87217'
    ;;
CarrotOrange)
    hex_color='f88017'
    ;;
DarkOrange)
    hex_color='ff8c00'
    ;;
ConstructionConeOrange)
    hex_color='f87431'
    ;;
IndianSaffron)
    hex_color='ff7722'
    ;;
SunriseOrange)
    hex_color='e67451'
    ;;
MangoOrange)
    hex_color='ff8040'
    ;;
Coral)
    hex_color='ff7f50'
    ;;
BasketBallOrange)
    hex_color='f88158'
    ;;
LightSalmonRose)
    hex_color='f9966b'
    ;;
LightSalmon)
    hex_color='ffa07a'
    ;;
DarkSalmon)
    hex_color='e9967a'
    ;;
Tangerine)
    hex_color='e78a61'
    ;;
LightCopper)
    hex_color='da8a67'
    ;;
Salmon)
    hex_color='fa8072'
    ;;
LightCoral)
    hex_color='f08080'
    ;;
PastelRed)
    hex_color='f67280'
    ;;
PinkCoral)
    hex_color='e77471'
    ;;
BeanRed)
    hex_color='f75d59'
    ;;
ValentineRed)
    hex_color='e55451'
    ;;
IndianRed)
    hex_color='cd5c5c'
    ;;
Tomato)
    hex_color='ff6347'
    ;;
ShockingOrange)
    hex_color='e55b3c'
    ;;
OrangeRed)
    hex_color='ff4500'
    ;;
Red)
    hex_color='ff0000'
    ;;
NeonRed)
    hex_color='fd1c03'
    ;;
Scarlet)
    hex_color='ff2400'
    ;;
RubyRed)
    hex_color='f62217'
    ;;
FerrariRed)
    hex_color='f70d1a'
    ;;
FireEngineRed)
    hex_color='f62817'
    ;;
LavaRed)
    hex_color='e42217'
    ;;
LoveRed)
    hex_color='e41b17'
    ;;
Grapefruit)
    hex_color='dc381f'
    ;;
CherryRed)
    hex_color='c24641'
    ;;
ChilliPepper)
    hex_color='c11b17'
    ;;
FireBrick)
    hex_color='b22222'
    ;;
TomatoSauceRed)
    hex_color='b21807'
    ;;
Brown)
    hex_color='a52a2a'
    ;;
CarbonRed)
    hex_color='a70d2a'
    ;;
Cranberry)
    hex_color='9f000f'
    ;;
SaffronRed)
    hex_color='931314'
    ;;
RedWineorWineRed)
    hex_color='990012'
    ;;
DarkRed)
    hex_color='8b0000'
    ;;
Maroon)
    hex_color='800000'
    ;;
Burgundy)
    hex_color='8c001a'
    ;;
DeepRed)
    hex_color='800517'
    ;;
RedBlood)
    hex_color='660000'
    ;;
BloodNight)
    hex_color='551606'
    ;;
BlackBean)
    hex_color='3d0c02'
    ;;
ChocolateBrown)
    hex_color='3f000f'
    ;;
Midnight)
    hex_color='2b1b17'
    ;;
PurpleLily)
    hex_color='550a35'
    ;;
PurpleMaroon)
    hex_color='810541'
    ;;
PlumPie)
    hex_color='7d0541'
    ;;
PlumVelvet)
    hex_color='7d0552'
    ;;
DarkRaspberry)
    hex_color='872657'
    ;;
VelvetMaroon)
    hex_color='7e354d'
    ;;
RosyFinch)
    hex_color='7f4e52'
    ;;
DullPurple)
    hex_color='7f525d'
    ;;
Puce)
    hex_color='7f5a58'
    ;;
RoseDust)
    hex_color='997070'
    ;;
RosyPink)
    hex_color='b38481'
    ;;
RosyBrown)
    hex_color='bc8f8f'
    ;;
KhakiRose)
    hex_color='c5908e'
    ;;
PinkBrown)
    hex_color='c48189'
    ;;
LipstickPink)
    hex_color='c48793'
    ;;
Rose)
    hex_color='e8adaa'
    ;;
SilverPink)
    hex_color='c4aead'
    ;;
RoseGold)
    hex_color='ecc5c0'
    ;;
DeepPeach)
    hex_color='ffcba4'
    ;;
PastelOrange)
    hex_color='f8b88b'
    ;;
DesertSand)
    hex_color='edc9af'
    ;;
UnbleachedSilk)
    hex_color='ffddca'
    ;;
PigPink)
    hex_color='fdd7e4'
    ;;
Blush)
    hex_color='ffe6e8'
    ;;
MistyRose)
    hex_color='ffe4e1'
    ;;
PinkBubbleGum)
    hex_color='ffdfdd'
    ;;
LightRed)
    hex_color='ffcccb'
    ;;
LightRose)
    hex_color='fbcfcd'
    ;;
DeepRose)
    hex_color='fbbbb9'
    ;;
Pink)
    hex_color='ffc0cb'
    ;;
LightPink)
    hex_color='ffb6c1'
    ;;
DonutPink)
    hex_color='faafbe'
    ;;
BabyPink)
    hex_color='faafba'
    ;;
FlamingoPink)
    hex_color='f9a7b0'
    ;;
PastelPink)
    hex_color='fea3aa'
    ;;
PinkRose)
    hex_color='e7a1b0'
    ;;
PinkDaisy)
    hex_color='e799a3'
    ;;
CadillacPink)
    hex_color='e38aae'
    ;;
CarnationPink)
    hex_color='f778a1'
    ;;
BlushRed)
    hex_color='e56e94'
    ;;
PaleVioletRed)
    hex_color='db7093'
    ;;
PurplePink)
    hex_color='d16587'
    ;;
TulipPink)
    hex_color='c25a7c'
    ;;
BashfulPink)
    hex_color='c25283'
    ;;
DarkPink)
    hex_color='e75480'
    ;;
DarkHotPink)
    hex_color='f660ab'
    ;;
HotPink)
    hex_color='ff69b4'
    ;;
WatermelonPink)
    hex_color='fc6c85'
    ;;
VioletRed)
    hex_color='f6358a'
    ;;
HotDeepPink)
    hex_color='f52887'
    ;;
DeepPink)
    hex_color='ff1493'
    ;;
NeonPink)
    hex_color='f535aa'
    ;;
NeonHotPink)
    hex_color='fd349c'
    ;;
PinkCupcake)
    hex_color='e45e9d'
    ;;
DimorphothecaMagenta)
    hex_color='e3319d'
    ;;
PinkLemonade)
    hex_color='e4287c'
    ;;
Raspberry)
    hex_color='e30b5d'
    ;;
Crimson)
    hex_color='dc143c'
    ;;
BrightMaroon)
    hex_color='c32148'
    ;;
RoseRed)
    hex_color='c21e56'
    ;;
RoguePink)
    hex_color='c12869'
    ;;
BurntPink)
    hex_color='c12267'
    ;;
PinkViolet)
    hex_color='ca226b'
    ;;
MediumVioletRed)
    hex_color='c71585'
    ;;
DarkCarnationPink)
    hex_color='c12283'
    ;;
RaspberryPurple)
    hex_color='b3446c'
    ;;
PinkPlum)
    hex_color='b93b8f'
    ;;
Orchid)
    hex_color='da70d6'
    ;;
DeepMauve)
    hex_color='df73d4'
    ;;
Violet)
    hex_color='ee82ee'
    ;;
BrightNeonPink)
    hex_color='f433ff'
    ;;
FuchsiaorMagenta)
    hex_color='ff00ff'
    ;;
CrimsonPurple)
    hex_color='e238ec'
    ;;
HeliotropePurple)
    hex_color='d462ff'
    ;;
TyrianPurple)
    hex_color='c45aec'
    ;;
MediumOrchid)
    hex_color='ba55d3'
    ;;
PurpleFlower)
    hex_color='a74ac7'
    ;;
OrchidPurple)
    hex_color='b048b5'
    ;;
PastelViolet)
    hex_color='d291bc'
    ;;
MauveTaupe)
    hex_color='915f6d'
    ;;
ViolaPurple)
    hex_color='7e587e'
    ;;
Eggplant)
    hex_color='614051'
    ;;
PlumPurple)
    hex_color='583759'
    ;;
Grape)
    hex_color='5e5a80'
    ;;
PurpleNavy)
    hex_color='4e5180'
    ;;
SlateBlue)
    hex_color='6a5acd'
    ;;
BlueLotus)
    hex_color='6960ec'
    ;;
LightSlateBlue)
    hex_color='736aff'
    ;;
MediumSlateBlue)
    hex_color='7b68ee'
    ;;
PeriwinklePurple)
    hex_color='7575cf'
    ;;
PurpleAmethyst)
    hex_color='6c2dc7'
    ;;
BrightPurple)
    hex_color='6a0dad'
    ;;
DeepPeriwinkle)
    hex_color='5453a6'
    ;;
DarkSlateBlue)
    hex_color='483d8b'
    ;;
PurpleHaze)
    hex_color='4e387e'
    ;;
PurpleIris)
    hex_color='571b7e'
    ;;
DarkPurple)
    hex_color='4b0150'
    ;;
DeepPurple)
    hex_color='36013f'
    ;;
PurpleMonster)
    hex_color='461b7e'
    ;;
Indigo)
    hex_color='4b0082'
    ;;
BlueWhale)
    hex_color='342d7e'
    ;;
RebeccaPurple)
    hex_color='663399'
    ;;
PurpleJam)
    hex_color='6a287e'
    ;;
DarkMagenta)
    hex_color='8b008b'
    ;;
Purple)
    hex_color='800080'
    ;;
FrenchLilac)
    hex_color='86608e'
    ;;
DarkOrchid)
    hex_color='9932cc'
    ;;
DarkViolet)
    hex_color='9400d3'
    ;;
PurpleViolet)
    hex_color='8d38c9'
    ;;
JasminePurple)
    hex_color='a23bec'
    ;;
PurpleDaffodil)
    hex_color='b041ff'
    ;;
ClemantisViolet)
    hex_color='842dce'
    ;;
BlueViolet)
    hex_color='8a2be2'
    ;;
PurpleSageBush)
    hex_color='7a5dc7'
    ;;
LovelyPurple)
    hex_color='7f38ec'
    ;;
NeonPurple)
    hex_color='9d00ff'
    ;;
PurplePlum)
    hex_color='8e35ef'
    ;;
AztechPurple)
    hex_color='893bff'
    ;;
LavenderPurple)
    hex_color='967bb6'
    ;;
MediumPurple)
    hex_color='9370db'
    ;;
LightPurple)
    hex_color='8467d7'
    ;;
CrocusPurple)
    hex_color='9172ec'
    ;;
PurpleMimosa)
    hex_color='9e7bff'
    ;;
Periwinkle)
    hex_color='ccccff'
    ;;
PaleLilac)
    hex_color='dcd0ff'
    ;;
Mauve)
    hex_color='e0b0ff'
    ;;
BrightLilac)
    hex_color='d891ef'
    ;;
RichLilac)
    hex_color='b666d2'
    ;;
PurpleDragon)
    hex_color='c38ec7'
    ;;
Lilac)
    hex_color='c8a2c8'
    ;;
Plum)
    hex_color='dda0dd'
    ;;
BlushPink)
    hex_color='e6a9ec'
    ;;
PastelPurple)
    hex_color='f2a2e8'
    ;;
BlossomPink)
    hex_color='f9b7ff'
    ;;
WisteriaPurple)
    hex_color='c6aec7'
    ;;
PurpleThistle)
    hex_color='d2b9d3'
    ;;
Thistle)
    hex_color='d8bfd8'
    ;;
PeriwinklePink)
    hex_color='e9cfec'
    ;;
CottonCandy)
    hex_color='fcdfff'
    ;;
LavenderPinocchio)
    hex_color='ebdde2'
    ;;
AshWhite)
    hex_color='e9e4d4'
    ;;
WhiteChocolate)
    hex_color='ede6d6'
    ;;
SoftIvory)
    hex_color='faf0dd'
    ;;
OffWhite)
    hex_color='f8f0e3'
    ;;
LavenderBlush)
    hex_color='fff0f5'
    ;;
Pearl)
    hex_color='fdeef4'
    ;;
EggShell)
    hex_color='fff9e3'
    ;;
OldLace)
    hex_color='fdf5e6'
    ;;
Linen)
    hex_color='faf0e6'
    ;;
SeaShell)
    hex_color='fff5ee'
    ;;
Rice)
    hex_color='faf5ef'
    ;;
FloralWhite)
    hex_color='fffaf0'
    ;;
Ivory)
    hex_color='fffff0'
    ;;
LightWhite)
    hex_color='fffff7'
    ;;
WhiteSmoke)
    hex_color='f5f5f5'
    ;;
Cotton)
    hex_color='fbfbf9'
    ;;
Snow)
    hex_color='fffafa'
    ;;
MilkWhite)
    hex_color='fefcff'
    ;;
White)
    hex_color='ffffff'
    ;;
    *)
        echo 'Usage: kbled off|"color"'
        exit 1
        ;;
esac

msi-perkeyrgb --model GS75 -s $hex_color

Thank you for your response and sorry for my delayed reply. I just saw your message.

I’m going to have to ask you some very basic questions as I am not very knowledgeable with the Linux environment.

First thing first, I installed msi-perkeyrgb. I got that out of the way!

First question: where do you exactly save the script file, “kbled.sh”? Is it in “/home/[user]/bin/” or is it in “/usr/bin/”?

Assuming that it is located in “/usr/bin/”, I executed the instruction below to create the script file in “/usr/bin/” and copied and pasted your script in there.

sudo nano /usr/bin/kbled.sh

and made it executable, running the command below.

sudo chmod +x /usr/bin/kbled.sh

when I run /usr/bin/kbled.sh Red or msi-perkeyrgb --model GS75 -s ‘ff0000’ , I get the message below.

No MSI keyboards with a known product/vendor IDs were found. However, if you think your keyboard should work with this program, you can try overriding the ID by adding the option “–id VENDOR_ID:PRODUCT_ID”. In that case you will also need to give yourself proper read/write permissions to the corresponding /dev/hidraw* device.

The message above is way over my head to know what to do with it. :confused: Any help would be greatly appreciated to get the keyboard backlight to work on my laptop.

Thank you!

I have a MSI GL75 Leopard. I use msi-perkeyrgb to control my keyboard. I don’t use the --model option as my model isn’t supported out of the box.
As an example for all red backlight:

msi-perkeyrgb -s ff0000

Also, did you install the dependencies?

sudo pacman -S --needed python-setuptools hidapi

You can also try to run the msi-perkeyrgb command with sudo to see if that works.

Thank you for your reply, Dagda.

My laptop is MSI GS76. Just to be clear, I’m not using any external USB keyboard. Just trying to get the backlight to work on my laptop.

When I run msi-perkeyrgb -s ff0000, I get the message below and don’t know how to resolve the issue in the message below.

No laptop model specified, using GE63 as default.
No MSI keyboards with a known product/vendor IDs were found. However, if you think your keyboard should work with this program, you can try overriding the ID by adding the option “–id VENDOR_ID:PRODUCT_ID”. In that case you will also need to give yourself proper read/write permissions to the corresponding /dev/hidraw* device.

When I run, sudo pacman -S --needed python-setuptools hidapi, it looks like everything needed (dependencies) are installed and updated as I get the message below.

warning: python-setuptools-1:60.6.0-1 is up to date – skipping
warning: hidapi-0.12.0-1 is up to date – skipping
there is nothing to do

Also, I just want to add that when I’m in “GRUB Commandline”, laptop’s keyboard-backlight lights up fine. During loading of Manjaro, it turns off the keyboard backlight.

Also, when I shut down Manjaro, 2 seconds before shutdown, the keyboard backlight momentarily turns on again.

I also installed MSIKLM. When I run sudo msiklm list , I get the information below, which I think it is the information, pertaining to the keyboard of my laptop.

Device: SteelSeries KLC
Device Vendor ID: 4152
Device Product ID: 4410
Device Serial Number: (null)
Device Manufacturer: SteelSeries
Device Path: 3-12:1.0
Device Interface Number: 0
Device Release Number: 258

Device: SteelSeries KLC
Device Vendor ID: 4152
Device Product ID: 4410
Device Serial Number: (null)
Device Manufacturer: SteelSeries
Device Path: 3-12:1.1
Device Interface Number: 1
Device Release Number: 258

Thank you.

I have an update on this for those, who may be interested in the solution to get their keyboard backlight to work.

As previously stated, I have an MSI GS76 laptop. And no, I am not using an externally connected RGB keyboard! And Manjaro is not running on virtual machine. It’s natively installed to replace Window$.

If you have an MSI (or any other laptop with SteelSeries RGB) keyboard, you may want to give the instructions below a try to see if it works for you because it did work for me. Now the keyboard backlight lights up like a Christmas tree. :slight_smile:

  1. First install msi-perkeyboard

  2. Type the command below in terminal to get your keyboard BUS(identifier) number. It was 3-12 for my laptop. It may be different for yours. It should be listed under “USB devices”.
    mhwd -lh

  3. Type the command below to turn on the keyboard backlight. Don’t forget to replace 3-12 with whatever BUS(identifier) number is… for your keyboard as it may be different than mine.
    One more thing about the instruction below! “/sys/bus/usb/drivers/usb/” is just a path where the 3-12 folder is located. It should be the same path for your system. But go into the folder, “/sys/bus/usb/drivers/usb/”, to make sure whatever the keyboard BUS(identifier) number is… for your keyboard is there as a folder.
    echo '3-12' |sudo tee /sys/bus/usb/drivers/usb/unbind

Last but not least!

  1. Create an executable script file for the instruction below and auto-start it at boot-up so that you don’t have to manually type the command each time you reboot your computer.
    echo '3-12' |sudo tee /sys/bus/usb/drivers/usb/unbind

This topic was automatically closed 3 hours after the last reply. New replies are no longer allowed.