-
-
Notifications
You must be signed in to change notification settings - Fork 4
Hybrid GPU Performance
- iGPU: Intel Raptor Lake-S UHD Graphics
- dGPU: NVIDIA RTX 4060 Max-Q Mobile
-
Physical Connection:
- Laptop Display (eDP-1) โ Intel iGPU
- External Monitor (HDMI-A-5) โ NVIDIA dGPU (physical HDMI port)
When your external monitor is connected directly to the NVIDIA HDMI port, it creates a Reverse PRIME situation:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ Intel iGPU (renders everything) โ
โ โ โ
โ โโโโบ eDP-1 (laptop) โ Direct โ
โ โ โ
โ โโโโบ [Frame Copy] โโโบ NVIDIA dGPU โ
โ โ โ
โ โโโโบ HDMI-A-5 โ
โ (external) โ
โ โ
โ Overhead: ~5-15ms latency per frame copy โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- โ Additional latency: 5-15ms per frame copy
- โ NVIDIA always active: Doesn't enter deep power-save
- โ Higher power consumption: ~5-10W extra even without gaming
โ ๏ธ Possible tearing: If VRR isn't properly configured
Advantages:
- Better battery life than NVIDIA full-time
- Wayland works better with Intel as compositor
- NVIDIA available for gaming with
prime-run
Disadvantages:
- Frame copies IntelโNVIDIA
- ~5-15ms latency on external monitor
- NVIDIA never completely turns off
When to use:
- Working primarily on battery
- Not gaming on external monitor
- Prioritize efficiency over minimal latency
Change to have NVIDIA render everything (including compositor).
Required configuration:
# In environment.conf, change to:
env = LIBVA_DRIVER_NAME,nvidia
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = WLR_NO_HARDWARE_CURSORS,1
# Remove:
# env = __NV_PRIME_RENDER_OFFLOAD,1Advantages:
- No frame copies for external monitor
- Minimal latency on HDMI-A-5
- Better for fulltime gaming
Disadvantages:
- โ MUCH higher consumption (+15-25W even at idle)
- โ Fans always active under Wayland
- โ Worse Wayland support on NVIDIA
- โ Battery drains 2-3x faster
When to use:
- External monitor always connected
- Intensive gaming on external monitor
- Laptop always plugged into power
Use different profiles depending on usage:
# Already configured - uses Intel for compositor
hyprctl reload# Script to temporarily switch to NVIDIA primary
prime-run hyprland # Or configure separate Hyprland sessionYour system is configured for Option 1 (Optimized Reverse PRIME):
- Intel handles VA-API (video decode)
- NVIDIA configured to present on physical HDMI port
-
__NV_PRIME_RENDER_OFFLOADvariables active - Hardware cursors enabled (test for glitches)
- eDP-1 explicitly configured
- HDMI-A-5 with auto-detect
- Reverse PRIME flow documented
# See active GPU for Hyprland
hyprctl systeminfo | grep -i "gpu"
# Or verify processes:
nvidia-smi # Check if Hyprland appears here# On external monitor, move windows quickly
# Feel if there's noticeable lag vs laptop screen# See power consumption
cat /sys/class/power_supply/BAT*/power_now
# Lower number = better (values in ยตW)
# See NVIDIA GPU usage
nvidia-smi dmon# Uncomment in environment.conf:
env = WLR_NO_HARDWARE_CURSORS,1- Keep current configuration (Reverse PRIME) for daily use
- Monitor latency on external monitor
- If you notice annoying lag: Consider switching to NVIDIA primary
-
For gaming: Use
prime-runor launch games with NVIDIA variables
- โ Noticeable lag/tearing on external monitor
- โ Frequently gaming on external monitor
- โ Laptop always plugged into power
- โ Don't care about fan noise
- โ Regularly use battery
- โ Current lag is imperceptible
- โ Prioritize silence/low temperature
- โ Not doing intensive gaming
Solution: Switch to NVIDIA primary (Option 2)
Solution: Enable WLR_NO_HARDWARE_CURSORS,1
Solution:
# Kill persistent NVIDIA processes
sudo systemctl restart display-managerSolution:
# In hyprland.conf, verify:
misc {
vrr = 1 # Variable Refresh Rate
no_direct_scanout = false
}# See active GPUs
lspci | grep -E "VGA|3D"
# See processes using NVIDIA
nvidia-smi
# See monitors in Hyprland
hyprctl monitors
# See DRM outputs
drm_info | grep -A5 "Connector"
# See which GPU a specific window uses
hyprctl clients | grep -A10 "class:"
# Launch specific app on NVIDIA
prime-run <app>
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia <app>NVIDIA GPUs have different performance states (P-states):
| P-State | Mode | Power Usage | Use Case |
|---|---|---|---|
| P0 | Maximum Performance | ~50-55W | Gaming, Heavy Compute |
| P2 | Balanced | ~20-30W | Video Editing |
| P5 | Low Power | ~5-10W | Display Output Only |
| P8 | Idle (not achievable with display) | ~1-2W | No display connected |
In Reverse PRIME mode with external monitor, NVIDIA stays at P5 (5W) minimum.
- Before optimization: ~15-25W additional GPU consumption
- After (Reverse PRIME): ~5W (3-5x better battery duration)
- NVIDIA Primary: ~20-30W (worst battery life)
- Laptop Monitor (eDP-1): 0ms overhead โ
- External Monitor (HDMI-A-5): ~5-10ms overhead (frame copy)
Use prime-run to force full NVIDIA:
prime-run steam
prime-run lutris
prime-run godotCreate profile switching scripts for different scenarios:
#!/usr/bin/env bash
# Switch to battery-optimized mode (Intel primary)
# Copy environment.conf with Intel settings
# Reload Hyprland
hyprctl reload
notify-send "GPU Mode" "Switched to Battery Mode (Intel primary)"#!/usr/bin/env bash
# Switch to performance mode (NVIDIA primary)
# Copy environment.conf with NVIDIA settings
# Reload Hyprland
hyprctl reload
notify-send "GPU Mode" "Switched to Performance Mode (NVIDIA primary)"- Hardware - General hardware configuration
- Hardware-nvidia-troubleshooting - NVIDIA-specific issues
- Hyprland-Setup - Hyprland configuration guide
- Window-Managers - Window manager configurations
- ๐ Quickshell Shell โญ
- โ Quickshell Parity Checklist
- ๐ Thunar File Manager
- ๐ Yazi File Manager
- ๐ CopyQ Clipboard Manager
- ๐ Dots Scripts Guide โญ Complete Documentation
- ๐พ Backup System
- ๐ Eject System
Quickshell-first flows:
- ๐ App Launcher - quickshell โ minimal
- ๐ Clipboard - cliphist/copyq โ minimal
- โก Power Menu - quickshell
- โ๏ธ Settings Hub - unified GUI settings
Media & Screen:
- ๐ธ Screenshots - sss
- ๐ Screen Lock - hyprlock
- ๐ Brightness - brightnessctl
System:
- โก Performance - powerprofilesctl
- โจ๏ธ Keyboard Layout - 13 layouts
- ๐ Battery Monitor - poweralertd
- ๐ File Manager - thunar โ nautilus
- ๐ Yazi - terminal file manager
- ๐ก๏ธ Security
- ๐ฅ๏ธ Hardware
- ๐ฎ NVIDIA Troubleshooting
- โก Hybrid GPU Performance
- ๐ถ Network Manager
Essential:
- ๐ Home - Start here
- ๐ Dots Scripts โญ - All tools & fallbacks
- ๐จ Rice System - Theme switching
- ๐ง Smart Colors - Adaptive theming
Recent Updates:
- โญ Dots Scripts - Quickshell-first command reference
- ๐ Hybrid GPU - NVIDIA/Intel power management
- ๐ Changelog 2025 - Latest changes