How to Fix Ubuntu Display Resolution Not Changing or Wrong (2026 Guide)

Priya

Content Writer & Researcher

Last Updated: 17 September 2026
How to Fix Ubuntu Display Resolution Not Changing or Wrong (2026 Guide)
πŸ–₯️

Ubuntu Display Issues Persist?

Our Linux experts can remotely configure your Ubuntu display settings, install the right GPU drivers, and set up multi-monitor environments correctly.

πŸ–₯️12,400+PCs Fixed
⭐4.9β˜…Google Rating
⚑<15 minAvg. Response
πŸ›‘οΈISO 27001Certified

Why Ubuntu Won't Change Display Resolution

One of the most frustrating Ubuntu desktop issues is being stuck at the wrong screen resolution β€” a blurry 1024Γ—768 on a 4K monitor, missing refresh rate options, or display settings that refuse to save. The underlying causes vary depending on your display server and GPU:

  • Missing or incorrect GPU drivers (especially NVIDIA)
  • Wayland vs X11 conflict (xrandr only works on X11)
  • No modeline defined for your monitor's native resolution
  • EDID (monitor detection) not reading the display capabilities correctly
  • Display settings not persisting across reboots

This guide covers fixes for all common scenarios on Ubuntu 22.04, 24.04, and newer.

Fix 1: Check Whether You're on X11 or Wayland

Many resolution fixes use xrandr, which only works under X11 β€” not Wayland. First, find out which you're running:

echo $XDG_SESSION_TYPE

If it outputs wayland, switch to X11:

  1. Log out of your session.
  2. On the login screen, click your username.
  3. Click the gear icon in the bottom-right corner.
  4. Select Ubuntu on Xorg.
  5. Log back in.

On Wayland, use Settings β†’ Displays instead of xrandr to adjust resolution.

Fix 2: Check Available Resolutions with xrandr

Open a terminal and run:

xrandr

This lists all connected displays and their supported resolutions. The current mode is marked with an asterisk (*). If your native resolution (e.g., 1920Γ—1080) appears in the list, you can set it directly:

xrandr --output HDMI-1 --mode 1920x1080

Replace HDMI-1 with your actual output name from the xrandr output (common names: eDP-1, DP-1, HDMI-1, VGA-1).

Fix 3: Add a Custom Resolution (If It's Missing)

If your desired resolution doesn't appear in xrandr output, you need to create a custom modeline:

Step 1 β€” Generate the modeline using cvt:

cvt 1920 1080 60

This outputs something like:

Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

Step 2 β€” Add the new mode:

xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

Step 3 β€” Add it to your display output:

xrandr --addmode HDMI-1 "1920x1080_60.00"

Step 4 β€” Apply it:

xrandr --output HDMI-1 --mode "1920x1080_60.00"

Fix 4: Make Resolution Changes Persistent

xrandr changes only last until you reboot. To make them permanent, add commands to your session startup file:

nano ~/.xprofile

Add your xrandr commands at the bottom:

xrandr --output HDMI-1 --mode 1920x1080 --rate 60

Save and close the file. These commands will run automatically every time you start your X session.

Alternatively, create an autostart entry in ~/.config/autostart/ or use GNOME Startup Applications.

Fix 5: Install Correct GPU Drivers

Wrong or missing GPU drivers are the most common cause of resolution being capped at low values. Ubuntu includes a driver manager to help:

  1. Open Software & Updates β†’ Additional Drivers.
  2. If you have an NVIDIA GPU, select the latest recommended proprietary driver (e.g., nvidia-driver-550).
  3. Click Apply Changes and reboot.

For NVIDIA, you can also install via terminal:

sudo ubuntu-drivers autoinstall
sudo reboot

For AMD and Intel GPUs, the open-source drivers included with Ubuntu are usually correct β€” update the kernel and mesa packages instead:

sudo apt update && sudo apt upgrade mesa-utils

Fix 6: Force EDID Override for Undetected Resolutions

If your monitor's native resolution isn't detected even after driver installation, the EDID (Extended Display Identification Data) may be missing or incorrect. You can create an override:

First, read the current EDID:

sudo cat /sys/class/drm/card0-HDMI-A-1/edid | edid-decode

If that fails, you can generate a custom EDID using edid-generator or AW EDID Editor and place it in /etc/X11/edid.bin. Then add to /etc/X11/xorg.conf.d/10-monitor.conf:

Section "Monitor"
    Identifier "HDMI-1"
    Option "CustomEDID" "HDMI-1:/etc/X11/edid.bin"
EndSection

Restart the display manager for this to take effect.

Fix 7: Configure Resolution via xorg.conf

If GUI and xrandr methods both fail, create a manual X11 configuration:

sudo nano /etc/X11/xorg.conf.d/10-resolution.conf

Add:

Section "Screen"
    Identifier "Screen0"
    SubSection "Display"
        Modes "1920x1080" "1280x720"
    EndSubSection
EndSection

Save and restart your display manager:

sudo systemctl restart gdm3

Fix 8: Fix Resolution on Wayland (GNOME Settings)

On Wayland sessions, xrandr cannot control physical outputs. Use the built-in display settings instead:

  1. Open Settings β†’ Displays.
  2. Select the monitor you want to adjust.
  3. Choose your preferred Resolution and Refresh Rate from the dropdowns.
  4. Click Apply and confirm within 20 seconds.

If your native resolution still doesn't appear, the GPU driver isn't reporting capabilities correctly β€” install or update the driver first.

Fix 9: Check Display Output with arandr

arandr is a graphical frontend for xrandr that makes multi-monitor configuration easier:

sudo apt install arandr
arandr

Use the interface to drag and arrange monitors, set resolutions visually, and save the configuration as a shell script you can run at startup.

Prevent Ubuntu Display Resolution Resets

  • Always install the recommended GPU driver from Software & Updates β†’ Additional Drivers
  • Keep your kernel and mesa packages updated: sudo apt upgrade
  • Save xrandr settings to ~/.xprofile for persistence
  • Use LTS Ubuntu releases for better driver stability

Need expert Ubuntu desktop configuration help? CloudHouse Technologies provides Linux desktop support on a pay-per-ticket basis β€” no subscription required.

Frequently Asked Questions

Why can't I see my monitor's native resolution in Ubuntu display settings?

This usually means Ubuntu hasn't detected your monitor's EDID correctly, or the GPU driver doesn't support the resolution. Install the correct driver for your GPU, then check if the resolution appears. If not, add it manually with xrandr newmode commands.

Does xrandr work on Ubuntu Wayland?

xrandr only works for X11 sessions. On Wayland, it only sees the XWayland virtual display β€” not your actual physical monitor outputs. Use Settings β†’ Displays on Wayland, or switch to the Xorg session at login.

How do I make Ubuntu remember my resolution after reboot?

Add your xrandr commands to the ~/.xprofile file. This file is sourced automatically at every X session start, making your display configuration persistent across reboots.

My second monitor has wrong resolution on Ubuntu β€” how do I fix it?

Run xrandr to identify the output name of your second monitor, then use xrandr --output [output-name] --mode [resolution] to set the correct resolution. If the mode isn't listed, use cvt and xrandr --newmode to create it manually.

How do I reset Ubuntu display settings if I can't see the screen?

Boot into recovery mode, open a root shell, and run xrandr --output [output] --auto to reset to automatic resolution detection. Or delete ~/.config/monitors.xml (GNOME) which stores your display configuration, then reboot.

Get the Free Linux Server Admin Cheatsheet (PDF)

Essential commands for server management, networking, and troubleshooting β€” all on one printable page.

Running Linux servers? Let us manage them for you.

Our Managed Linux Server plans cover updates, security hardening, monitoring, and 24/7 incident response β€” so your servers stay up and your team stays focused.

  • Proactive OS patching and security updates
  • 24Γ—7 monitoring with instant alerting
  • Backup configuration and disaster recovery
  • Dedicated Linux engineers on call
See Pricing Plans β†’

What our customers say

β€œOur production server went down at 2 AM. CloudHouse had it back online in under 20 minutes. Incredible response time.”

Arun S.

CTO, SaaS Startup

β€œThey migrated our entire infrastructure from Ubuntu 18 to 22 with zero downtime. Couldn't have asked for better.”

Deepak N.

DevOps Lead

Frequently Asked Questions

This usually means Ubuntu hasn't detected your monitor's EDID correctly, or the GPU driver doesn't support the resolution. Install the correct driver for your GPU, then check if the resolution appears. If not, add it manually with xrandr newmode commands.

Need this done for you?

Server Management Service

Managed Linux and Windows servers: monitoring, patching, security and 24/7 support.

Learn more

Book your free 15-minute diagnosis

A certified technician will call you back within 15 minutes during business hours.

Share this article

Leave a Comment

Comments (0)

Loading comments...