sunshine-control-panel  by qiin2333

Streamlined desktop manager for gaming and system control

Created 2 years ago
390 stars

Top 73.3% on SourcePulse

GitHubView on GitHub
Project Summary

A desktop manager for the Sunshine Foundation, this project leverages Tauri 2 and Vue 3 to provide a comprehensive interface for managing game streaming setups. It targets users of Sunshine and Moonlight, offering features like game library management, system monitoring, and AI assistance, aiming to streamline the configuration and operation of game streaming environments.

How It Works

The application employs a hybrid architecture, with a Vue 3 frontend communicating with a Rust backend via Tauri's IPC bridge. The Rust core utilizes the Axum web framework to act as a proxy, handling requests to the Sunshine service, Steam APIs, and LLM services. System information and process management are accessed through Windows-specific APIs like WMI and Win32, while the Virtual Display Driver (VDD) is managed directly. This approach combines the flexibility of web technologies for the UI with the performance and system-level access of Rust for backend operations.

Quick Start & Requirements

  • Prerequisites: Node.js, npm, Rust, Cargo, and Windows SDK.
  • Development: Install dependencies with npm install. Run the development server with npm run dev. For simultaneous WebUI and Tauri development, use npm run dev-server (in Sunshine root) and npm run dev-webui (in control-panel directory).
  • Build: Use npm run build:renderer for the frontend or npm run build for the complete application. Windows-specific builds are available via npm run build:win.
  • Notes: Building the Tauri application requires a Rust toolchain; the initial build process can be lengthy due to dependency compilation.

Highlighted Details

  • Update Management: Automates checking, downloading, and installing updates for the control panel, with support for beta/pre-release versions.
  • Sunshine Service Control: Enables starting, stopping, restarting, and monitoring the Sunshine service, along with managing paired devices.
  • System & Memory Monitoring: Provides real-time process memory and working set trend graphs, subprocess listings, and runtime statistics.
  • Game Library Management: Features grid/list views, search/filtering, favorites, recent usage tracking, and sorting options for applications.
  • Steam Integration: Allows updating game covers by searching the Steam Store API and uploading them.
  • Launch Assistant: Supports configuring pre/post-launch scripts for applications, useful for tasks like virtual display setup or resolution changes.
  • VDD Driver Management: Facilitates the installation, configuration, and EDID management of the Virtual Display Driver.
  • AI Assistant: Integrates LLM capabilities (Mita AI) for enhanced functionality within Sunshine and its clients.
  • User Experience: Offers theme switching (light/dark, custom backgrounds), dual-language support (Chinese/English), and a global shortcut (Ctrl+Alt+Shift+T) to toggle a floating toolbar.

Maintenance & Community

No specific details regarding maintainers, community channels (like Discord/Slack), sponsorships, or partnerships were found in the provided README content.

Licensing & Compatibility

The license type is not explicitly stated in the provided text. The project is primarily designed for and compatible with Windows, due to its reliance on Windows-specific system APIs and drivers.

Limitations & Caveats

This application is Windows-specific, utilizing Windows-only APIs (WMI, Winreg) and requiring the VDD driver, limiting its cross-platform usability. Building the application necessitates a Rust toolchain, and the initial compilation process can be time-consuming. The Tauri GUI is an optional component and does not affect the core functionality of the Sunshine application itself.

Health Check
Last Commit

14 hours ago

Responsiveness

Inactive

Pull Requests (30d)
3
Issues (30d)
1
Star History
13 stars in the last 30 days

Explore Similar Projects

Starred by Junyang Lin Junyang Lin(Core Maintainer at Alibaba Qwen), Eric Zhu Eric Zhu(Coauthor of AutoGen; Research Scientist at Microsoft Research), and
2 more.

OpenSandbox by alibaba

1.8%
10k
Sandbox platform for AI and LLM applications
Created 4 months ago
Updated 14 hours ago
Feedback? Help us improve.