Feh often fails to scale high-resolution images correctly on ultrawide displays like 5120x1440 in the i3 window manager because it defaults to tiling or stretching rather than fitting. This mismatch results in pixelated backgrounds or black bars that disrupt your desktop workflow. You can resolve this by configuring Feh with specific flags and ensuring your compositor handles transparency properly.
Understanding the Root Cause
The core issue stems from how Feh interprets image dimensions relative to your monitor's output. On a 5120x1440 screen, standard 1920x1080 or 2560x1440 images do not match the aspect ratio or pixel count. By default, Feh may tile small images across the entire width, creating a repetitive pattern that looks unprofessional. Alternatively, it might stretch the image disproportionately, causing distortion. Unlike modern desktop environments such as GNOME or KDE, which use dedicated wallpaper services that automatically downscale or upscale assets, Feh is a minimalist tool designed for viewing, not managing desktop aesthetics. Therefore, manual configuration is required to achieve a seamless background.
Configuring Feh Flags for Proper Scaling
To fix the resolution mismatch, you must pass specific command-line arguments to Feh when setting your wallpaper. The most effective approach involves using the
--bg-scale or
--bg-center options depending on whether you want the image to fill the screen or maintain its original proportions. For an ultrawide display, scaling is usually preferred to avoid large empty spaces.
Create a script or add the following command to your
.i3/config file under the appropriate keybinding:
exec --no-startup-id feh --bg-scale /path/to/your/wallpaper.jpg
If you prefer the image to be centered without stretching, use:
exec --no-startup-id feh --bg-center /path/to/your/wallpaper.png
For high-DPI screens where clarity is paramount, consider converting your wallpaper to a higher resolution first. However, if you are stuck with lower-res assets,
--bg-fill can crop the image to fit the screen while maintaining the aspect ratio, though this may cut off parts of the composition. Always test these flags with your specific image to see which visual result best suits your preference.
Integrating with Your Window Manager Configuration
Once you have identified the correct Feh command, integrate it into your i3 session startup. Open your
~/.config/i3/config file and locate the section where background images are set. It is common practice to create a dedicated variable for your wallpaper path to keep the configuration clean.
Add the following lines near the top of your config file:
set $wallpaper ~/Pictures/Wallpapers/default.jpg
exec --no-startup-id feh --bg-scale $wallpaper
This ensures that every time i3 starts, it applies the scaled background automatically. If you change wallpapers frequently, you can bind a key combination to reload the image without restarting the window manager. For example, you might bind
Mod+Shift+W to execute a script that updates the Feh process. Note that simply running the command again may leave old processes running in the background, so you should kill existing Feh instances first. A robust script would look like this:
#!/bin/bash
pkill feh
feh --bg-scale ~/Pictures/Wallpapers/new_image.jpg
Save this script, make it executable with
chmod +x, and call it from your i3 config. This method provides immediate feedback and ensures no ghost images remain on the screen.
Handling Transparency and Compositors
In some cases, even with correct scaling, the background may appear incorrect due to issues with transparency layers. i3 uses compton or picom as its default compositor. If your wallpaper has alpha channels or if you are using semi-transparent panels, ensure that your compositor is correctly configured to handle these layers. Check your
picom.conf or
compton.conf file to verify that opacity rules are not interfering with the root window.
Additionally, verify that your display server (Wayland vs X11) is not introducing scaling artifacts. If you are using Wayland with i3 via sway-compatibility mode, Feh behavior might differ slightly. In such scenarios, switching to a Wayland-native solution like
swaybg might be necessary, but for standard X11 setups, Feh remains the standard choice. Ensure your graphics drivers are up to date, as outdated NVIDIA or AMD drivers can sometimes cause rendering glitches that mimic resolution mismatches. For more details on general screen glitching in Linux, you might find
Resolving Screen Glitch on Linux Distro: Using Particular Output Display Size helpful for broader diagnostic steps.
Frequently Asked Questions
Why does my wallpaper look pixelated after scaling?
Scaling a low-resolution image to fit a 5120x1440 screen will always result in pixelation because the software is interpolating missing data. To fix this, you must source a wallpaper that natively matches or exceeds your screen's resolution. There is no perfect algorithmic fix for extreme upscaling in simple tools like Feh.
Can I use PNG files instead of JPG for better quality?
Yes, PNG files support lossless compression and transparency, making them ideal for sharp text or logos in wallpapers. Feh handles PNGs just as well as JPGs, provided you use the same
--bg-scale flag. However, PNG files are larger in size, which may slightly increase memory usage during boot.
How do I apply different wallpapers to multiple monitors?
Feh can handle multi-monitor setups by specifying output indices. Use the
--output flag followed by the monitor ID (e.g., HDMI-1, DP-1) to target specific screens. You can run multiple Feh commands in sequence within your startup script, each targeting a different output with a different image path.
What if Feh still doesn't load after updating my config?
First, check for syntax errors in your
.i3/config file by running
i3 -C. If the config is valid, ensure the path to the image is absolute and accessible. Also, verify that no other background-setting tool is overriding Feh, such as a login manager theme or a separate daemon running in the background.
Does this issue affect Ubuntu 24.04 specifically?
While the core behavior of Feh remains consistent across versions, Ubuntu 24.04 introduces changes in default display managers and compositor settings that might interact differently with i3. If you recently upgraded and noticed this issue, check if your compositor settings were reset. For related upgrade issues, see
Ubuntu 24.04.1 Upgrade: Screen Goes Black (Switching Screens, Open Windows Display Incorrectly).