# EU-Utility Compatibility Matrix This document provides a comprehensive compatibility matrix for EU-Utility across different platforms and configurations. ## Legend | Symbol | Meaning | |--------|---------| | ✅ | Full Support | | ⚠️ | Limited/Partial Support | | ❌ | Not Supported | | 🔧 | Requires Configuration | | 📦 | Optional Dependency | --- ## Platform Support | Feature | Windows 10/11 | Windows 7/8 | Ubuntu 22.04+ | macOS 13+ | WSL2 | |---------|---------------|-------------|---------------|-----------|------| | Core Application | ✅ | ⚠️ Limited | ✅ | ✅ | ⚠️ | | Window Manager | ✅ | ✅ | ⚠️ | ❌ | ❌ | | Global Hotkeys | ✅ | ✅ | ✅ | ✅ | ✅ | | Native Hotkeys | ✅ | ✅ | ⚠️ | ⚠️ | ⚠️ | | System Tray | ✅ | ✅ | ✅ | ✅ | ✅ | | Notifications | ✅ | ✅ | ✅ | ✅ | ✅ | --- ## Feature Compatibility ### Window Management | Feature | Windows | Linux | macOS | |---------|---------|-------|-------| | Find EU Window | ✅ | ❌ | ❌ | | Window Focus Detection | ✅ | ❌ | ❌ | | Bring to Front | ✅ | ❌ | ❌ | | Window Position | ✅ | ❌ | ❌ | | Screenshot (specific window) | ✅ | ⚠️ | ⚠️ | ### File Operations | Feature | Windows | Linux | macOS | |---------|---------|-------|-------| | File Locking | ✅ portalocker | ✅ fcntl | ✅ fcntl | | Long Paths (>260) | ✅* | ✅ | ✅ | | Unicode Paths | ✅ | ✅ | ✅ | | Atomic Writes | ✅ | ✅ | ✅ | | Cross-Platform Paths | ✅ | ✅ | ✅ | *Requires Windows 10 1607+ with registry modification ### OCR Engines | Engine | Windows | Linux | macOS | GPU Support | Notes | |--------|---------|-------|-------|-------------|-------| | EasyOCR | ✅ | ✅ | ✅ | ✅ CUDA/MPS | Auto-downloads models | | Tesseract | ✅ | ✅ | ✅ | ❌ | Requires installation | | PaddleOCR | ✅ | ✅ | ✅ | ✅ | Chinese optimized | | Windows OCR | ✅ | ❌ | ❌ | ⚠️ | Windows 10 1809+ | ### Network & APIs | Feature | Windows | Linux | macOS | Dependencies | |---------|---------|-------|-------|--------------| | HTTP Client | ✅ | ✅ | ✅ | requests, urllib | | HTTPS/SSL | ✅ | ✅ | ✅ | certifi | | WebSocket | ✅ | ✅ | ✅ | websockets | | MQTT | ✅ | ✅ | ✅ | paho-mqtt 📦 | | gRPC | ⚠️ | ⚠️ | ⚠️ | grpcio 📦 | ### External Integrations | Integration | Windows | Linux | macOS | Auth Required | |-------------|---------|-------|-------|---------------| | Discord Webhooks | ✅ | ✅ | ✅ | Webhook URL | | Home Assistant REST | ✅ | ✅ | ✅ | Long-Lived Token | | Home Assistant MQTT | ✅ | ✅ | ✅ | Broker credentials | | Spotify | ✅ | ✅ | ✅ | OAuth2 | | Twitch | ✅ | ✅ | ✅ | OAuth2 | | Stream Deck | ✅ | ⚠️ | ❌ | API Key | --- ## Python Dependencies ### Core Dependencies (Required) | Package | Windows | Linux | macOS | Version | |---------|---------|-------|-------|---------| | PyQt6 | ✅ | ✅ | ✅ | 6.4+ | | pywin32 | ✅ | ❌ | ❌ | 227+ | | pynput | ✅ | ✅ | ✅ | 1.7+ | | pillow | ✅ | ✅ | ✅ | 9.0+ | | requests | ✅ | ✅ | ✅ | 2.28+ | ### Optional Dependencies | Package | Purpose | Windows | Linux | macOS | |---------|---------|---------|-------|-------| | easyocr | OCR Engine | ✅ | ✅ | ✅ | | pytesseract | OCR Engine | ✅ | ✅ | ✅ | | paddleocr | OCR Engine | ✅ | ✅ | ✅ | | paho-mqtt | MQTT Client | ✅ | ✅ | ✅ | | aiohttp | Async HTTP | ✅ | ✅ | ✅ | | websockets | WebSocket | ✅ | ✅ | ✅ | | psutil | System Info | ✅ | ✅ | ✅ | | portalocker | File Lock | ✅ | 📦 | 📦 | | plyer | Mobile features | ⚠️ | ✅ | ⚠️ | --- ## Plugin Compatibility ### Built-in Plugins | Plugin | Windows | Linux | macOS | Requirements | |--------|---------|-------|-------|--------------| | Dashboard | ✅ | ✅ | ✅ | None | | Universal Search | ✅ | ✅ | ✅ | Internet | | Loot Tracker | ✅ | ✅ | ✅ | None | | Skill Scanner | ✅ | ✅ | ✅ | OCR Engine | | Game Reader (OCR) | ✅ | ✅ | ✅ | OCR Engine | | Spotify Controller | ✅ | ✅ | ✅ | Spotify App | | DPP Calculator | ✅ | ✅ | ✅ | None | | Crafting Calc | ✅ | ✅ | ✅ | Nexus API | | Codex Tracker | ✅ | ✅ | ✅ | Internet | | Mission Tracker | ✅ | ✅ | ✅ | None | ### Integration Test Plugins | Plugin | Windows | Linux | macOS | Requirements | |--------|---------|-------|-------|--------------| | Discord Tester | ✅ | ✅ | ✅ | Webhook URL | | Home Assistant Tester | ✅ | ✅ | ✅ | HA Instance | | Browser Extension Tester | ✅ | ✅ | ✅ | Chrome/Firefox | | Platform Compatibility | ✅ | ✅ | ✅ | None | | Service Fallback | ✅ | ✅ | ✅ | None | --- ## Browser Extension Support | Browser | Native Messaging | WebSocket | HTTP API | |---------|-----------------|-----------|----------| | Chrome | ✅ | ✅ | ✅ | | Firefox | ✅ | ✅ | ✅ | | Edge | ✅ | ✅ | ✅ | | Safari | ❌ | ✅ | ✅ | | Opera | ⚠️ | ✅ | ✅ | | Brave | ✅ | ✅ | ✅ | --- ## Hardware Acceleration | Feature | Windows | Linux | macOS | Requirements | |---------|---------|-------|-------|--------------| | GPU OCR (CUDA) | ✅ | ✅ | ❌ | NVIDIA GPU | | GPU OCR (MPS) | ❌ | ❌ | ✅ | Apple Silicon | | Hardware Cursor | ✅ | ⚠️ | ⚠️ | Windows API | | D3D/Vulkan Overlay | ❌ | ❌ | ❌ | Future | --- ## Known Limitations ### Windows - Windows 7/8: Limited support, some features require Windows 10+ - Windows 10 1607+: Required for long path support - Windows Defender: May flag some PyInstaller executables ### Linux - Window Manager: No direct EU window interaction - Hotkeys: Requires xbindkeys or similar - Distribution: Tested on Ubuntu 22.04+, may vary on others - Wayland: Limited testing, mostly X11 ### macOS - Window Manager: No direct EU window interaction - Notarization: Unsigned builds may require manual approval - ARM64: Native support on Apple Silicon ### WSL - GUI: Requires WSLg or X server - Performance: Reduced compared to native - Integration: Limited Windows interop --- ## Installation Requirements ### Minimum Requirements | Resource | Minimum | Recommended | |----------|---------|-------------| | RAM | 4 GB | 8 GB | | Disk | 500 MB | 2 GB (with OCR models) | | CPU | Dual Core | Quad Core | | Display | 1280x720 | 1920x1080 | | Internet | Optional | Recommended | ### Python Version | Version | Support | Notes | |---------|---------|-------| | 3.11 | ✅ Recommended | Best performance | | 3.12 | ✅ | Fully supported | | 3.10 | ⚠️ | Works, not recommended | | 3.9 | ❌ | Not supported | --- ## Troubleshooting ### Common Issues by Platform #### Windows | Issue | Solution | |-------|----------| | "VCRUNTIME not found" | Install Visual C++ Redistributable | | Window not found | Run EU as administrator | | Hotkeys not working | Check for conflicts with other apps | #### Linux | Issue | Solution | |-------|----------| | `display not found` | Set DISPLAY environment variable | | Permission denied | Check file permissions | | Missing dependencies | Install via package manager | #### macOS | Issue | Solution | |-------|----------| | "App is damaged" | Allow in Security & Privacy settings | | Hotkeys not registering | Grant accessibility permissions | --- ## Testing Matrix ### Automated Tests | Test Suite | Windows | Linux | macOS | |------------|---------|-------|-------| | Unit Tests | ✅ | ✅ | ✅ | | Integration Tests | ✅ | ✅ | ⚠️ | | E2E Tests | ⚠️ | ❌ | ❌ | | Performance Tests | ✅ | ⚠️ | ⚠️ | ### Manual Testing | Feature | Windows | Linux | macOS | |---------|---------|-------|-------| | Plugin Loading | Tested | Tested | Tested | | Hotkey Registration | Tested | Tested | Tested | | Overlay Display | Tested | Tested | Tested | | OCR Accuracy | Tested | Tested | Limited | | Webhook Delivery | Tested | Tested | Tested | --- ## Version History | Version | Date | Notable Changes | |---------|------|-----------------| | 2.0.0 | 2024-XX | Full integration test suite added | | 1.5.0 | 2024-XX | Linux compatibility improvements | | 1.0.0 | 2024-XX | Initial release (Windows only) | --- ## Contributing To report compatibility issues: 1. Run `python scripts/platform_detector.py --json` 2. Include the output in your issue 3. Describe the specific feature that doesn't work 4. Include error messages and logs ## License This compatibility matrix is part of EU-Utility and is licensed under the MIT License.