linuxmint / linuxmint/cinnamon

Regression: Custom TV resolution not persisted in Cinnamon Display Settings (Linux Mint 22 vs 21)

Open
#13,008 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

BUG
Dominant language
JavaScript
Stars
5.6k
Forks
915
Avg merge
5d 22h
Merged PRs (30d)
3

Description

Distribution

Linux Mint 22.1 Xia base: Ubuntu 24.04 LTS Noble

Package version

Cinnamon v: 6.4.8 tk: GTK v: 3.24.41 wm: Muffin dm: LightDM

Graphics hardware in use

AMD Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] vendor: Sapphire driver: amdgpu v: kernel arch: RDNA-1 pcie: speed: 16 GT/s lanes: 16 ports: active: DP-3,HDMI-A-1 empty: DP-1,DP-2 bus-ID: 0a:00.0 chip-ID: 1002:731f

Frequency

Always

Bug description

Generated with help by ChatGPG:

Summary

In Linux Mint 21 (Cinnamon), I was able to use the built-in Display Settings to set a custom resolution of 2560x1440 @ 29.94Hz on my Roku 4K TV (HDMI), and it persisted across reboots without issue. After upgrading to Linux Mint 22, the same resolution no longer persists. The system always reverts to the 4K native EDID resolution (3840x2160 @ 30Hz) after reboot or even after turning the TV off and back on.

Steps to Reproduce

  1. Connect a Roku 4K TV via HDMI (in my case: HDMI 4 input)
  2. Open Cinnamon Display Settings and set resolution to 2560x1440
  3. Apply the resolution and reboot

Expected Behavior

The selected resolution should persist across reboots (via monitors.xml or system memory), just as it did in Linux Mint 21.

Actual Behavior

After reboot (or toggling the TV off/on), the system reverts to 3840x2160 @ 30Hz. Cinnamon does not generate or use ~/.config/monitors.xml, and the display manager does not persist the custom resolution.

Workaround

I was able to use a .xprofile script with xrandr to apply my preferred mode at login, and it works reliably. However, this should not be necessary for a resolution that worked perfectly in Mint 21 using just the GUI.

Additional Details

  • Cinnamon version: [insert from cinnamon --version]
  • Linux Mint 22 (based on Ubuntu 24.04)
  • Session type: X11 (echo $XDG_SESSION_TYPE = x11)
  • GPU: AMD Radeon RX 5700 XT
  • Main display: 2560x1440 monitor (DisplayPort)
  • Secondary display: Roku 4K TV (HDMI-A-0)
  • .xprofile workaround is required to enforce 2560x1440 @ 29.94Hz

Request

Please consider either:

  • Restoring Cinnamon’s ability to save custom resolutions to monitors.xml, or
  • Adding an advanced option in the Display Settings GUI to manage custom modelines and persist them
Steps to reproduce

you would need my system setup and a Roku 4k tv... but here are my sys spec:

System:
Kernel: 6.8.0-60-generic arch: x86_64 bits: 64 compiler: gcc v: 13.3.0
Desktop: Cinnamon v: 6.4.8 tk: GTK v: 3.24.41 wm: Muffin dm: LightDM
Distro: Linux Mint 22.1 Xia base: Ubuntu 24.04 LTS Noble
Machine:
Type: Desktop Mobo: ASUSTeK model: ROG STRIX X470-F GAMING v: Rev X.0x
serial: part-nu: SKU UEFI: American Megatrends v: 5007 date: 06/17/2019
Battery:
Device-1: hidpp_battery_0 model: Logitech Wireless Mouse M325 serial:
charge: 55% (should be ignored) status: discharging
CPU:
Info: 8-core model: AMD Ryzen 7 2700 bits: 64 type: MT MCP arch: Zen+ rev: 2 cache: L1: 768 KiB
L2: 4 MiB L3: 16 MiB
Speed (MHz): avg: 1610 high: 2538 min/max: 1550/3200 boost: enabled cores: 1: 1547 2: 1550
3: 1546 4: 1547 5: 1550 6: 2538 7: 1550 8: 1550 9: 1550 10: 1543 11: 1546 12: 1547 13: 1550
14: 1547 15: 1550 16: 1550 bogomips: 102195
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3
Graphics:
Device-1: AMD Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] vendor: Sapphire driver: amdgpu
v: kernel arch: RDNA-1 pcie: speed: 16 GT/s lanes: 16 ports: active: DP-3,HDMI-A-1
empty: DP-1,DP-2 bus-ID: 0a:00.0 chip-ID: 1002:731f
Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.6 driver: X: loaded: amdgpu
unloaded: fbdev,modesetting,radeon,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
Screen-1: 0 s-res: 6400x2160 s-dpi: 96
Monitor-1: DP-3 mapped: DisplayPort-2 pos: primary,bottom-l model: Samsung C32JG5x
res: 2560x1440 dpi: 93 diag: 800mm (31.5")
Monitor-2: HDMI-A-1 mapped: HDMI-A-0 pos: top-right model: Roku 43R4AX res: 3840x2160 dpi: 122
diag: 1079mm (42.5")
API: EGL v: 1.5 platforms: device: 0 drv: radeonsi device: 1 drv: swrast gbm: drv: kms_swrast
surfaceless: drv: radeonsi x11: drv: radeonsi inactive: wayland
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.2.8-1ubuntu1~24.04.1 glx-v: 1.4
direct-render: yes renderer: AMD Radeon RX 5700 XT (radeonsi navi10 LLVM 19.1.1 DRM 3.57
6.8.0-60-generic) device-ID: 1002:731f
API: Vulkan v: 1.3.275 surfaces: xcb,xlib device: 0 type: discrete-gpu driver: N/A
device-ID: 1002:731f device: 1 type: cpu driver: N/A device-ID: 10005:0000
Audio:
Device-1: AMD Navi 10 HDMI Audio driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16
bus-ID: 0a:00.1 chip-ID: 1002:ab38
Device-2: AMD Family 17h HD Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie:
speed: 8 GT/s lanes: 16 bus-ID: 0c:00.3 chip-ID: 1022:1457
API: ALSA v: k6.8.0-60-generic status: kernel-api
Server-1: PipeWire v: 1.0.5 status: active with: 1: pipewire-pulse status: active
2: wireplumber status: active 3: pipewire-alsa type: plugin
Network:
Device-1: Intel I211 Gigabit Network vendor: ASUSTeK driver: igb v: kernel pcie: speed: 2.5 GT/s
lanes: 1 port: e000 bus-ID: 06:00.0 chip-ID: 8086:1539
IF: enp6s0 state: up speed: 1000 Mbps duplex: full mac:
Drives:
Local Storage: total: 476.94 GiB used: 54.63 GiB (11.5%)
ID-1: /dev/nvme0n1 vendor: Intel model: SSDPEKNW512G8 size: 476.94 GiB speed: 31.6 Gb/s
lanes: 4 serial: temp: 40.9 C
Partition:
ID-1: / size: 464.35 GiB used: 54.42 GiB (11.7%) fs: ext4 dev: /dev/dm-1 mapped: vgmint-root
ID-2: /boot size: 1.61 GiB used: 205.7 MiB (12.5%) fs: ext4 dev: /dev/nvme0n1p3
ID-3: /boot/efi size: 512 MiB used: 6.1 MiB (1.2%) fs: vfat dev: /dev/nvme0n1p2
Swap:
ID-1: swap-1 type: partition size: 1.91 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/dm-2
mapped: vgmint-swap_1
Sensors:
System Temperatures: cpu: 39.0 C mobo: 39.0 C gpu: amdgpu temp: 55.0 C mem: 64.0 C
Fan Speeds (rpm): cpu: 736 case-1: 813 case-2: 1781 case-3: 1753 gpu: amdgpu fan: 0
Power: 12v: 10.14 5v: N/A 3.3v: N/A vbat: N/A
Repos:
Packages: 2466 pm: dpkg pkgs: 2455 pm: flatpak pkgs: 11
No active apt repos in: /etc/apt/sources.list
Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list
1: deb https: //mirror.fcix.net/linuxmint-packages xia main upstream import backport
2: deb http: //mirrors.ocf.berkeley.edu/ubuntu noble main restricted universe multiverse
3: deb http: //mirrors.ocf.berkeley.edu/ubuntu noble-updates main restricted universe multiverse
4: deb http: //mirrors.ocf.berkeley.edu/ubuntu noble-backports main restricted universe multiverse
5: deb http: //security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse
Active apt repos in: /etc/apt/sources.list.d/zulu.list
1: deb [signed-by=/usr/share/keyrings/azul.gpg] https: //repos.azul.com/zulu/deb stable main
Active apt repos in: /etc/apt/sources.list.d/winehq.sources
1: deb [arch=amd64 i386] https: //dl.winehq.org/wine-builds/ubuntu noble main
Info:
Memory: total: 16 GiB available: 15.53 GiB used: 4.71 GiB (30.3%)
Processes: 386 Power: uptime: 19m wakeups: 0 Init: systemd v: 255 target: graphical (5)
default: graphical
Compilers: gcc: 13.3.0 Client: Unknown python3.12 client inxi: 3.3.34

Expected behavior

I should be able to set both samsung monitor and Roku Tv at 2k resolution without any issues. Please note that I set the 4k Roku to 2k because of DPI scaling problems across dual monitors with different high resolutions.

Additional information

ChatGPG help develop a work around by creating a .xprofile ... please see file contents:

#!/bin/bash

echo ".xprofile ran at $(date)" >> ~/xprofile.log

Only apply settings if Roku TV (HDMI-A-0) is connected

if xrandr | grep -q "HDMI-A-0 connected"; then

Create and apply 2560x1440 @ 30Hz modeline

xrandr --newmode "2560x1440_30.00" 146.25 2560 2680 2944 3328 1440 1443 1448 1468 -hsync +vsync
xrandr --addmode HDMI-A-0 2560x1440_30.00
xrandr --output HDMI-A-0 --mode 2560x1440_30.00 --rate 30
fi

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in Cinnamon Display Settings with the reported Linux Mint 22.1 X11 setup, using the Roku HDMI display and the 2560x1440 modeline described in the issue. Compare behavior before and after reboot or reconnect, and inspect whether ~/.config/monitors.xml is created or used. Done means the GUI-selected custom resolution persists without relying on the supplied .xprofile workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, linux
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.