Troubleshooting - Kuschel-code/JellyfinUpscalerPlugin GitHub Wiki
🛠️ Complete Troubleshooting Guide
Professional solutions for every possible issue you might encounter
🚨 Emergency Quick Fixes
Plugin Not Working At All
# 1. Emergency Reset
rm -rf /var/lib/jellyfin/plugins/JellyfinUpscaler*
curl -O https://github.com/Kuschel-code/JellyfinUpscalerPlugin/raw/main/INSTALL-FAILSAFE.cmd
./INSTALL-FAILSAFE.cmd
# 2. Check Jellyfin Logs
sudo journalctl -u jellyfin -f | grep -i upscaler
# 3. Verify Installation
ls -la /var/lib/jellyfin/plugins/JellyfinUpscaler*/
No AI Enhancement Button
// Browser Console Quick Fix
(function() {
const button = document.createElement('button');
button.innerHTML = '🔥 AI Pro';
button.onclick = () => window.location.reload();
document.body.appendChild(button);
})();
Severe Performance Issues
{
"emergency_fallback_settings": {
"ai_method": "traditional",
"scale_factor": 1.5,
"disable_all_enhancements": true,
"cpu_only_mode": true
}
}
🔧 Installation Issues
Plugin Not Appearing in Jellyfin
Symptom: Plugin installed but not visible in dashboard
Diagnosis Steps:
# 1. Check plugin directory structure
ls -la /var/lib/jellyfin/plugins/
# Should show: JellyfinUpscaler_Advanced_1.3.0/
# 2. Verify plugin files
ls -la /var/lib/jellyfin/plugins/JellyfinUpscaler_Advanced_1.3.0/
# Required files: meta.json, main.js, icon.png
# 3. Check file permissions
stat /var/lib/jellyfin/plugins/JellyfinUpscaler_Advanced_1.3.0/meta.json
# Should be readable by jellyfin user
Solutions:
# Fix 1: Correct permissions
sudo chown -R jellyfin:jellyfin /var/lib/jellyfin/plugins/
sudo chmod -R 755 /var/lib/jellyfin/plugins/
# Fix 2: Verify GUID
cat /var/lib/jellyfin/plugins/JellyfinUpscaler_Advanced_1.3.0/meta.json
# GUID should be: "12345678-1234-1234-1234-123456789abc"
# Fix 3: Restart Jellyfin completely
sudo systemctl stop jellyfin
sudo systemctl start jellyfin
GUID Conflict Error
Symptom: "Plugin GUID already exists" error
Diagnosis:
# Find conflicting plugins
find /var/lib/jellyfin/plugins/ -name "meta.json" -exec grep -l "12345678-1234-1234-1234-123456789abc" {} \;
Solution:
# Remove old/conflicting versions
sudo rm -rf /var/lib/jellyfin/plugins/JellyfinUpscalerPlugin_*
sudo rm -rf /var/lib/jellyfin/plugins/*upscaler*
# Clean installation
curl -O https://github.com/Kuschel-code/JellyfinUpscalerPlugin/raw/main/INSTALL-ADVANCED.cmd
./INSTALL-ADVANCED.cmd
Network/Download Issues
Symptom: Can't download plugin files
Diagnosis:
# Test connectivity
curl -I https://github.com/Kuschel-code/JellyfinUpscalerPlugin/raw/main/dist/JellyfinUpscaler-Advanced.zip
# Should return: HTTP/2 200
# Check DNS resolution
nslookup github.com
Solutions:
# Solution 1: Use failsafe installer (multiple mirrors)
curl -O https://github.com/Kuschel-code/JellyfinUpscalerPlugin/raw/main/INSTALL-FAILSAFE.cmd
./INSTALL-FAILSAFE.cmd
# Solution 2: Manual download with different tool
wget --no-check-certificate https://github.com/Kuschel-code/JellyfinUpscalerPlugin/raw/main/dist/JellyfinUpscaler-Advanced.zip
# Solution 3: Use proxy/VPN if blocked
export https_proxy=your-proxy:port
curl -O https://github.com/Kuschel-code/JellyfinUpscalerPlugin/raw/main/dist/JellyfinUpscaler-Advanced.zip
🎮 Hardware Detection Issues
GPU Not Detected
Symptom: Plugin shows "No compatible GPU found"
Diagnosis Steps:
# 1. Check GPU visibility
lspci | grep -E "(VGA|3D|Display)"
# Should show your GPU
# 2. Check GPU drivers
nvidia-smi # For NVIDIA
rocm-smi # For AMD
intel_gpu_top # For Intel
# 3. Check GPU accessibility
ls -la /dev/dri/
# Should show render nodes
Solutions by GPU Type:
NVIDIA Solutions:
# Install/Update NVIDIA drivers
sudo apt update
sudo apt install nvidia-driver-535 # or latest
# Install CUDA toolkit
sudo apt install nvidia-cuda-toolkit
# Check NVENC/NVDEC support
ffmpeg -hwaccels
# Should list: cuda, nvdec
AMD Solutions:
# Install AMDGPU drivers
sudo apt update
sudo apt install amdgpu-dkms
# Install ROCm (for compute)
sudo apt install rocm-opencl-runtime
# Check VAAPI support
vainfo
# Should list hardware acceleration capabilities
Intel Solutions:
# Install Intel GPU drivers
sudo apt update
sudo apt install intel-media-va-driver
# For Intel Arc
sudo apt install intel-opencl-icd
# Check QSV support
ffmpeg -hwaccels
# Should list: qsv, vaapi
Wrong AI Method Selected
Symptom: Plugin uses suboptimal AI method for GPU
Diagnosis:
// Check detected capabilities
console.log(window.upscalerSettings?.detectedGPU);
// Should show: {vendor, name, supportedMethods}
Manual Override:
{
"force_gpu_detection": {
"vendor": "nvidia",
"model": "RTX 4080",
"supported_methods": ["dlss30", "dlss24", "fsr30", "real_esrgan"],
"vram": 16384,
"compute_capability": 8.9
}
}
🌐 Language & Localization Issues
Language Not Changing
Symptom: Interface stays in English despite language change
Diagnosis:
// Check language detection
console.log('Jellyfin Lang:', document.documentElement.lang);
console.log('Browser Lang:', navigator.language);
console.log('Plugin Lang:', window.upscalerSettings?.currentLanguage);
Solutions:
// Solution 1: Force language reload
window.upscalerSettings?.changeLanguage('de'); // For German
// Solution 2: Clear cache and reload
localStorage.removeItem('jellyfin-upscaler-settings');
location.reload();
// Solution 3: Manual language override
localStorage.setItem('jellyfin-upscaler-lang', 'de');
location.reload();
Missing Translations
Symptom: Some text appears in English instead of selected language
Diagnosis:
# Check translation file
curl -s https://github.com/Kuschel-code/JellyfinUpscalerPlugin/raw/main/src/localization/languages.json | jq '.de.translations' | head -10
Solution:
// Fallback translation function
function t(key, fallback) {
const translations = window.upscalerSettings?.translations || {};
return translations[key] || fallback || key;
}
⚡ Performance Issues
Low FPS / Stuttering
Symptom: Video playback becomes choppy with AI enhancement
Diagnosis Tools:
// Performance monitoring
const performanceMonitor = {
checkGPUUsage: () => {
// GPU usage should be 70-85% for optimal performance
return navigator.gpu?.getGPUUsage?.() || 'unknown';
},
checkMemoryUsage: () => {
if (performance.memory) {
const used = performance.memory.usedJSHeapSize;
const total = performance.memory.totalJSHeapSize;
return `${(used/total*100).toFixed(1)}% memory used`;
}
},
checkFrameRate: () => {
const video = document.querySelector('video');
return video ? `${video.getVideoPlaybackQuality?.().totalVideoFrames || 'unknown'} frames` : 'no video';
}
};
Systematic Solutions:
Step 1: Reduce Quality Settings
{
"performance_mode": {
"ai_method": "fsr21",
"scale_factor": 1.5,
"disable_hdr": true,
"disable_frame_interpolation": true,
"reduce_sharpness": 0.2
}
}
Step 2: Hardware Optimization
# Check thermals
sensors | grep -E "(GPU|Core)"
# GPU should be < 80°C, CPU < 75°C
# Check power limits
nvidia-smi -q -d POWER
# Power draw should be stable
# Check memory
free -h
# Available memory should be > 4GB
Step 3: Driver Optimization
# NVIDIA: Force performance mode
nvidia-settings -a [gpu:0]/GPUPowerMizerMode=1
# AMD: Set performance profile
echo performance | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level
# Intel: Enable hardware scheduling
echo 1 | sudo tee /sys/module/i915/parameters/enable_guc
High GPU Temperature
Symptom: GPU overheating during AI upscaling
Emergency Actions:
{
"thermal_emergency": {
"immediate": [
"Reduce scale factor to 1.5x",
"Disable all enhancements",
"Switch to CPU-only mode",
"Pause video playback"
],
"monitoring": {
"check_temperature_every": "5 seconds",
"emergency_shutdown_at": "90°C",
"throttle_at": "85°C"
}
}
}
Long-term Solutions:
# Improve case cooling
# - Add intake/exhaust fans
# - Clean dust from GPU heatsink
# - Repaste GPU thermal compound
# Adjust fan curves
nvidia-settings -a [gpu:0]/GPUFanControlState=1
nvidia-settings -a [fan:0]/GPUTargetFanSpeed=80
# Undervolt GPU (advanced)
# Use MSI Afterburner or similar tool
🎬 Video Playback Issues
No Video Enhancement Visible
Symptom: Video plays but no quality improvement seen
Diagnosis Checklist:
# 1. Check if enhancement is actually enabled
# Look for AI method indicator in player
# 2. Check input resolution
# Enhancement is most visible on lower-resolution sources
# 3. Check display scaling
# Make sure browser zoom is 100%
# 4. Test with known low-quality video
# Use 480p or 720p source for obvious improvement
Solutions:
// Force enable enhancement
window.upscalerSettings?.applyProfile('maximum_quality');
// Test with extreme settings for visibility
const testSettings = {
ai_method: 'real_esrgan',
scale_factor: 4.0,
sharpness: 1.0,
saturation: 2.0,
contrast: 2.0
};
Video Artifacts/Distortion
Symptom: Weird visual artifacts, halos, or distortion
Common Causes & Fixes:
Over-Sharpening Artifacts:
{
"problem": "Halos around edges, unnatural sharpness",
"solution": {
"reduce_sharpness": 0.3,
"enable_artifact_reduction": true,
"use_conservative_preset": true
}
}
AI Model Artifacts:
{
"problem": "Strange textures, unrealistic details",
"solution": {
"switch_ai_method": "Use FSR instead of aggressive AI",
"reduce_scale_factor": "Lower from 4x to 2x",
"enable_temporal_consistency": true
}
}
Color Artifacts:
{
"problem": "Weird colors, oversaturation",
"solution": {
"reduce_saturation": 1.0,
"disable_hdr_enhancement": true,
"check_color_space": "Ensure proper sRGB/Rec.709"
}
}
Audio/Video Sync Issues
Symptom: Audio and video become out of sync
Quick Fixes:
// Resync audio/video
const video = document.querySelector('video');
video.currentTime = video.currentTime;
// Reset player
video.load();
// Disable frame interpolation (common cause)
window.upscalerSettings?.updateSetting('frame_interpolation', false);
🌊 Browser & Compatibility Issues
Browser-Specific Problems
Chrome/Edge Issues:
// Common Chrome problems
const chromeFixes = {
hardware_acceleration: {
check: "chrome://settings/system",
fix: "Enable 'Use hardware acceleration when available'"
},
memory_issues: {
check: "chrome://settings/system",
fix: "Increase memory allocation or close other tabs"
},
webgl_issues: {
check: "chrome://gpu/",
fix: "Ensure WebGL is enabled and hardware accelerated"
}
};
Firefox Issues:
// Firefox-specific fixes
const firefoxFixes = {
webgl_disabled: {
setting: "webgl.disabled",
value: false,
location: "about:config"
},
hardware_acceleration: {
setting: "layers.acceleration.force-enabled",
value: true,
location: "about:config"
}
};
Safari Issues:
// Safari limitations and workarounds
const safariLimitations = {
webgl_support: "Limited WebGL 2.0 support",
workaround: "Use basic upscaling methods only",
memory_limits: "Stricter memory management",
workaround: "Reduce scale factor and disable advanced features"
};
Mobile Browser Issues
iOS Safari:
{
"common_issues": [
"WebGL context limits",
"Memory constraints",
"iOS power management"
],
"solutions": [
"Use mobile-optimized profile",
"Reduce scale factor to 1.5x",
"Disable advanced AI methods"
]
}
Android Chrome:
{
"optimizations": [
"Enable hardware acceleration in Chrome flags",
"Close background apps to free memory",
"Use FSR instead of intensive AI methods"
]
}
🔒 Security & Privacy Issues
Blocked by Browser Security
Symptom: Features blocked by CORS, CSP, or other security policies
Solutions:
// Check for security blocks
console.log('Security errors:');
console.log(document.querySelectorAll('[csp-violation]'));
// Workarounds (if needed)
const securityWorkarounds = {
cors_issues: "Use local processing instead of remote APIs",
csp_violations: "Request administrator to update CSP policy",
mixed_content: "Ensure all resources use HTTPS"
};
Privacy Concerns
Data Collection Audit:
{
"data_privacy_status": {
"telemetry": "Disabled by default",
"usage_analytics": "Optional, user-controlled",
"cloud_processing": "Never used - all local",
"user_data": "Stored locally only",
"third_party_sharing": "None"
}
}
📱 Platform-Specific Issues
Windows Issues
Windows Defender Blocking:
# Add exclusions for Jellyfin and plugin
Add-MpPreference -ExclusionPath "C:\ProgramData\Jellyfin"
Add-MpPreference -ExclusionPath "C:\Program Files\Jellyfin"
# Check Windows Event Log
Get-EventLog -LogName Application -Source "Jellyfin*" -Newest 10
Windows GPU Scheduling:
# Enable Hardware-accelerated GPU scheduling
# Settings > Display > Graphics > Change default graphics settings
# Turn ON "Hardware-accelerated GPU scheduling"
Linux Issues
Permission Problems:
# Fix SELinux issues (if applicable)
sudo setsebool -P httpd_can_network_connect 1
# Check systemd service status
sudo systemctl status jellyfin
sudo journalctl -u jellyfin --no-pager -l
# Fix plugin permissions
sudo chown -R jellyfin:jellyfin /var/lib/jellyfin/plugins/
sudo chmod -R 755 /var/lib/jellyfin/plugins/
Missing Dependencies:
# Install required libraries
sudo apt update
sudo apt install libgl1-mesa-glx libglu1-mesa libnvidia-gl-* libnvidia-compute-*
# For hardware acceleration
sudo apt install vainfo intel-media-va-driver mesa-va-drivers
macOS Issues
Gatekeeper Blocking:
# Allow plugin to run
sudo spctl --master-disable
# Or specifically allow the plugin
xattr -rd com.apple.quarantine /path/to/plugin/
Metal Performance:
# Check Metal support
system_profiler SPDisplaysDataType | grep Metal
# Should show Metal support: Yes
🐳 Docker Issues
GPU Passthrough Problems
NVIDIA Docker Issues:
# Check NVIDIA Docker runtime
docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
# Fix runtime configuration
# Add to /etc/docker/daemon.json:
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
# Restart Docker
sudo systemctl restart docker
AMD GPU Docker:
# Mount GPU devices
docker run -it --device=/dev/dri --device=/dev/kfd your-jellyfin-container
# Check ROCm support
docker run --rm -it --device=/dev/dri rocm/rocm-terminal rocm-smi
Container Permission Issues
# Fix UID/GID mapping
docker run -e PUID=1000 -e PGID=1000 your-jellyfin-container
# Mount plugin directory with correct permissions
docker run -v ./plugins:/config/plugins:rw,Z your-jellyfin-container
🔍 Advanced Diagnostics
Comprehensive System Check
#!/bin/bash
# Advanced diagnostic script
echo "=== Jellyfin AI Upscaler Diagnostics ==="
# System Info
echo "## System Information"
uname -a
lsb_release -a 2>/dev/null || cat /etc/os-release
# GPU Info
echo "## GPU Information"
lspci | grep -E "(VGA|3D|Display)"
nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv 2>/dev/null
rocm-smi --showproductname --showmeminfo 2>/dev/null
# Jellyfin Status
echo "## Jellyfin Status"
systemctl status jellyfin --no-pager
ls -la /var/lib/jellyfin/plugins/
# Plugin Status
echo "## Plugin Status"
find /var/lib/jellyfin/plugins/ -name "*Upscaler*" -type d
cat /var/lib/jellyfin/plugins/JellyfinUpscaler*/meta.json 2>/dev/null
# Browser Checks
echo "## Browser Compatibility"
echo "User Agent: $(curl -s 'http://httpbin.org/user-agent' | jq -r .user-agent)"
# Network Tests
echo "## Network Connectivity"
curl -I https://github.com/Kuschel-code/JellyfinUpscalerPlugin/raw/main/dist/JellyfinUpscaler-Advanced.zip
echo "=== Diagnostics Complete ==="
Performance Profiling
// Browser performance profiling
const profiler = {
startProfiling: () => {
console.time('Upscaler Performance');
performance.mark('upscaler-start');
},
measureStep: (stepName) => {
performance.mark(`upscaler-${stepName}`);
performance.measure(stepName, 'upscaler-start', `upscaler-${stepName}`);
},
endProfiling: () => {
console.timeEnd('Upscaler Performance');
const entries = performance.getEntriesByType('measure');
console.table(entries);
}
};
🆘 Getting Help
Before Asking for Help
Collect this information:
# System Information
uname -a
lsb_release -a || cat /etc/os-release
# GPU Information
nvidia-smi || rocm-smi || intel_gpu_top
lspci | grep -E "(VGA|3D)"
# Jellyfin Information
sudo journalctl -u jellyfin --since "1 hour ago" | grep -i error
# Plugin Information
ls -la /var/lib/jellyfin/plugins/JellyfinUpscaler*/
cat /var/lib/jellyfin/plugins/JellyfinUpscaler*/meta.json
# Browser Information
# Include browser version, enabled extensions, console errors
How to Report Issues
- GitHub Issues: Report bugs and request features
- Include System Info: Use the diagnostic script above
- Describe Steps: Exact steps to reproduce the problem
- Screenshots: Visual problems need visual evidence
- Log Files: Always include relevant log entries
🎯 Issue Resolution Priority
Critical Issues (Fix Immediately)
- Plugin completely non-functional
- Security vulnerabilities
- Data corruption/loss
- System crashes/freezes
High Priority Issues
- Major performance problems
- Hardware compatibility issues
- Core features not working
- Installation failures
Medium Priority Issues
- UI/UX problems
- Minor performance issues
- Feature requests
- Localization problems
Low Priority Issues
- Cosmetic issues
- Enhancement requests
- Documentation updates
- Code optimizations
🛠️ Remember: Most issues have simple solutions. Start with the basics (restart, reinstall, update) before diving into complex troubleshooting!