Skip to content
 
 

Latest commit

 

History

3,196 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Selene

Selene is a community-maintained fork of Artemis by wjbeckett — which is itself a fork of Moonlight Qt by the Moonlight Team. Selene revives and maintains the desktop client and pairs with its sibling host Helios. Full credit to the upstream projects — see Attribution below.

Selene is an enhanced cross-platform client for NVIDIA GameStream and Apollo / Helios / Sunshine servers. It brings the advanced features from Artemis Android to desktop platforms.

🙏 Attribution

Selene is a fork of Artemis by wjbeckett, which is built upon the excellent foundation of Moonlight Qt by the Moonlight Team. We extend our sincere gratitude to all of the original developers for creating such a robust and well-architected streaming client.

Key Credits:

Development Build Downloads

💖 Support the Project

Selene is free and community-maintained. Ways to help:

  • Star the repository to show your appreciation
  • 🐛 Report bugs and help improve the experience for everyone
  • 🔄 Share Selene with other gamers and streamers
  • 💻 Contribute code or documentation improvements

✨ Selene Features

Selene includes all the features of Moonlight Qt, plus these enhanced capabilities:

🎯 Phase 1 (Foundation) - Complete

  • 📋 Clipboard Sync - Seamlessly sync clipboard content between client and server - ✅ COMPLETE
  • ⚡ Server Commands - Execute custom commands on the Apollo/Sunshine server - ✅ COMPLETE
  • 🔐 OTP Pairing - One-Time Password pairing for enhanced security - ✅ COMPLETE
  • 🎮 Quick Menu - In-stream overlay menu for easy access to controls - ✅ COMPLETE

🎮 Phase 2 (Client Controls) - Complete

  • 🖥️ Fractional Refresh Rate - Client-side control for custom refresh rates (e.g., 90Hz, 120Hz) - ✅ COMPLETE
  • 📐 Resolution Scaling - Client-side resolution scaling for better performance - ✅ COMPLETE
  • 🖼️ Virtual Display Control - Choose whether to use virtual displays - ✅ COMPLETE

🆕 Phase 3 (UUID & Modern Features) - Complete

  • 🆔 UUID-Based App Launching - Modern app identification system for Apollo/Sunshine servers - ✅ COMPLETE
  • 🔄 Automatic Fallback - Seamlessly falls back to legacy app IDs when UUIDs unavailable - ✅ COMPLETE
  • 🎨 Visual Rebranding - Official Artemis icons and art:// protocol compatibility with Apollo Android - ✅ COMPLETE
  • 🚀 Development Builds - Automated development builds with changelogs for all platforms - ✅ COMPLETE

🚀 Phase 4 (Advanced) - In Progress

  • 📱 App Ordering - Custom app ordering without compatibility mode
  • 🔍 Permission Viewing - View and manage server-side permissions - ✅ COMPLETE
  • 🎯 Input-Only Mode - Stream input without video for remote control scenarios

🎮 Perfect for Steam Deck

Selene is specifically optimized for handheld gaming devices like the Steam Deck:

  • Embedded Mode - Optimized UI for handheld devices
  • GPU-Optimized Rendering - Efficient rendering for lower-power GPUs
  • Touch-Friendly Interface - Designed for touch and gamepad navigation
  • Power Efficient - Optimized for battery life
  • Gamepad Shortcuts - Built-in gamepad combinations for quick access to features

🎮 Keyboard and Gamepad Shortcuts

Quick Menu Toggle

Keyboard: Ctrl + Alt + Shift + \

Gamepad: Select + L1 + R1 + Y

💡 Pro Tip: The Quick Menu provides instant access to clipboard sync, server commands, streaming controls, and more - all without leaving your game!

Other Shortcuts

Keyboard Shortcuts (All require Ctrl + Alt + Shift prefix):

  • \ - Toggle Quick Menu (NEW!)
  • Q - Quit stream
  • E - Quit stream and exit application
  • S - Toggle performance stats overlay
  • X - Toggle fullscreen
  • M - Toggle mouse capture mode
  • Z - Toggle input capture
  • C - Toggle cursor visibility
  • V - Paste clipboard text
  • L - Toggle pointer region lock
  • D - Minimize window

Gamepad Shortcuts:

  • Select + L1 + R1 + Y - Toggle Quick Menu (NEW!)
  • Start + Select + L1 + R1 - Quit stream
  • Select + L1 + R1 + X - Toggle performance stats overlay
  • Long press Start - Toggle mouse emulation mode

Note: The Quick Menu provides easy access to clipboard sync, server commands, and other streaming controls during your session.

📥 Downloads

All downloads are available in Releases

�️ Platform Support

Windows:

  • x64 (Intel/AMD) - Full support with MSI installer and portable ZIP
  • ARM64 - ✨ NEW! Native support for Windows on ARM devices (Surface Pro X, Copilot+ PCs, etc.)

macOS:

  • Universal Binary - Native support for both Intel and Apple Silicon Macs

Linux:

  • x64 AppImage - Universal Linux package for x64 systems
  • x64 Flatpak - Sandboxed package available via Flathub
  • Steam Deck - Optimized builds for Valve's handheld gaming device

�🍎 macOS Installation Notes

Development builds may show "Artemis.app is damaged" due to macOS security features. To fix this:

Option 1 (Recommended):

# Remove quarantine attributes
xattr -cr /path/to/Artemis.app

Option 2:

  1. Go to System Preferences > Security & Privacy > General
  2. Click "Allow Anyway" when prompted about Artemis
  3. Try launching the app again

This is normal for development builds and doesn't indicate actual damage to the application.

🔥 Latest Development Features:

  • 🖥️ Windows ARM64 Support - Native builds for Windows on ARM devices
  • 🎮 Enhanced Quick Menu - New keyboard (Ctrl+Alt+Shift+\) and gamepad shortcuts (Select+L1+R1+Y)
  • Permission viewing from the client
  • Complete Artemis rebranding with official icons and art:// protocol support
  • UUID-based app launching for modern Apollo/Sunshine servers
  • Enhanced error handling and logging
  • Improved compatibility with latest server versions

🎮 Moonlight Features (Inherited)

  • Hardware accelerated video decoding on Windows, Mac, and Linux
  • H.264, HEVC, and AV1 codec support (AV1 requires Sunshine and a supported host GPU)
  • YUV 4:4:4 support (Sunshine only)
  • HDR streaming support
  • 7.1 surround sound audio support
  • 10-point multitouch support (Sunshine only)
  • Gamepad support with force feedback and motion controls for up to 16 players
  • Support for both pointer capture (for games) and direct mouse control (for remote desktop)
  • Support for passing system-wide keyboard shortcuts like Alt+Tab to the host

🛠️ Building from Source

Quick Start

# Clone the repository
git clone https://github.com/unjordi/Selene.git
cd Selene

# Run the development setup script
chmod +x scripts/setup-dev.sh
./scripts/setup-dev.sh

# The script will install dependencies and build the project

Manual Build Requirements

All Platforms

  • Qt 6.7+ (Qt 6.8+ recommended)
  • FFmpeg 4.0+
  • SDL2 and SDL2_ttf
  • OpenSSL
  • Opus codec

Platform-Specific Requirements

Windows:

  • Visual Studio 2022 with MSVC
  • 7-Zip (for packaging)

macOS:

  • Xcode 14+
  • Homebrew: brew install qt6 ffmpeg opus sdl2 sdl2_ttf create-dmg

Linux:

# Ubuntu/Debian
sudo apt install qt6-base-dev qt6-declarative-dev libqt6svg6-dev \
  qml6-module-qtquick-controls qml6-module-qtquick-templates \
  qml6-module-qtquick-layouts libegl1-mesa-dev libgl1-mesa-dev \
  libopus-dev libsdl2-dev libsdl2-ttf-dev libssl-dev \
  libavcodec-dev libavformat-dev libswscale-dev libva-dev \
  libvdpau-dev libxkbcommon-dev wayland-protocols libdrm-dev

# Fedora/RHEL
sudo dnf install qt6-qtbase-devel qt6-qtdeclarative-devel \
  qt6-qtsvg-devel openssl-devel SDL2-devel SDL2_ttf-devel \
  ffmpeg-devel libva-devel libvdpau-devel opus-devel \
  pulseaudio-libs-devel alsa-lib-devel libdrm-devel

Build Commands

# Initialize submodules
git submodule update --init --recursive

# Configure and build
qmake6 artemis.pro CONFIG+=release
make -j$(nproc)  # Linux
make -j$(sysctl -n hw.ncpu)  # macOS
nmake  # Windows

🎮 Features Comparison

Feature Moonlight Qt Selene
GameStream/Sunshine Support
Hardware Video Decoding
HDR Streaming
7.1 Surround Sound
Multi-touch Support
Clipboard Sync
Server Commands
OTP Pairing
Quick Menu
Fractional Refresh Rates
Resolution Scaling
Virtual Display Control
UUID-Based App Launching
Development Builds
Permission Viewing
Custom App Ordering 📋
Input-Only Mode 📋

Legend: ✅ Available, 🚧 In Development, 📋 Planned

🆕 What's New

Recent Improvements

  • �️ Windows ARM64 Support - ✨ NEW! Native ARM64 builds for Windows on ARM devices (Surface Pro X, Copilot+ PCs)
  • 🎮 Enhanced Quick Menu - Improved keyboard shortcut (Ctrl+Alt+Shift+\) and gamepad combo (Select+L1+R1+Y)
  • �🔍 Permission Viewing - View server-side permissions for clients
  • Complete Visual Rebranding - Official Artemis icons and branding from Apollo developer, art:// protocol support
  • UUID-Based App Launching - Modern app identification system that works seamlessly with Apollo/Sunshine servers
  • 🔄 Smart Fallback System - Automatically uses legacy app IDs when UUIDs aren't available
  • 🔐 OTP Pairing - Enhanced security with One-Time Password authentication
  • 🚀 Automated Development Builds - Get the latest features with automatic changelogs for all platforms
  • 📋 Better Error Handling - Improved logging and error messages for troubleshooting

What's Coming Next

  • 📱 Custom App Ordering - Organize your game library exactly how you want
  • 🎯 Input-Only Mode - Remote control without video streaming for lightweight scenarios

Development Process

We now have automated development builds that:

  • 🔄 Build automatically on every development push
  • 📋 Generate detailed changelogs from commit messages
  • 🎯 Support all platforms (Windows, macOS, Linux, AppImage, Flatpak, Steam Deck)
  • ⚡ Let you test new features immediately

Want to help test new features? Check out our development releases!

🤝 Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and test thoroughly
  4. Commit your changes: git commit -m 'Add amazing feature'
  5. Push to the branch: git push origin feature/amazing-feature
  6. Open a Pull Request

Development Guidelines

  • Follow the existing code style
  • Add tests for new features
  • Update documentation as needed
  • Test on multiple platforms when possible

🔗 Related Projects

📄 License

This project is licensed under the GPL v3 License - see the LICENSE file for details.

🙏 Acknowledgments

  • wjbeckett - Creator of Artemis (Qt), the direct upstream of Selene
  • ClassicOldSong - Creator of Artemis Android and Apollo server
  • Moonlight Team - For the excellent foundation
  • LizardByte - For the Sunshine server
  • All contributors who help make this project better

Made with ❤️ for the gaming community

About

Cross-platform game-streaming client (Windows, macOS, Linux, Steam Deck) — a community-maintained fork of Artemis (which is a fork of Moonlight Qt).

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages