- Created complete gaming detection and priority system - Added gaming schedule configuration and enforcement - Implemented Steam library monitoring with auto-detection - Built comprehensive game process detection for multiple platforms - Added gaming-aware Tdarr worker management with priority controls - Created emergency gaming mode for immediate worker shutdown - Integrated Discord notifications for gaming state changes - Replaced old bash monitoring with enhanced Python monitoring system - Added persistent state management and memory tracking - Implemented configurable gaming time windows and schedules - Updated .gitignore to exclude logs directories 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
214 lines
7.3 KiB
Bash
Executable File
214 lines
7.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Ready or Not Comprehensive Compatibility Test
|
|
# Tests various Proton versions and Wine configurations
|
|
|
|
set -e
|
|
|
|
# Colors
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
log_info() { echo -e "${BLUE}[INFO]${NC} $1"; }
|
|
log_success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; }
|
|
log_warning() { echo -e "${YELLOW}[WARNING]${NC} $1"; }
|
|
log_error() { echo -e "${RED}[ERROR]${NC} $1"; }
|
|
|
|
test_proton_versions() {
|
|
log_info "=== Testing Different Proton Versions ==="
|
|
echo
|
|
echo "Ready or Not is known to have compatibility issues with newer Proton versions."
|
|
echo "Let's test with older, more stable versions:"
|
|
echo
|
|
echo "Test Order (most likely to work first):"
|
|
echo "1. Proton 8.0-5 (most stable for older games)"
|
|
echo "2. Proton 7.0-6 (even older, better compatibility)"
|
|
echo "3. Proton 6.3-8 (legacy support)"
|
|
echo "4. GE-Proton8-32 (community version with patches)"
|
|
echo
|
|
echo "For each version:"
|
|
echo "- Change compatibility tool in Steam"
|
|
echo "- Keep launch options: PROTON_USE_WINED3D=1 %command% -noeac -dx11"
|
|
echo "- Test game launch"
|
|
echo "- Note how long it runs before crashing"
|
|
echo
|
|
}
|
|
|
|
test_wine_dependencies() {
|
|
log_info "=== Testing Windows Dependencies ==="
|
|
echo
|
|
echo "Ready or Not may need specific Windows libraries:"
|
|
echo
|
|
echo "Common missing dependencies for UE4 games:"
|
|
echo "- Visual C++ Redistributables (2015, 2017, 2019)"
|
|
echo "- DirectX End-User Runtime"
|
|
echo "- .NET Framework 4.8"
|
|
echo "- Windows Media Format Runtime"
|
|
echo
|
|
echo "To test these:"
|
|
echo "1. Set compatibility to 'Proton 8.0-5'"
|
|
echo "2. Launch options: PROTON_USE_WINED3D=1 %command% -noeac -dx11"
|
|
echo "3. Before launching game, run:"
|
|
echo " protontricks 1144200 --no-term"
|
|
echo "4. Install vcrun2019, d3dx9, dotnet48"
|
|
echo "5. Then test game"
|
|
echo
|
|
}
|
|
|
|
test_protondb_fixes() {
|
|
log_info "=== ProtonDB Community Fixes ==="
|
|
echo
|
|
echo "Let's check what the community has found works for Ready or Not:"
|
|
echo
|
|
echo "Common working configurations from ProtonDB:"
|
|
echo
|
|
echo "Configuration 1 (Most Common):"
|
|
echo "- Proton Version: GE-Proton7-55 or Proton 7.0-6"
|
|
echo "- Launch Options: PROTON_USE_WINED3D=1 %command% -noeac"
|
|
echo "- Additional: Install vcrun2019 via protontricks"
|
|
echo
|
|
echo "Configuration 2 (Alternative):"
|
|
echo "- Proton Version: Proton 8.0-5"
|
|
echo "- Launch Options: PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command% -noeac -dx11"
|
|
echo "- Additional: Disable fullscreen optimizations"
|
|
echo
|
|
echo "Configuration 3 (Fallback):"
|
|
echo "- Use Lutris instead of Steam"
|
|
echo "- Wine-GE-Proton8-26"
|
|
echo "- Manual DXVK installation"
|
|
echo
|
|
}
|
|
|
|
test_system_specific_fixes() {
|
|
log_info "=== System-Specific Troubleshooting ==="
|
|
echo
|
|
echo "Your system (Nobara Linux + RTX 4080 SUPER) specific checks:"
|
|
echo
|
|
echo "1. NVIDIA Driver Issues:"
|
|
echo " - Current driver: $(nvidia-smi --query-gpu=driver_version --format=csv,noheader 2>/dev/null || echo 'Unknown')"
|
|
echo " - Try older driver (555.x series) if on 570.x"
|
|
echo " - Check for prime-run conflicts"
|
|
echo
|
|
echo "2. Nobara-Specific Issues:"
|
|
echo " - Check if gamemode is conflicting: systemctl --user status gamemode"
|
|
echo " - Nobara uses PipeWire - try PULSE_LATENCY_MSEC=200"
|
|
echo " - Check for SELinux blocking: sudo sealert -a /var/log/audit/audit.log"
|
|
echo
|
|
echo "3. Hardware-Specific:"
|
|
echo " - RTX 4080 SUPER is very new - may need newer mesa/vulkan"
|
|
echo " - Try forcing older Vulkan loader: VK_LOADER_DEBUG=all"
|
|
echo " - Test with integrated graphics if available"
|
|
echo
|
|
}
|
|
|
|
create_comprehensive_test_script() {
|
|
log_info "=== Creating Comprehensive Test Script ==="
|
|
|
|
cat > /tmp/ready_or_not_ultimate_test.sh << 'EOF'
|
|
#!/bin/bash
|
|
|
|
# Ultimate Ready or Not Compatibility Test
|
|
# Tests the most promising configurations in order
|
|
|
|
echo "=== Ready or Not Ultimate Compatibility Test ==="
|
|
echo
|
|
|
|
# Test 1: Proton 8.0-5 with WineD3D and dependencies
|
|
echo "TEST 1: Proton 8.0-5 + WineD3D + vcrun2019"
|
|
echo "1. Set compatibility: Proton 8.0-5"
|
|
echo "2. Launch options: PROTON_USE_WINED3D=1 %command% -noeac -dx11"
|
|
echo "3. Run: protontricks 1144200 vcrun2019"
|
|
echo "4. Test game"
|
|
read -p "Press Enter after test 1..."
|
|
|
|
# Test 2: Proton 7.0-6 (most reported working version)
|
|
echo
|
|
echo "TEST 2: Proton 7.0-6 (Community Favorite)"
|
|
echo "1. Set compatibility: Proton 7.0-6"
|
|
echo "2. Launch options: PROTON_USE_WINED3D=1 %command% -noeac"
|
|
echo "3. Test game"
|
|
read -p "Press Enter after test 2..."
|
|
|
|
# Test 3: Disable sync technologies
|
|
echo
|
|
echo "TEST 3: Proton 8.0-5 with sync disabled"
|
|
echo "1. Set compatibility: Proton 8.0-5"
|
|
echo "2. Launch options: PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 PROTON_USE_WINED3D=1 %command% -noeac -dx11"
|
|
echo "3. Test game"
|
|
read -p "Press Enter after test 3..."
|
|
|
|
# Test 4: Minimal environment
|
|
echo
|
|
echo "TEST 4: Minimal Proton environment"
|
|
echo "1. Set compatibility: Proton 8.0-5"
|
|
echo "2. Launch options: PROTON_LOG=1 %command% -windowed -noeac"
|
|
echo "3. Check logs in ~/.steam/steam/steamapps/compatdata/1144200/"
|
|
echo "4. Test game"
|
|
read -p "Press Enter after test 4..."
|
|
|
|
echo
|
|
echo "Which test worked best?"
|
|
echo "A) Test 1 (8.0-5 + WineD3D + vcrun2019)"
|
|
echo "B) Test 2 (7.0-6 + WineD3D)"
|
|
echo "C) Test 3 (8.0-5 no sync)"
|
|
echo "D) Test 4 (minimal)"
|
|
echo "E) None worked"
|
|
|
|
read -p "Enter your answer (A/B/C/D/E): " answer
|
|
|
|
case $answer in
|
|
A) echo "Great! Use Proton 8.0-5 with WineD3D and vcrun2019" ;;
|
|
B) echo "Excellent! Proton 7.0-6 is the solution" ;;
|
|
C) echo "Good! Sync issues were the problem" ;;
|
|
D) echo "Minimal config works - build from there" ;;
|
|
E) echo "We need to try Lutris or investigate deeper" ;;
|
|
*) echo "Please run the test again and choose A, B, C, D, or E" ;;
|
|
esac
|
|
EOF
|
|
|
|
chmod +x /tmp/ready_or_not_ultimate_test.sh
|
|
log_success "Comprehensive test script created: /tmp/ready_or_not_ultimate_test.sh"
|
|
echo
|
|
}
|
|
|
|
check_protontricks() {
|
|
log_info "=== Checking Protontricks Installation ==="
|
|
|
|
if command -v protontricks >/dev/null 2>&1; then
|
|
log_success "Protontricks is installed"
|
|
local version=$(protontricks --version 2>/dev/null || echo "unknown")
|
|
log_info "Version: $version"
|
|
else
|
|
log_warning "Protontricks not installed - needed for Windows dependencies"
|
|
echo "Install with: sudo dnf install protontricks"
|
|
echo "Or: pipx install protontricks"
|
|
fi
|
|
echo
|
|
}
|
|
|
|
main() {
|
|
log_info "Ready or Not Comprehensive Compatibility Analysis"
|
|
log_info "Since both STL and vanilla Proton crash the same way, this is a deeper compatibility issue"
|
|
echo
|
|
|
|
test_proton_versions
|
|
test_wine_dependencies
|
|
test_protondb_fixes
|
|
test_system_specific_fixes
|
|
check_protontricks
|
|
create_comprehensive_test_script
|
|
|
|
log_info "=== Recommendation ==="
|
|
echo "1. Run the comprehensive test script: /tmp/ready_or_not_ultimate_test.sh"
|
|
echo "2. Test each configuration systematically"
|
|
echo "3. Most likely to work: Proton 7.0-6 or 8.0-5 with vcrun2019"
|
|
echo "4. If all fail: Consider Lutris with Wine-GE"
|
|
echo
|
|
log_warning "Ready or Not is known to be problematic on Linux"
|
|
log_warning "Some users report it simply doesn't work with any Proton version"
|
|
}
|
|
|
|
main "$@" |