diff --git a/keyboards/linworks/fave87h/config.h b/keyboards/linworks/fave87h/config.h
index 97d9bddba71..272878612ce 100644
--- a/keyboards/linworks/fave87h/config.h
+++ b/keyboards/linworks/fave87h/config.h
@@ -41,16 +41,19 @@ along with this program. If not, see .
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-//Led configuration
+/* Define RGB */
+#define RGBLED_NUM 127
+#define DRIVER_LED_TOTAL 127
#define RGB_DI_PIN D2
-#define DRIVER_LED_TOTAL 127
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 140
-
-#define RGB_MATRIX_KEYPRESSES
-//#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#ifdef RGB_MATRIX_ENABLE
#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
+
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
@@ -78,23 +81,31 @@ along with this program. If not, see .
#define ENABLE_RGB_MATRIX_HUE_BREATHING
#define ENABLE_RGB_MATRIX_HUE_PENDULUM
#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#ifdef RGB_MATRIX_FRAMEBUFFER_EFFECTS
- #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#endif
-#ifdef RGB_MATRIX_KEYPRESSES
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+// The PIXEL_FRACTAL effect does not work properly when the matrix layout is
+// different from the physical layout; it also has problems when underglow
+// LEDs are present, or when multiple LEDs are associated with the same key.
+#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+
+// Framebuffer effects; can be enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS
+// is defined. Both of these effects currently don't work properly when the
+// key matrix does not match the physical layout, so they are disabled.
+#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+// Reactive effects; can be enabled only if at least one of
+// RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined.
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
#endif
diff --git a/keyboards/linworks/fave87h/fave87h.c b/keyboards/linworks/fave87h/fave87h.c
index 3bf2739f0b7..bf65ce87e25 100644
--- a/keyboards/linworks/fave87h/fave87h.c
+++ b/keyboards/linworks/fave87h/fave87h.c
@@ -40,7 +40,7 @@ led_config_t g_led_config = {
1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 9, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4,
1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
diff --git a/keyboards/linworks/fave87h/keymaps/via/keymap.c b/keyboards/linworks/fave87h/keymaps/via/keymap.c
index 4d9a56cebf0..b62268e9a47 100644
--- a/keyboards/linworks/fave87h/keymaps/via/keymap.c
+++ b/keyboards/linworks/fave87h/keymaps/via/keymap.c
@@ -65,4 +65,4 @@ void rgb_matrix_indicators_user(void) {
if (host_leds.caps_lock) {
rgb_matrix_set_color(12, 254, 189, 41); // set caps lock led color first number is index, R G B
}
-}
\ No newline at end of file
+}
diff --git a/keyboards/linworks/fave87h/keymaps/via/rules.mk b/keyboards/linworks/fave87h/keymaps/via/rules.mk
index 1e5b99807cb..36b7ba9cbc9 100644
--- a/keyboards/linworks/fave87h/keymaps/via/rules.mk
+++ b/keyboards/linworks/fave87h/keymaps/via/rules.mk
@@ -1 +1,2 @@
VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/linworks/fave87h/readme.md b/keyboards/linworks/fave87h/readme.md
index cd256bcee57..8bc05fd4d48 100644
--- a/keyboards/linworks/fave87h/readme.md
+++ b/keyboards/linworks/fave87h/readme.md
@@ -5,6 +5,7 @@ The following is the QMK Firmware for the FAve 87H Hotswap PCB.
The PCB features:
* QMK & VIA compatibility
* Hotswap
+* Perkey RGB and Underglow
---
@@ -18,5 +19,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
-* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Physical reset short**: Briefly short the 2 pads labelled RESET on the back of the PCB
* **Keycode in layout**: Press the B key on layer 1 which is mapped to `RESET`
diff --git a/keyboards/linworks/fave87h/rules.mk b/keyboards/linworks/fave87h/rules.mk
index 01b02d60ca3..cd0eb1ee645 100644
--- a/keyboards/linworks/fave87h/rules.mk
+++ b/keyboards/linworks/fave87h/rules.mk
@@ -20,4 +20,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = WS2812
\ No newline at end of file
+RGB_MATRIX_DRIVER = WS2812