u/seanbeedelicious

▲ 59 r/R36S

Speeding up the DarkOS-RE interface

Device: r36s v12 single-chip clone
OS: DarkOS-RE BETA 04262026 (modified)
Games: Randomly selected

This is a quick showcase of the speed of my menus achieved by modifying themes, configs, core options, and launch scripts.

For cores, I disabled system intros (GB and GBA) wherever possible

For theme, I set launch transitions to instant, with no loading images. Disabled theme videos.

For configs and launch scripts, I removed the functions that check and set system governor settings in emulationstation.sh and modified the retroarch launcher by stripping out anything for online play, video and audio parameter checks - I left them with the core functionality to simply launch games without performing all of the overhead.

I created a new rc script that locks the performance governor at “performance” - because this is a low-power rk3326 and it needs all the power it can get.

All games are in .zip format - so, depending on the size of the game dictates how long it takes the system to unzip and load it into RetroArch - I could eke out a few milliseconds by leaving all of the games uncompressed, but the real-world speed difference is negligible and imperceptible to my eyes.

Game launches are around 2 seconds, and exiting games is similarly around 2 seconds

Many people probably won’t care about things like menu interface speeds, but tinkering is my favorite game. Besides Tetris.

u/seanbeedelicious — 4 days ago
▲ 2 r/R36S

Knulli (Scarab) works on the r36h

https://preview.redd.it/6h4tsl5mkl1h1.png?width=2220&format=png&auto=webp&s=af877f3fef1a873b53ba18b1fb967985908077e5

I flashed Knulli (Scarab) to a new SD card, inserted the card into my r36h and powered it on.

It works

-Sound works

-Battery gauge is accurate

-Sticks, dpad and all buttons are all working and mapped correctly

-External Wi-Fi dongle connects to network

I had already guessed that because Knulli (Scarab) works perfectly fine on a v12 Panel 4 r36s, that it would also work on the r36h, and I am happy to be proven correct.

So, that's it for my BOYHOM r36 devices. Knulli runs like a champ on:

-r36s Panel 4 - no changes needed

-r36h Panel 4 - no changes needed

-r36s Panel 0 - (rename and put DarkOS-RE rk3326-r36s-linux.dtb (v12 Panel 0) in KNULLI/boot/ to replace rk3326-rg351mp-linux.dtb after initial flash)

-r36Plus - (rename and put DarkOS-RE rk3326-r36s-linux.dtb (v20 r36Plus) in KNULLI/boot/ to replace rk3326-rg351mp-linux.dtb after initial flash)

Knulli runs, but has issues on these devices:

-Soy Sauce

-r36h ProMax

One small drawback of this release of Knulli is they removed gpSP as an emulator core - which was a bit of a bummer because the rk3326 struggles a bit with heavier titles in mGBA, and gpSP has far superior fast-forward. I did figure out how to re-add it, if anyone wants to know how - ask and I'll write a guide.

reddit.com
u/seanbeedelicious — 5 days ago
▲ 6 r/R36S

Knulli (Scarab) works on the r36h ProMax

https://preview.redd.it/ejzwtwmvwe1h1.png?width=2198&format=png&auto=webp&s=123773cc37892f9ed20904f1dc8f59e77d844c75

I flashed Knulli (Scarab) to a new SD card, swapped in the ORIGINAL dtb file that came with my device, inserted the card into my r36Plus and powered it on.

It works, kinda.

-Knulli bootsplash auto-configured to 1024x768

-Menus are properly 1024x768

-Sound works

-Battery gauge looks to be accurate

-Sticks, face buttons, and shoulder buttons are all work and are mapped correctly

-Volume buttons DO NOT WORK (however, volume is mapped to R3 UP/DOWN, so it can be accessed from the ES menu, but not from within games)

-Internal Wi-Fi DOES NOT WORK

-External Wi-Fi dongle DOES NOT WORK

-FN Button DOES NOT WORK

-Device does not shut off properly. ES shuts down, but the green LED indicator light stays on. It also will not restart using the menu options, and ends up with the same back screen with LED indicator light on. I had to force-poweroff by holding POWER in each instance.

Basically, the core system works great, you can play all of the games, but there are little things here and there that aren't great. I have no idea if the Knulli devs will be adding official support for the ProMax to deal with the above issues - probably not.

Future testing: I still need to test Knulli on the r36h - pretty confident it will work without issue because it is basically the same as the r36s

reddit.com
u/seanbeedelicious — 6 days ago
▲ 25 r/R36S

Knulli (Scarab) works on the r36Plus

I had already set up Knulli (Scarab) on a v12 Panel 4 r36s. I took that pre-configured card, replaced the dtb with the r36Plus DarkOS-RE BETA 04262026 dtb, inserted it into my r36Plus and powered it on.

It works.

-Knulli bootsplash auto-configured to 720x720
-Menus are properly 1:1
-Sound works
-Battery gauge is accurate
-Wi-Fi works
-All buttons and sticks work properly

Future testing: Pretty sure the default Knulli install will work on the r36h without any modifications, but I’ll test that out. I will also see if I can get my r36h ProMax running with it as well.

u/seanbeedelicious — 6 days ago
▲ 3 r/R36S

How to override global controls, enable global turbo, and set up single-button hotkeys on Knulli (Scarab)

If you are using Knulli (Scarab) on the R36S, you have probably noticed a major problem: editing retroarch.cfg directly or changing keybinds within the RetroArch Quick Menu does not work without setting per-system overrides. Knulli generates a fresh configuration every time you launch a game, completely overwriting your custom inputs.

To bypass this behavior and lock in your own custom controls - like assigning a dedicated Turbo Mode modifier - you must inject the commands via your master knulli.conf configuration file.

Step 1: Locating the File

The file you need to modify is named knulli.conf. How you access it depends entirely on whether you run a single-card or dual-card setup:

  • For a 2-SD Card Setup (ExFAT Card in Slot 2): Shut down your R36S, remove the second SD card, and insert it into your computer. The storage partition is formatted to ExFAT, allowing you to access it directly:
    • On a Mac: /Volumes/[SD card name]/system/knulli.conf
    • On a Windows PC: [Drive Letter]:\system\knulli.conf (If the drive letter does not appear automatically in Windows, open Disk Management, right-click the large exFAT partition, and select Change Drive Letter and Paths to assign one manually.)
    • On a Linux PC: /media/[username]/[SD card partition name]/system/knulli.conf
  • For a 1-SD Card Setup: You cannot simply plug the SD card into a Windows or Mac computer. In a single-card setup, the user directory resides on a Linux ext4 partition that is completely invisible to Mac and Windows file systems. Instead, you must keep the card inside the R36S, boot the device, and connect it to the network to use one of two wireless methods:
    • Network Share (Samba): Open your file manager and navigate to \\KNULLI\share\system\knulli.conf
    • SSH / SFTP: Connect using an SSH client or SFTP tool (like WinSCP or Cyberduck). Use the device's local IP address with the username root and password linux. The file is located at the absolute system path: /userdata/system/knulli.conf

Crucial: Getting Network Access on the R36S

Unlike other handhelds, the R36S does not have a built-in Wi-Fi chip. If you are running a single-card setup and need network access to reach your knulli.conf file, you must provide your own network interface:

  1. Get a USB Wi-Fi Dongle & Adapter: Obtain a compatible 2.4GHz wireless USB dongle (such as the TP-Link TL-WN725N). Since most dongles use USB-A, you will also need a USB-A to USB-C OTG adapter.
  2. Plug into the OTG Port: Plug the dongle assembly into the OTG port on the R36S (the right-side USB-C port, not the charging/DC port) before powering on the device.
  3. Connect to Wi-Fi: Power on the console, press Start to open the main Knulli settings menu, navigate to Network Settings, enable Wi-Fi, and input your SSID and password.

Step 2: The Rules for Injection

To make Knulli forward a command permanently into RetroArch, you must prefix every line with global.retroarch..

When working inside Linux backends like Knulli, you cannot use word labels like "l3". You must use the numerical button ID associated with your controller's firmware layout. On the R36S, button 11 represents a physical down-click on the left analog stick (L3), and button 16 represents the hardware FN button.

Step 3: Configuration Block

Paste the following block at the very bottom of your knulli.conf file.

Note: The keybind values provided below are suggestions based on a comfortable layout. You are free to change any of the numerical button IDs to match your own personal controller mapping preferences.

knulli.conf:

# --- TURBO CONFIGURATION ---
global.retroarch.input_turbo_mode = "1" # Turbo Mode 1
global.retroarch.input_player1_turbo_btn = "14" # Turbo Hotkey (L3)
global.retroarch.input_turbo_button = "14"
global.retroarch.input_turbo_bind = "14" 

# --- MENU & NAVIGATION ---
global.retroarch.input_menu_toggle_btn = "16" # Menu Hotkey (FN button)
global.retroarch.input_menu_toggle_gamepad_combo = "2" # Menu Combo (L3 + R3)
global.retroarch.input_quit_gamepad_combo = "4" # Quit Combo (Start + Select)
global.retroarch.input_menu_toggle = "nul" # Disable keyboard menu toggle

# --- CORE GAMEPLAY CONTROLS (FAST FORWARD & REWIND) ---
global.retroarch.input_hold_fast_forward_btn = "7" # Fast-Forward Hotkey (R2)
global.retroarch.input_hold_fast_forward = "nul" # Disable keyboard fast-forward
global.retroarch.rewind_enable = "true" # Enable rewind backend
global.retroarch.input_rewind_btn = "6" # Rewind Hotkey (L2)
global.retroarch.input_rewind = "nul" # Disable keyboard rewind
global.retroarch.rewind_granularity = "5" # Rewind frame step rate

# --- UNUSED / DISABLED KEYBOARD HOTKEYS & BUTTONS ---
global.retroarch.input_ai_service = "nul" # Disable AI text hotkey
global.retroarch.input_ai_service_btn = "nul" # Disable AI button
global.retroarch.input_enable_hotkey = "nul" # Disable keyboard master hotkey
global.retroarch.input_enable_hotkey_btn = "nul" # Disable button master hotkey
global.retroarch.input_exit_emulator = "nul" # Disable keyboard exit
global.retroarch.input_exit_emulator_btn = "nul" # Disable button exit
global.retroarch.input_load_state = "nul" # Disable keyboard load
global.retroarch.input_load_state_btn = "nul" # Disable button load
global.retroarch.input_reset = "nul" # Disable keyboard reset
global.retroarch.input_reset_btn = "nul" # Disable button reset
global.retroarch.input_save_state = "nul" # Disable keyboard save
global.retroarch.input_save_state_btn = "nul" # Disable button save
global.retroarch.input_screenshot = "nul" # Disable keyboard screenshot
global.retroarch.input_screenshot_btn = "nul" # Disable button screenshot
global.retroarch.input_shader_next = "nul" # Disable keyboard next shader
global.retroarch.input_shader_next_btn = "nul" # Disable button next shader
global.retroarch.input_shader_prev = "nul" # Disable keyboard prev shader
global.retroarch.input_shader_prev_btn = "nul" # Disable button prev shader
global.retroarch.input_state_slot_decrease = "nul" # Disable keyboard slot down
global.retroarch.input_state_slot_decrease_btn = "nul" # Disable button slot down
global.retroarch.input_state_slot_increase = "nul" # Disable keyboard slot up
global.retroarch.input_state_slot_increase_btn = "nul" # Disable button slot up

How to Use the Turbo Mode In-Game

Since this block configures input_turbo_mode = "1", it uses Classic Toggle functionality:

  1. Boot into any game.
  2. Hold your Left Stick Click (L3) (or whatever button you chose to replace 11) and tap an action button (like A).
  3. Release both. Button A will now autofire continuously on its own.
  4. Hold your turbo modifier and tap A again to clear the toggle and return to standard operation.

Expected Button Mapping Changes

Once you save the file and reboot your system, your active button mappings on the R36S will change to the following layout:

  • Turbo Toggle Modifier (L3 Click): Used exclusively to turn rapid-fire on or off for your target gameplay face buttons.
  • Quick Menu Toggle (FN Button): Tapping the hardware FN button will instantly open or close the RetroArch Quick Menu.
  • Alternate Menu Toggle (L3 Click + R3 Click): Pressing down on both analog sticks simultaneously will also open or close the RetroArch Quick Menu.
  • Fast-Forward (R2 Trigger): Pressing and holding the right rear trigger will accelerate the game speed; letting go drops it back down to regular full speed.
  • Gameplay Rewinding (L2 Trigger): Pressing and holding the left rear trigger will actively reverse the game frame by frame in real-time.
  • Emulator Exit (Start + Select): Pressing these two face buttons together will instantly quit out of the emulator and return you to the Knulli frontend.
  • Disabled Actions: Traditional keyboard hotkeys, standalone emulator resetting buttons, and accidental button-combination save/load triggers are entirely muted to prevent accidental inputs during intensive gaming sessions.

NOTE: after making the above changes you will be able to use any of the disabled hotkey functionality by accessing the RetroArch Quick Menu

reddit.com
u/seanbeedelicious — 9 days ago
▲ 1 r/MiyooFlip+1 crossposts

How to force custom controls and enable Turbo on Knulli Scarab (Miyoo Flip 2)

If you are using Knulli (Scarab) on the Miyoo Flip 2, you have probably noticed a major problem: editing retroarch.cfg directly or changing keybinds within the RetroArch Quick Menu does not work. Knulli generates a fresh configuration every time you launch a game, completely overwriting your custom inputs.

To bypass this behavior and lock in your own custom controls - like assigning a dedicated Turbo Mode modifier without the need to create custom overrides - you must inject the commands via your master knulli.conf configuration file.

Step 1: Locating the File

The file you need to modify is named knulli.conf. How you access it depends entirely on whether you run a single-card or dual-card setup:

  • For a 2-SD Card Setup (ExFAT Card in Slot 2): Shut down your Miyoo Flip 2, remove the second SD card, and insert it into your computer. The storage partition is formatted to ExFAT, allowing you to access it directly:
    • On a Mac: /Volumes/[SD card name]/system/knulli.conf
    • On a Windows PC: [Drive Letter]:\system\knulli.conf (If the drive letter does not appear automatically in Windows, open Disk Management, right-click the large exFAT partition, and select Change Drive Letter and Paths to assign one manually.)
    • On a Linux PC: /media/[username]/[SD card partition name]/system/knulli.conf
  • For a 1-SD Card Setup: You cannot simply plug the SD card into a Windows or Mac computer. In a single-card setup, the user directory resides on a Linux ext4 partition that is completely invisible to Mac and Windows file systems. Instead, you must keep the card inside the Miyoo Flip 2, boot the device, and connect it to your local Wi-Fi network. You can then access the file wirelessly using one of two methods:
    • Network Share (Samba): Open your file manager and navigate to \\KNULLI\share\system\knulli.conf
    • SSH / SFTP: Connect using an SSH client or SFTP tool (like WinSCP or Cyberduck). Use the device's local IP address with the username root and password linux. The file is located at the absolute system path: /userdata/system/knulli.conf

Step 2: The Rules for Injection

To make Knulli forward a command permanently into RetroArch, you must prefix every line with global.retroarch..

When working inside Linux backends like Knulli, you cannot use word labels like "l3". You must use the numerical button ID associated with your controller's firmware layout. On the Miyoo Flip 2, button 11 represents a physical down-click on the left analog stick (L3), and button 10 represents the hardware M button.

Step 3: Configuration Block

Paste the following block at the very bottom of your knulli.conf file.

Note: The keybind values provided below are purely suggestions based on a comfortable layout. You are free to change any of the numerical button IDs to match your own personal controller mapping preferences.

knulli.conf:

# --- TURBO CONFIGURATION ---
global.retroarch.input_turbo_mode = "1" # Turbo Mode 1
global.retroarch.input_player1_turbo_btn = "11" # Turbo Hotkey (L3)

# --- MENU & NAVIGATION ---
global.retroarch.input_menu_toggle_btn = "10" # Menu Hotkey (M button)
global.retroarch.input_menu_toggle_gamepad_combo = "2" # Menu Combo (L3 + R3)
global.retroarch.input_quit_gamepad_combo = "4" # Quit Combo (Start + Select)
global.retroarch.input_menu_toggle = "nul" # Disable keyboard menu toggle

# --- CORE GAMEPLAY CONTROLS (FAST FORWARD & REWIND) ---
global.retroarch.input_hold_fast_forward_btn = "7" # Fast-Forward Hotkey (R2)
global.retroarch.input_hold_fast_forward = "nul" # Disable keyboard fast-forward
global.retroarch.rewind_enable = "true" # Enable rewind backend
global.retroarch.input_rewind_btn = "6" # Rewind Hotkey (L2)
global.retroarch.input_rewind = "nul" # Disable keyboard rewind
global.retroarch.rewind_granularity = "5" # Rewind frame step rate

# --- UNUSED / DISABLED KEYBOARD HOTKEYS & BUTTONS ---
global.retroarch.input_ai_service = "nul" # Disable AI text hotkey
global.retroarch.input_ai_service_btn = "nul" # Disable AI button
global.retroarch.input_enable_hotkey = "nul" # Disable keyboard master hotkey
global.retroarch.input_enable_hotkey_btn = "nul" # Disable button master hotkey
global.retroarch.input_exit_emulator = "nul" # Disable keyboard exit
global.retroarch.input_exit_emulator_btn = "nul" # Disable button exit
global.retroarch.input_load_state = "nul" # Disable keyboard load
global.retroarch.input_load_state_btn = "nul" # Disable button load
global.retroarch.input_reset = "nul" # Disable keyboard reset
global.retroarch.input_reset_btn = "nul" # Disable button reset
global.retroarch.input_save_state = "nul" # Disable keyboard save
global.retroarch.input_save_state_btn = "nul" # Disable button save
global.retroarch.input_screenshot = "nul" # Disable keyboard screenshot
global.retroarch.input_screenshot_btn = "nul" # Disable button screenshot
global.retroarch.input_shader_next = "nul" # Disable keyboard next shader
global.retroarch.input_shader_next_btn = "nul" # Disable button next shader
global.retroarch.input_shader_prev = "nul" # Disable keyboard prev shader
global.retroarch.input_shader_prev_btn = "nul" # Disable button prev shader
global.retroarch.input_state_slot_decrease = "nul" # Disable keyboard slot down
global.retroarch.input_state_slot_decrease_btn = "nul" # Disable button slot down
global.retroarch.input_state_slot_increase = "nul" # Disable keyboard slot up
global.retroarch.input_state_slot_increase_btn = "nul" # Disable button slot up

How to Use the Turbo Mode In-Game

Since this block configures input_turbo_mode = "1", it uses Classic Toggle functionality:

  1. Boot into any game.
  2. Hold your Left Stick Click (L3) (or whatever button you chose to replace 11) and tap an action button (like A).
  3. Release both. Button A will now autofire continuously on its own.
  4. Hold your turbo modifier and tap A again to clear the toggle and return to standard operation.

Expected Button Mapping Changes

Once you save the file, your active button mappings will change to the following layout:

  • Turbo Toggle Modifier (L3 Click): Used exclusively to turn rapid-fire on or off for your target gameplay face buttons.
  • Quick Menu Toggle (M Button): Tapping the hardware M button will instantly open or close the RetroArch Quick Menu.
  • Alternate Menu Toggle (L3 Click + R3 Click): Pressing down on both analog sticks simultaneously will also open or close the RetroArch Quick Menu.
  • Fast-Forward (R2 Trigger): Pressing and holding the right rear trigger will accelerate the game speed; letting go drops it back down to regular full speed.
  • Gameplay Rewinding (L2 Trigger): Pressing and holding the left rear trigger will actively reverse the game frame by frame in real-time.
  • Emulator Exit (Start + Select): Pressing these two face buttons together will instantly quit out of the emulator and return you to the Knulli frontend.
  • Disabled Actions: Traditional keyboard hotkeys, standalone emulator resetting buttons, and accidental button-combination save/load triggers are entirely muted to prevent accidental inputs during intensive gaming sessions.
reddit.com
u/seanbeedelicious — 9 days ago
▲ 2 r/MiyooFlip+1 crossposts

How to force custom controls and enable Turbo on Knulli Scarab (Miyoo Flip 2)

[effacé]

u/seanbeedelicious — 9 days ago
▲ 3 r/R36S

These devices sell for $30, reportedly are model G80CA-MB (“good clones”) and come with a 128GB SD card.

They come with zero copyrighted material (roms, bios) installed

I am curious if these MicroCenter sold devices come with a MicroCenter branded SD card, as they do have their own line of these cards.

If you bought one, help out your community by posting some pics!

If the cards ARE MC branded, this will make MicroCenter the best place to buy a r36s in the USA

reddit.com
u/seanbeedelicious — 14 days ago
▲ 44 r/crownpuffdeals+1 crossposts

Spreadsheet: https://docs.google.com/spreadsheets/d/1x_PmVHiQNHyw5t05peEDG1DcCKDCvH_UPd3p7yCw4xg/edit?usp=sharing

As usual, coupons are around row 40 for people from the US and on rows 26/29 for people not from the US. Coupon codes are pretty sparse right now but there are a few codes for the current Mother's Day Savings sale. Those codes only apply to certain items so honestly the Saver coupon codes are probably better.

Short update for today as its the last day of the Mother's Day Savings sale. Not sure if these are early bird deals but there is a R36s listing for $14 and there's a K36 listing for $15. There's also an $0.88 store coupon for both those listings. I'm guessing it's probably a clone at $14. Everything else is generally pretty mediocre although it looks like Hifiman has restocked the Sundaras in their ship from US store.

u/crownpuff — 24 days ago