Introduction

If you’re running Sway on Wayland with an Intel integrated GPU, 16GB RAM, and a dual Full HD (1920×1080) monitor setup, you’re working with one of the most efficient, modern, and resource-friendly Linux environments possible.

But even with this optimal hardware and compositor combination, many users still experience:

  • micro-stuttering
  • tearing
  • cursor latency
  • slow workspace transitions
  • high CPU usage on dual monitors
  • unstable frame pacing
  • poor video playback smoothness

This guide solves all of that.

Welcome to the definitive Sway + Wayland performance manual — specifically tailored for:

  • Intel UHD / Iris iGPUs
  • dual-monitor users
  • Arch Linux & derivative distros
  • Wayland-native workflows
  • lightweight, ultra-stable setups

This is Part 1 of a 3-part series, focused ONLY on raw compositor + GPU performance.


1. Understanding the Wayland + Sway Rendering Pipeline

Before optimizing anything, you must understand how Sway, Wayland, and Intel drivers cooperate.

✔ Sway does NOT repaint the whole screen

Wayland compositors repaint only the changed regions.
This is why Sway feels faster than GNOME/KDE on Intel hardware.

✔ Intel iGPU uses a tile-based architecture

Meaning:
Its real strength is bandwidth efficiency and parallelism, not raw power.

✔ Two Full HD monitors = 2X compositor workload

3840×1080 total space
→ requires careful tuning of:

  • Mesa
  • i915 driver
  • kernel parameters
  • Sway configuration

This guide optimizes all three layers.


2. Install All Essential Packages for Performance

These packages ensure GPU acceleration, decoding, and presentation stability.

sudo pacman -S --needed \
mesa \
mesa-utils \
mesa-vdpau \
vulkan-intel \
libva-intel-driver \
libvdpau-va-gl \
intel-media-driver \
ffmpeg \
qt6-wayland qt5-wayland \
libva-utils

What each package fixes:

  • mesa + vulkan-intel → core GPU acceleration
  • intel-media-driver → VAAPI hardware decoding
  • libva-utils → validation + debugging
  • vdpau bridges → stable video playback under Wayland

3. Check Intel Hardware Acceleration

Verify GPU:

lspci | grep -i vga

Check VAAPI:

vainfo

Check Vulkan:

vulkaninfo | grep -i device

All of these must show Intel.


4. Critical Kernel Parameters (i915 Driver Optimization)

Edit GRUB:

sudo nano /etc/default/grub

Add to GRUB_CMDLINE_LINUX_DEFAULT:

i915.enable_fbc=1 i915.enable_psr=1 i915.fastboot=1 i915.enable_guc=3

Explanation:

ParameterBenefit
enable_fbc=1Framebuffer compression → lower VRAM usage
enable_psr=1Panel Self Refresh → smoother animations
fastboot=1Faster startup, better initial frame pacing
enable_guc=3Required for newer Intel power management + scheduling

Apply:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Reboot.


5. Sway Performance Environment Variables (Essential)

Create:

sudo nano /etc/environment

Add:

WLR_DRM_NO_MODIFIERS=1
WLR_RENDERER=vulkan
WLR_NO_HARDWARE_CURSORS=1

Why?

  • NO_MODIFIERS=1 → Removes unstable tiling formats → stutter disappears
  • Vulkan renderer → More efficient than GLES
  • NO_HARDWARE_CURSORS=1 → GPU cursor flicker / lag fixes

Reboot after changes.


6. Sway Config Performance Block

Open:

nano ~/.config/sway/config

Add this block at the top:

# Performance Boost Block
unfocused_floating_opacity 0.95
default_border pixel
default_floating_border pixel
focus_follows_mouse yes

# Rendering
output * render_direct_scanout on
output * adaptive_sync on
output * max_render_time 6

# Input latency improvements
seat * repeat_delay 200
seat * repeat_rate 60

# Damage tracking (super critical)
damage tracking incremental

Key improvements:

  • pixel borders → faster repaints
  • direct scanout → reduces compositing overhead
  • adaptive_sync → prevents micro stutter
  • max_render_time=6 → stable frame times
  • incremental damage tracking → avoids repainting both monitors

7. Dual Monitor Optimization

List outputs:

swaymsg -t get_outputs

Then define each output:

Example:

output HDMI-A-1 resolution 1920x1080 position 0,0 scale 1
output eDP-1     resolution 1920x1080 position 1920,0 scale 1

Rule:
Never use fractional scaling on Intel Wayland.
→ it destroys GPU performance.


8. Fix Screen Tearing (Wayland Edition)

Wayland already prevents tearing — BUT Intel sometimes misbehaves.

Add to sway config:

output * max_render_time 6
output * adaptive_sync on
output * render_direct_scanout on

Also verify with:

sudo intel_gpu_top

GPU render ring must be stable.


9. VAAPI Video Playback Fix

Install:

sudo pacman -S mpv

Create:

nano ~/.config/mpv/mpv.conf

Add:

hwdec=vaapi
vo=gpu-next
gpu-api=vulkan

This gives:

  • smoother video playback
  • reduced CPU load
  • stable frame pacing

10. Power Management for Longer Battery & Lower Heat

Install:

sudo pacman -S tlp
sudo systemctl enable tlp --now

Add Intel power tuning:

sudo nano /etc/tlp.conf

Make sure:

CPU_ENERGY_PERF_POLICY_ON_AC=performance
CPU_ENERGY_PERF_POLICY_ON_BAT=power

⭐ AMAZON PRODUCT PICK (Relevant & Helpful)

While optimizing a lightweight Wayland desktop, a silent, compact, high-quality wireless keyboard dramatically improves the minimalist Sway workflow.
One excellent option is the Logitech MX Keys Mini, known for:

  • quiet laptop-style keys
  • reliable multi-device pairing
  • exceptional typing comfort
  • long battery life
  • ideal for clutter-free Wayland setups

It’s perfect if you’re aiming for a clean, distraction-free Sway environment.

If you’d like to check the product, here is the link:
Amazon — Insert your link here


11. Swap & ZRAM Optimization (Intel iGPU Loves This)

Enable ZRAM:

sudo pacman -S zram-generator

Create:

sudo nano /etc/systemd/zram-generator.conf

Add:

[zram0]
zram-size = ram / 2
compression-algorithm = zstd

Enable:

sudo systemctl daemon-reload
sudo systemctl start /dev/zram0

12. Check Real-Time GPU Load for Tuning

Use intel GPU monitor:

sudo pacman -S intel-gpu-tools
sudo intel_gpu_top

Check:

  • render busy %
  • power states
  • memory pressure

This shows whether your changes fixed bottlenecks.


13. FINAL PERFORMANCE CHECKLIST

✔ Must Have

  • Mesa + Vulkan + VAAPI stack
  • i915 driver tuning
  • Sway incremental damage
  • direct scanout
  • adaptive sync
  • NO fractional scaling
  • Vulkan renderer
  • ZRAM enabled

✔ Should Have

  • minimal Sway config
  • thin borders
  • no heavy background blurring
  • efficient video playback setup
  • tlp power tuning
  • lightweight apps (foot, kitty, mpv)
  • gammastep instead of redshift
  • PipeWire for audio stability

Conclusion

With the optimizations above, your Intel-powered Sway setup will run:

  • smoother
  • cooler
  • faster
  • more stable
  • more responsive
  • more battery-efficient

…and you’ll fully unlock the real potential of Wayland + Sway + Intel iGPU — even with dual Full HD monitors.

This is Part 1 of the 3-part Wayland performance optimization series.
Next:
“The Ultimate Sway Config (Part 2)”