u/Prallax

New Canvas-DS bug fix update
▲ 7 r/rgds+1 crossposts

New Canvas-DS bug fix update

Hello there.

Someone on a previous Canvas-DS post reported to me a bug with the Canvas-DS theme. I also experienced this bug after updating Rocknix to Stable 20260801.

The bug is fairly easy to replicate and quite annoying. What happens is that after entering a game from the dual-screen theme and then exiting the game the input seems to be frozen and none of the buttons work. This means it is impossible to navigate back to play a different game or system. If you wait a couple of minutes usually the input comes back and navigation is possible again.

The culprit to this seems to be the hacky enable_theme_rgds.sh script we use to force rocknix to run in dual screen mode. Seems this happens specially on latest versions since rocknix updated wayland/sway package.

This is not Rocknix fault tho this is on the script since it is a bit of a hacky solution to force dual screen and not official.

I have found a solution over the past 2 days and have created a new release that includes the theme and also the script in case someone else is suffering the same issues.

The release can be found here => https://github.com/toniremi/canvas-ds/releases/tag/1.0.5

For users who already have the theme all you have to do is replace the enable_theme_rgds.sh script or its contents. If the script fails to execute remember to run chmod +x enable_theme_rgds.sh

In order to make it easy I will also include the latest script on this post. All you have to do is copy this and replace the contents of your enable_theme_rgds.sh script with this below.

Updated script:

#!/bin/bash

LAUNCHER_SCRIPT="/roms/ports/start_es_rgds.sh"

# Structural safety check: Ensure the user actually copied the launcher script to ports
if [ ! -f "$LAUNCHER_SCRIPT" ]; then
    echo "ERROR! Could not find the launcher script at $LAUNCHER_SCRIPT"
    echo "Please ensure start_es_rgds.sh is copied into your /roms/ports/ directory."
    exit 1
fi

# Bind the standalone ports launcher to override the default system window initialization
chmod +x "$LAUNCHER_SCRIPT"
mount --bind "$LAUNCHER_SCRIPT" "/usr/bin/start_es.sh"

cat <<EOF >/storage/.config/sway/config
seat * hide_cursor 1000
default_border none
exec_always mako

# Outputs
output DSI-2 transform 0
output DSI-2 bg #000000 solid_color
output DSI-2 allow_tearing yes
output DSI-2 max_render_time off

# Window rules
for_window [title=".*(Secondary|\[w2\]|Sub|Bottom|Screen 2|GamePad).*"] move window to output DSI-1, output DSI-1 power on
for_window [title="RetroArch.*"] exec /usr/bin/vertical-check
for_window [app_id="lowerdeck"] floating enable, fullscreen enable, move window to output DSI-1
no_focus [app_id="lowerdeck"]

for_window [app_id="drastic"] input "1046:911:Goodix_Capacitive_TouchScreen" map_to_output DSI-2

# EmulationStation layout rules
for_window [app_id="emulationstation"] floating enable, fullscreen disable, move absolute position 0 0

# Input and Seat configuration (static mappings to prevent input IPC deadlocks)
seat seat0 attach "0:0:wlr_virtual_keyboard_v1"
seat seat1 attach "1046:911:Goodix_Capacitive_TouchScreen"
seat seat1 fallback yes
EOF

swaymsg reload

ES_SETTINGS="/storage/.config/emulationstation/es_settings.cfg"
if grep -q '<string name="FullScreenMenu"' "$ES_SETTINGS" 2>/dev/null; then
    sed -i 's|<string name="FullScreenMenu" value="[^"]*" />|<string name="FullScreenMenu" value="false" />|' "$ES_SETTINGS"
else
    sed -i 's|</config>|\t<string name="FullScreenMenu" value="false" />\n</config>|' "$ES_SETTINGS"
fi

if grep -q '<string name="GameTransitionStyle"' "$ES_SETTINGS" 2>/dev/null; then
    sed -i 's|<string name="GameTransitionStyle" value="[^"]*" />|<string name="GameTransitionStyle" value="fade" />|' "$ES_SETTINGS"
else
    sed -i 's|</config>|\t<string name="GameTransitionStyle" value="fade" />\n</config>|' "$ES_SETTINGS"
fi

if [ ! -f "/tmp/has-restarted-for-theme" ]; then
    touch /tmp/has-restarted-for-theme
    systemctl restart essway
fi
u/Prallax — 9 days ago
▲ 78 r/rgds+1 crossposts

New Dual Screen Theme for Anbernic RG DS on Rocknix (Canvas-DS)

Hello!!

I have been working on a new dual screen theme on EmulationStation for the RG DS called Canvas-DS.

I basically tried porting my favorite theme Canvas-ES to a dual screen layout that looks good on RG DS using dual screens.

Ended up creating Canvas-DS. You can download it directly from the release pages on my github.

I was able to adapt most of the layouts so it ended up being a theme that can be customized to your like it in a bunch of ways.

The theme has multiple system view layouts as well as game view layouts, custom colors, custom icons and it can be extended further with custom wallpapers, your own colors, etc.

Here is a list and explanation of the layouts in more detail.

Layouts

System layouts

  • grid => this is a simple grid layout with your systems. It is my preferred look for the dual screen setup.
  • carousel => This is a simple one row carousel on the bottom screen.

Game layouts:

  • detailed => displays games on a list with some meta data at the bottom.
  • grid => displays the games on a grid also my preferred way to show games on dual screen.
  • carousel => a wheel carousel with the game marquees on the right side of the screen and metadata on the left.

Both System and Game Grid layouts can also change the size of the grid to your own liking.

Theme Customization

As mentioned above the theme can be further customized in three ways. You can add a your own custom wallpaper, you can change the colors modifying a colors.xml and you can also add your own custom icons for the systems. I added examples and explanations on my Github page as well check it out here.

If anyone wants to create and share some of their customizations I would love to post them on Github for others to use. Maybe if enough people submit customizations I could even create a separate Github repository just for the theme customizations so people can navigate and download their favorite ones.

Hope you guys enjoy it!

Github for Canvas-DS => https://github.com/toniremi/canvas-ds/tree/main

u/Prallax — 2 months ago