diff --git a/rss-generator.py b/rss-generator.py
index 3a75441..0bad1c5 100644
--- a/rss-generator.py
+++ b/rss-generator.py
@@ -106,21 +106,29 @@ def build_screenshots_html(app):
screenshots = [{'url': app['screenshot_url']}]
if screenshots:
- screenshots_html = '
'
- for idx, screenshot in enumerate(screenshots, 1):
- url = screenshot.get("url", "")
- width = screenshot.get("width", "auto")
- height = screenshot.get("height", "auto")
- hardware = screenshot.get("hardware", "")
-
- label = f"Screenshot {idx}"
- if hardware:
- label += f" ({hardware})"
-
- if url:
- screenshots_html += f'

'
+ # Filter screenshots: prefer "basalt" hardware, then fall back to no hardware specified
+ basalt_screenshots = [s for s in screenshots if s.get("hardware") == "basalt"]
+ if basalt_screenshots:
+ screenshots = basalt_screenshots
+ else:
+ screenshots = [s for s in screenshots if not s.get("hardware")]
- screenshots_html += '
'
+ if screenshots:
+ screenshots_html = ''
+ for idx, screenshot in enumerate(screenshots, 1):
+ url = screenshot.get("url", "")
+ width = screenshot.get("width", "auto")
+ height = screenshot.get("height", "auto")
+ hardware = screenshot.get("hardware", "")
+
+ label = f"Screenshot {idx}"
+ if hardware:
+ label += f" ({hardware})"
+
+ if url:
+ screenshots_html += f'

'
+
+ screenshots_html += '
'
return screenshots_html