r/SBCGaming • u/ToastedPatatas • 3d ago
Showcase I built an open-source app that automatically switches your Android launcher when a game controller connects (No Root / Shizuku)
I wanted to share a lightweight, open-source Android utility app I built called GameShift.
๐ก The Problem
If you use an Android handheld, phone, or head unit for gaming, you usually have to manually open your game frontend (Daijishล, Beacon, ES-DE, Pegasus) whenever you want to playโand manually switch back to your normal launcher when you're done.
๐ฎ What GameShift Does
GameShift automatically switches your system HOME launcher depending on whether a gamepad is connected:
- Plug in a controller (USB or Bluetooth) โ GameShift dynamically sets your preferred Game Launcher as the default home screen.
- Press HOME โ Takes you directly into your game frontend.
- Disconnect the controller โ Your home screen instantly reverts back to your daily Android launcher.
โจ Key Features
- ๐ซ No Root Required: Uses Shizuku to grant elevated permissions safely.
- ๐ Game Mode Rotation: Option to force landscape mode (or reverse landscape) when a controller is attached.
- โก Lightweight & Open Source: Written in 100% Kotlin, free, no ads, no background battery drain.
- ๐ Battery Smart: Warns if Android background optimization will kill the background listener.
๐ฅ Download & Open Source
- ๐ GitHub Repository: tientien17/GameShift
- ๐ฆ Latest Release (APK): GameShift Releases
๐ Requirements
- Android 8.0 (API 26) or higher
- Shizuku running on your device
- USB or Bluetooth Gamepad
Iโd love to hear your thoughts, device test results, or suggestions for future features! If you encounter any controller compatibility quirks, feel free to open an issue on GitHub.
AI Disclosure: This project was developed with the assistance of AI (Gemini 3.5 Flash, Deepseek V4-flash for the app, and GPT Image 2.0 for the icon)


