Resolutions and DPI configurations reset after reboot KDE Plasma

Hi,
I am using OpenSuse Tumbleweed with KDE Plasma. I have a 4K Monitor laptop and when i try to change the resolution or dpi in system settings all the settings are lost when i reboot the pc. The resolution goes back to 3840x2160 and the dpi goes back to 96. I would like to be able to restart the pc and that the changes to the resolution and dpi are saved. I have been researching and I have been able to notice that in Xorg.0.log there is a part that says:

** No monitor specified for screen "nvidia". Using to default monitor configuration. ]**

I don’t know if that has anything to do with my problem. Please if you can guide me to solve this problem. I leave some of the information I have**.****

Xorg.0.log (part of it, won’t let me put the entire file)
**

    49.538] (--) Log file renamed from "/var/log/Xorg.pid-3753.log" to "/var/log/Xorg.0.log"
    49.539] 
X.Org X Server 1.21.1.3
X Protocol Version 11, Revision 0
    49.539] Current Operating System: Linux alienware-jorge 5.18.9-2-default #1 SMP PREEMPT_DYNAMIC Wed Jul 6 05:57:32 UTC 2022 (a7c5f9c) x86_64
    49.539] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.18.9-2-default root=UUID=50cb674e-91bc-45e4-af30-4689a3d37f50 quiet splash video=eDP-1:1920×1080@60 mitigations=auto
    49.539]  
    49.539] Current version of pixman: 0.40.0
    49.539]     Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
    49.539] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    49.539] (==) Log file: "/var/log/Xorg.0.log", Time: Thu Jul 21 12:59:20 2022
    49.540] (==) Using config directory: "/etc/X11/xorg.conf.d"
    49.540] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
    49.541] (==) ServerLayout "layout"
    49.541] (**) |-->Screen "nvidia" (0)
    49.541] (**) |   |-->Monitor "<default monitor>"
    49.541] (**) |   |-->Device "nvidia"
    49.541] (**) |   |-->GPUDevice "intel"
    49.541] (**) |   |-->GPUDevice "modesetting"
    49.541] (==) No monitor specified for screen "nvidia".
    Using a default monitor configuration.
    49.542] (**) |-->Inactive Device "intel"
    49.542] (**) |-->Inactive Device "modesetting"
    49.542] (==) Automatically adding devices
    49.542] (==) Automatically enabling devices
    49.542] (==) Automatically adding GPU devices
    49.542] (==) Automatically binding GPU devices
    49.542] (==) Max clients allowed: 512, resource mask: 0xfffff
    49.542] (WW) The directory "/usr/share/fonts/misc/sgi" does not exist.
    49.542]     Entry deleted from font path.
    49.542] (==) FontPath set to:
    /usr/share/fonts/misc:unscaled,
    /usr/share/fonts/Type1/,
    /usr/share/fonts/100dpi:unscaled,
    /usr/share/fonts/75dpi:unscaled,
    /usr/share/fonts/ghostscript/,
    /usr/share/fonts/cyrillic:unscaled,
    /usr/share/fonts/truetype/,
    built-ins
    49.542] (==) ModulePath set to "/usr/lib64/xorg/modules"
    49.542] (WW) Ignoring unrecognized extension "XFree86-DGA"
    49.542] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
    49.542] (II) Loader magic: 0x563a88f80ae0
    49.542] (II) Module ABI versions:
    49.542]     X.Org ANSI C Emulation: 0.4
    49.542]     X.Org Video Driver: 25.2
    49.542]     X.Org XInput driver : 24.4
    49.542]     X.Org Server Extension : 10.0
    49.543] (++) using VT number 7

    49.543] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
    49.548] (II) xfree86: Adding drm device (/dev/dri/card0)
    49.548] (II) Platform probe for /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0
    49.609] (II) xfree86: Adding drm device (/dev/dri/card1)
    49.609] (II) Platform probe for /sys/devices/pci0000:00/0000:00:02.0/drm/card1
    49.616] (--) PCI:*(0@0:2:0) 8086:591b:1028:0778 rev 4, Mem @ 0xdb000000/16777216, 0x70000000/268435456, I/O @ 0x0000f000/64, BIOS @ 0x????????/131072
    49.616] (--) PCI: (1@0:0:0) 10de:1ba0:1028:0778 rev 161, Mem @ 0xdc000000/16777216, 0xb0000000/268435456, 0xc0000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/524288
    49.616] (II) LoadModule: "glx"
    49.616] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
    49.617] (II) Module glx: vendor="X.Org Foundation"
    49.617]     compiled for 1.21.1.3, module version = 1.0.0
    49.617]     ABI class: X.Org Server Extension, version 10.0
    49.617] (II) LoadModule: "nvidia"
    49.617] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
    49.618] (II) Module nvidia: vendor="NVIDIA Corporation"
    49.618]     compiled for 1.6.99.901, module version = 1.0.0
    49.618]     Module class: X.Org Video Driver
    49.618] (II) LoadModule: "intel"
    49.618] (WW) Warning, couldn't open module intel
    49.618] (EE) Failed to load module "intel" (module does not exist, 0)
    49.618] (II) LoadModule: "modesetting"
    49.618] (II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
    49.618] (II) Module modesetting: vendor="X.Org Foundation"
    49.618]     compiled for 1.21.1.3, module version = 1.21.1
    49.618]     Module class: X.Org Video Driver
    49.618]     ABI class: X.Org Video Driver, version 25.2
    49.618] (II) NVIDIA dlloader X Driver  470.129.06  Thu May 12 22:49:34 UTC 2022
    49.618] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
    49.618] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
    49.637] (II) Loading sub module "fb"
    49.637] (II) LoadModule: "fb"
    49.637] (II) Module "fb" already built-in
    49.637] (II) Loading sub module "wfb"
    49.637] (II) LoadModule: "wfb"
    49.637] (II) Loading /usr/lib64/xorg/modules/libwfb.so
    49.637] (II) Module wfb: vendor="X.Org Foundation"
    49.637]     compiled for 1.21.1.3, module version = 1.0.0
    49.637]     ABI class: X.Org ANSI C Emulation, version 0.4
    49.637] (II) Loading sub module "ramdac"
    49.637] (II) LoadModule: "ramdac"
    49.637] (II) Module "ramdac" already built-in
    49.646] (II) modeset(G0): using drv /dev/dri/card1
    49.646] (II) NVIDIA(0): Creating default Display subsection in Screen section
    "nvidia" for depth/fbbpp 24/32
    49.646] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
    49.646] (==) NVIDIA(0): RGB weight 888
    49.646] (==) NVIDIA(0): Default visual is TrueColor
    49.646] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
    49.646] (**) NVIDIA(0): Option "DPI" "96 x 96"
    49.646] (**) NVIDIA(0): Option "AllowEmptyInitialConfiguration"
    49.647] (**) NVIDIA(0): Option "AllowExternalGpus"
    49.647] (**) NVIDIA(0): Enabling 2D acceleration
    49.647] (II) Loading sub module "glxserver_nvidia"
    49.647] (II) LoadModule: "glxserver_nvidia"
    49.647] (II) Loading /usr/lib64/xorg/modules/extensions/libglxserver_nvidia.so
    49.653] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
    49.653]     compiled for 1.6.99.901, module version = 1.0.0
    49.653]     Module class: X.Org Server Extension
    49.653] (II) NVIDIA GLX Module  470.129.06  Thu May 12 22:46:43 UTC 2022
    49.654] (II) NVIDIA: The X server supports PRIME Render Offload.
    49.655] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
    49.655] (--) NVIDIA(0):     DFP-0
    49.655] (--) NVIDIA(0):     DFP-1
    49.655] (--) NVIDIA(0):     DFP-2
    49.655] (II) NVIDIA(0): NVIDIA GPU NVIDIA GeForce GTX 1080 (GP104-A) at PCI:1:0:0
    49.655] (II) NVIDIA(0):     (GPU-0)
    49.655] (--) NVIDIA(0): Memory: 8388608 kBytes
    49.655] (--) NVIDIA(0): VideoBIOS: 86.04.5b.00.92
    49.655] (II) NVIDIA(0): Detected PCI Express Link width: 16X
    49.655] (--) NVIDIA(GPU-0): DFP-0: disconnected
    49.655] (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
    49.655] (--) NVIDIA(GPU-0): DFP-0: 165.0 MHz maximum pixel clock
    49.655] (--) NVIDIA(GPU-0): 
    49.655] (--) NVIDIA(GPU-0): DFP-1: disconnected
    49.655] (--) NVIDIA(GPU-0): DFP-1: Internal DisplayPort
    49.655] (--) NVIDIA(GPU-0): DFP-1: 1440.0 MHz maximum pixel clock
    49.655] (--) NVIDIA(GPU-0): 
    49.655] (--) NVIDIA(GPU-0): DFP-2: disconnected
    49.655] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
    49.655] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
    49.655] (--) NVIDIA(GPU-0): 
    49.655] (==) NVIDIA(0): 
    49.656] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
    49.656] (==) NVIDIA(0):     will be used as the requested mode.
    49.656] (==) NVIDIA(0): 
    49.656] (--) NVIDIA(0): No enabled display devices found; starting anyway because
    49.656] (--) NVIDIA(0):     AllowEmptyInitialConfiguration is enabled
    49.656] (II) NVIDIA(0): Validated MetaModes:
    49.656] (II) NVIDIA(0):     "NULL"
    49.656] (II) NVIDIA(0): Virtual screen size determined to be 640 x 480
    49.656] (**) NVIDIA(0): DPI set to (96, 96); computed from "DPI" X config option


Large files generally clutter a thread when pasted. They should instead be pastebin’d and the resulting URI pasted here instead. We have the susepaste command to do the pastebinning.

There are multiple ways to configure DPI and resolution. KDE/Plasma has one of its own in settings that may override global configuration, such as NVidia software typically provides, or interfere with any global configuration that exists. Exactly which method are you using? What DPI and resolution are you attempting to have persist?

Hello,

This is the /var/log/Xorg.0.log file on pastebin:

https://pastebin.com/UzVQLmRD

I am trying to set 3840x2160 with dpi 192 or global scale of 200.
or 1920x1080 with 96 or global scale of 100.

First when I try to change the resolution to any other that is not 3840x2160 ( the max resolution ) when I restart the pc the resolution come back to 3840x2160. If I try to set global scale to 200 with 3840x2160 on system settings on KDE Plasma when logout and login the settings works, everything looks the correct size, the dolphin show the correct icons sizes, all app interfaces looks good. But when I restart or shutdown the pc and linux boot again all come back to default. resolution to 3840x2160 and dpi to 96, but the rare thing is that the global scale in the system settings of KDE Plasma is set to 200. So I have to set it to any other than 200 apply the settings and put it back to 200 apply the settings again and logout and login to see the changes.

This is the result of: inxi -GxxS

System:
Host: alienware-jorge Kernel: 5.18.9-2-default arch: x86_64 bits: 64
compiler: gcc v: 12.1.1 Desktop: KDE Plasma v: 5.25.3 tk: Qt v: 5.15.5
wm: kwin_x11 dm: SDDM Distro: openSUSE Tumbleweed 20220714
Graphics:
Device-1: Intel HD Graphics 630 vendor: Dell driver: i915 v: kernel
arch: Gen9.5 **ports:**active: eDP-1
empty: DP-1, DP-2, HDMI-A-1, HDMI-A-2, HDMI-A-3 bus-ID: 00:02.0
chip-ID: 8086:591b
Device-2: NVIDIA GP104M [GeForce GTX 1080 Mobile] vendor: Dell
driver: nvidia v: 470.129.06 arch: Pascal **pcie:**speed: 8 GT/s lanes: 8
**ports:**active: none empty: DP-3,HDMI-A-4 bus-ID: 01:00.0
chip-ID: 10de:1ba0
Device-3: Microdia Integrated_Webcam_FHD type: USB driver: uvcvideo
bus-ID: 1-7:5 chip-ID: 0c45:6708
Display: x11 server: X.Org v: 21.1.3 with: Xwayland v: 22.1.3
compositor: kwin_x11 **driver:****X:**loaded: modesetting,nvidia alternate: intel
gpu: i915 display-ID: :0 screens: 1
Screen-1: 0 s-res: 3840x2160 s-dpi: 96
Monitor-1: eDP-1 mapped: eDP-1-1 model: Sharp 0x1446 res: 3840x2160
dpi: 255 diag: 441mm (17.4")
**OpenGL:**renderer: NVIDIA GeForce GTX 1080/PCIe/SSE2
v: 4.6.0 NVIDIA 470.129.06 direct render: Yes

This is the result of: xrandr

[FONT=monospace]Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
eDP-1-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
3840x2160 60.00*+ 59.98 59.97 31.01
3200x1800 59.96 59.94
2880x1620 59.96 59.97
2560x1600 59.99 59.97
2560x1440 59.99 59.99 59.96 59.95
2048x1536 60.00
1920x1440 60.00
1856x1392 60.01
1792x1344 60.01
2048x1152 59.99 59.98 59.90 59.91
1920x1200 59.88 59.95
1920x1080 60.01 59.97 59.96 59.93
1600x1200 60.00
1680x1050 59.95 59.88
1400x1050 59.98
1600x900 59.99 59.94 59.95 59.82
1280x1024 60.02
1400x900 59.96 59.88
1280x960 60.00
1440x810 60.00 59.97
1368x768 59.88 59.85
1280x800 59.99 59.97 59.81 59.91
1280x720 60.00 59.99 59.86 59.74
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
1024x576 59.95 59.96 59.90 59.82
960x600 59.93 60.00
960x540 59.96 59.99 59.63 59.82
800x600 60.00 60.32 56.25
840x525 60.01 59.88
864x486 59.92 59.57
700x525 59.98
800x450 59.95 59.82
640x512 60.02
700x450 59.96 59.88
640x480 60.00 59.94
720x405 59.51 58.99
684x384 59.88 59.85
640x400 59.88 59.98
640x360 59.86 59.83 59.84 59.32
512x384 60.00
512x288 60.00 59.92
480x270 59.63 59.82
400x300 60.32 56.34
432x243 59.92 59.57
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
DP-1-1 disconnected (normal left inverted right x axis y axis)
HDMI-1-1 disconnected (normal left inverted right x axis y axis)
DP-1-2 disconnected (normal left inverted right x axis y axis)
HDMI-1-2 disconnected (normal left inverted right x axis y axis)
HDMI-1-3 disconnected (normal left inverted right x axis y axis)
[/FONT]

video=eDP-1:1920×1080@60

shows up in your uploaded Xorg.0.log. I doubt that’s valid if it’s actually what is present in grub.cfg. It should be video=eDP-1:1920x1080@60, if actually needed, which should only affect vttys, not X.

Whenever you paste the content from running a command in a terminal here, be sure to include it all within code tags, command with output, to preserve the clarity and meaning inherent in the original output formatting given you.

Note what follows is suggestive, as I’m neither an Optimus nor an NVidia proprietary drivers user.

Don’t try to use Plasma settings to control displays:

  1. disable KScreen 2 in in Plasma background settings startup
  2. log out of plasma
  3. login on a vtty
  4. remove all content from ~/.cache/
  5. edit ~/.config/plasmashellrc and delete all the [ScreenConnectors] section
    *]return to Plasma and finish by using NVidia settings to configure your displays.

Hi,
The video=eDP-1:1920x1080@60 on grub was me trying to set 1920x1080 at the boot but does not work so I removed from the grub options.

I did all the steps you gave to me but no success, I am having same results. Everything resets on reboot.

Sometimes settings not persisting is a result of accidental file ownership changes in a home directory after using su or making an errant copy. Have you examined yours to ensure all files and subdirectories, as well as your homedir itself, have correct owner and group?

Hi,
Everything seems to be normal in home directory, all says that the owner is my user, the group is varying and permissions is varying, but which folder in home directory or files do I need recheck?

It’s usually easier to fix than to check, as all files that aren’t symlinks to other locations should be owned by you. There’s no simple way to explain the impact of group, as it’s possible to be member of multiple groups, but if you are the only user of your PC, it’s safe to have all ordinary files in your home be assigned your default group. The simple fix is:

sudo chown -R *me*:*mygroup* /home/*me*

where ‘me’ is your login name and ‘mygroup’ is your default groupname.

It’s also worth investigating whether correct permissions remain assigned to your homedir and all directories and files it contains. If w is missing for owner anywhere it could be responsible for failure to save settings. Logged in as root or using sudo

# ls -l --group-directories-first /etc/skel

will show what the file and directory permissions will be when a new user is created, a good guide to what you should see.

On host erlangen the following line fixes 4k configuration since switching to HiDPI monitor:

**erlangen:~ #** cat /etc/sddm.conf 
[X11] 
ServerArguments=-nolisten tcp -dpi 192 
**erlangen:~ #**
**erlangen:~ #** inxi -G 
**Graphics:**
  **Device-1:** AMD Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] **driver:** amdgpu **v:** kernel 
  **Display:** x11 **server:** X.org **v:** 1.21.1.3 **with:** Xwayland **v:** 22.1.3 **driver:****X:****loaded:** amdgpu 
    **unloaded:** fbdev,modesetting,radeon,vesa **gpu:** amdgpu **tty:** 270x67 **resolution:** 3840x2160 
**erlangen:~ #**

Hi,

The sddm.conf


[X11]
ServerArguments=-nolisten tcp -dpi 192

I had that on my sddm.conf
but this only works on the login screen. I did the permission check and it seems it was correct. I did the sudo chown command to change it anyway and didn’t work.

I made and update of nvidia drivers to 470.129.06 and kernel and something is different:

  1. I still cannot change the screen resolution and restart the pc (it reset back to 3840x2160)
  2. When I set 200 on global scale on system settings ( some software’s keep the settings after restart others does not keep the settings, so I have to set 200 again apply it logout and login again )

I don’t understand what is happening, for example:
The icons on the desktop keep the 200 scale but Dolphin does not keep the settings
Blender keep 200 scale settings but Davinci Resolve does not keep the settings

Thank you very much for take some of your time to help!

Does xrdb -query | grep dpi report anything? If not, try putting Xft.dpi: 192 in ~/.Xresources and restart Plasma or X.

Whenever the user makes changes at “KDE Systemsettings > Display and Monitor” and clicks button “Apply”, the actions are performed temporarily only. A window titled “Keep display configuration?” pops up. For the settings to become permanent the user needs to click button “Keep”. Otherwise Systemsettings will automatically revert to previous values.

Hi,

This is the result of


xrdb -query | grep dpi 
Xft.**dpi**:        192

it says that dpi is set to 192, that’s the 200% scale but does not work for dolphin and some other apps

I click on the keep display configuration button every time I change the settings

If you didn’t already, create a new/virgin user account to check behavior. If it works as expected, the problem is in personal settings somewhere, most likely in ~/.config/. Emptying ~/.cache/ while not logged into Plasma might help. The KDE devs have not made it easy to reinitialize settings just for KDE/Plasma the way it used to be by storing settings in ~/.kde4/, moving most of them into the generic ~/.config/‘s root. Grrrr. Cleaning out ~/.config/ entirely will destroy many apps’ personal settings, including Chromium’s, though not TB’s, FF’s or Palemoon’s.

Try the following as root or using sudo: Create a file of any name you choose that doesn’t already exist in /etc/X11/xinit/xinitrc.d/. Chmod it 755. Put in it xrandr --dpi 192. Restart X or reboot. This should work for most non-GTK apps whether or not affected by Xft.dpi, unless your personal Plasma configuration, or NVidia settings, has done something to override it.

Is their an unusual content in /home/user/.local/share/kscreen?
Have you tried configuring your graphics using nvidia-settings as root?

I created a new user to check the behavior and everything works as expected. The resolution got saved, all the apps retain the scale and everything works even after reboot.

The optimal way forward depends on your ambition level and your tolerance for re-personalizing various settings. Assuming you’re absolutely sure permissions are OK all the way down deep, particularly in ~/.config/, then you could take the simple route, while not logged into Plasma, of removing all content in ~/.config/ that is obviously upon inspection Plasma related, and ~/.cache/, then logging into Plasma, setting DPI/resolution, testing to see that it persists after logging out, and when satisfied, beginning the process of customizing your other settings.

A more complicated way forward would be to only delete half the Plasma files in ~/.config/, saving the others, then testing for persistence. If fail, restore the others, delete half those originally saved, and try again. If success, you know the problem lies somewhere in the half deleted, and you can log out, restore half the deleteds, then test again, until eventually and hopefully you isolate when file or files are responsible for blocking persistence. This basically is a description of bisection, cutting out half the possibilities until you’ve narrowed down to one, which is how kernel developers isolate commits that cause regressions.

Hi,
I was able to isolate the file that wouldn’t let me change the resolution (plasmashellrc). Now I can change the resolution and reset the pc. But I haven’t been able to find the file that has the dpi settings yet.
I will let you know if I find it.

Check ~/.local/share/kscreen/ directory.

FWIW, I have DPI set explicitly via KDE Syetem Settings. This is set in ~/.config/kcmfonts accordingly.