Thanks to visit codestin.com
Credit goes to github.com

Skip to content

jcb-h/artemis

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Artemis Qt

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

๐Ÿ™ Attribution

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

Key Credits:

Build Status Downloads

๐Ÿ’– Support the Project

If you find Artemis Qt useful and want to support continued development, you can:

ko-fi

Your support helps cover development time, testing on multiple platforms, and keeping the project maintained. Every contribution, no matter how small, is greatly appreciated! ๐Ÿ™

Other ways to support:

  • โญ Star the repository to show your appreciation
  • ๐Ÿ› Report bugs and help improve the experience for everyone
  • ๐Ÿ”„ Share Artemis with other gamers and streamers
  • ๐Ÿ’ป Contribute code or documentation improvements

โœจ Artemis Features

Artemis Qt 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

Artemis Qt 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/wjbeckett/artemis.git
cd artemis

# 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 moonlight-qt.pro CONFIG+=release
make -j$(nproc)  # Linux
make -j$(sysctl -n hw.ncpu)  # macOS
nmake  # Windows

๐ŸŽฎ Features Comparison

Feature Moonlight Qt Artemis Qt
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

  • 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

GameStream client for PCs (Windows, Mac, Linux, and Steam Link)

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 70.1%
  • C 23.5%
  • Makefile 3.5%
  • QML 1.5%
  • Objective-C++ 0.6%
  • QMake 0.3%
  • Other 0.5%