Desktop resolution changes but apps act as though different resolution

Operating System Version:
“Manjaro Linux” (64 bit)
Kernel Name: Linux
Kernel Version: 6.1.12-1-MANJARO
X Server Vendor: The X.Org Foundation
X Server Release: 12101007
X Window Manager: KWin
Steam Runtime Version: steam-runtime_0.20230118.0

Video Card:
Driver: NVIDIA Corporation NVIDIA GeForce RTX 3080/PCIe/SSE2
Driver Version: 4.6.0 NVIDIA 525.89.02

I have been working on taming the beast that is multi-moitor support in manjaro/kde. What a wicked nuanced adventure. I think I have some of my issues sorted out from digging through other threads, but I cant figure this one out. After getting all my monitors to function properly, a 4k, 1440p, and 1080p from left to right, applications displayed on the 1440p monitor, which is my primary display, do not fill the entire desktop when I click full screen.

Below is my nvidia.conf in needed

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 525.89.02


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "AOC 2436"
    HorizSync       30.0 - 80.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce RTX 3080"
EndSection

Section "Screen"

# Removed Option "metamodes" "HDMI-0: nvidia-auto-select +6399+0, DP-0: 3840x2160 +0+0, DP-2: 2560x1440_144 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 2560x1440_144 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 2560x1440_120 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 2560x1440_100 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1920x1080 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1920x1080_60 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1920x1080_60_0 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1920x1080_50 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1440x900 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1280x1440 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1280x1024 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1280x1024_60 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1280x720 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1280x720_50 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1024x768 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1024x768_100 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1024x768_75 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1024x768_70 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1024x768_60 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 800x600 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 800x600_100 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 800x600_75 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 800x600_72 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 800x600_60 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 800x600_56 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 720x576 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 720x480 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 640x480 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 640x480_100 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 640x480_75 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 640x480_72 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 640x480_60 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 640x480_60_0 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: nvidia-auto-select +3840+0 {viewportin=1920x1200, viewportout=2304x1440+128+0}; DP-0: nvidia-auto-select +0+0, DP-2: nvidia-auto-select +3840+0 {viewportin=1680x1050, viewportout=2304x1440+128+0}; DP-0: nvidia-auto-select +0+0, DP-2: nvidia-auto-select +3840+0 {viewportin=1600x1200, viewportout=1920x1440+320+0}; DP-0: nvidia-auto-select +0+0, DP-2: nvidia-auto-select +3840+0 {viewportin=1366x768, viewportout=2560x1439+0+0}; DP-0: nvidia-auto-select +0+0, DP-2: nvidia-auto-select +3840+0 {viewportin=1280x800, viewportout=2304x1440+128+0}"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-3"
    Option         "metamodes" "HDMI-0: nvidia-auto-select +6399+0, DP-0: 3840x2160 +0+0, DP-2: 2560x1440 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 2560x1440_144 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 2560x1440_120 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 2560x1440_100 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1920x1080 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1920x1080_60 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1920x1080_60_0 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1920x1080_50 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1440x900 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1280x1440 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1280x1024 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1280x1024_60 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1280x720 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1280x720_50 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1024x768 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1024x768_100 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1024x768_75 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1024x768_70 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 1024x768_60 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 800x600 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 800x600_100 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 800x600_75 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 800x600_72 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 800x600_60 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 800x600_56 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 720x576 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 720x480 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 640x480 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 640x480_100 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 640x480_75 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 640x480_72 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 640x480_60 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: 640x480_60_0 +3840+0; DP-0: nvidia-auto-select +0+0, DP-2: nvidia-auto-select +3840+0 {viewportin=1920x1200, viewportout=2304x1440+128+0}; DP-0: nvidia-auto-select +0+0, DP-2: nvidia-auto-select +3840+0 {viewportin=1680x1050, viewportout=2304x1440+128+0}; DP-0: nvidia-auto-select +0+0, DP-2: nvidia-auto-select +3840+0 {viewportin=1600x1200, viewportout=1920x1440+320+0}; DP-0: nvidia-auto-select +0+0, DP-2: nvidia-auto-select +3840+0 {viewportin=1366x768, viewportout=2560x1439+0+0}; DP-0: nvidia-auto-select +0+0, DP-2: nvidia-auto-select +3840+0 {viewportin=1280x800, viewportout=2304x1440+128+0}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


Im going to try to document my experience as well to maybe help the community, because it seems that multi monitor configuration is a bit nuanced right now.

Hi @harbrocklife,

I can’t say I’ve got any issues with my multi-monitor setup. But the, compared to yours mine seems simple. The only advice I can offer is to make sure the layout is correct in System SettingsDisplay ConfigurationDisplay Configuration:

I doubt it, but I hope it helps!

That actually facilitates another question.

Which display manager takes preeminence?

There is nvidia:

And there is the KDE one:

Since your using Nvidia I would stick witht the Nvidia control center. As to the window size, my guess is that it’s defaulting to one of the monitor resolutions. How are the screens set up? Clone, mirror, extend left or right? Do you open the window on one screen and send it to another?
For myself, I likely wouldn’t be opening anything full screen on a display that large but there would be multiple windows.

Hello,

Do you still experience the same issue if you start the application on the second screen and then try to go into full screen mode ?

I would give autorandr a go to try do the setup for you. To see which is the default xorg config in use you could run mhwd-gpu --check, respectively you could run sudo mhwd-gpu setxorg [PATH TO NVIDIA XORG.conf] to set the nvidia path to default configuration for the system, this implies you would change the settings from nvidia-settings directly and then save the nvidia under some default path e.g /etc/X11/mhwd.d/nvidia.conf, if you set the changes from the KDE panel I think it would save them under /etc/X11/xorg.conf.d/90-mhwd.conf which should be sumlink to the location returned by mhwd-gpu --check - not 100% on this though.

I saw that you’ve posted a screenshot of a thread I’ve started and this made me ask, do you experience the issue I am describing in multiple monitor setup with different refresh rates if you have one running on 120Hz+, presumably not but I am losing hope here :smile:

They are all extensions, with the center being my primary display.

I see what you are getting at with the order of operations testing to see if its retain a setting from another monitor. I will see what data points I may gleam from that.

Your thread was one of the many I found relating to multimonitor setups, and us not really having a clue as to whats going on with the system lol. The monitors constantly do weird, unexpected things so there is a but of a learning curve. Like just now I tried editing the desktop, and it disabled my center, primary display for no apparent reason. Even after re-enabling it in that scenario it still doest populate anything to the display. I have to unplug one of the other monitors and plug it back in to get it to populate to the display, then plug the other monitor back in. Running into alot of weird issues like that.

mhwd-gpu --check returns “xorg configuration symlink valid…”

sudo mhwd-gpu setxorg /etc/X11/mhwd.d/nvidia.conf returns “error: invalid argument: setxorg”

I did test the order of operations functions right now and the resizing works as intended, but will randomly comeback if I have to make changes to the nvidia.conf. Making a change to fix one of the many issues I have ran into frequently causes another issue.

Right this moment, everything seems to work as intended. If I power the screens off, and power them back on, there is a possibility that 2/3 will not even receive a display signal from the GPU, and the 1080 monitor will be a grey screen with nothing on it that I can interact with, but will show the mouse cursor. Only fix I have found for that is restarting the computer. Restarting the computer though means I will have to disconnect the 1080p monitor to get the other monitors to populate. After they populate and save their states in nvidia.conf I can then plug the 3rd monitor back in.

Right now, though everything seems to be working, I just realized my primary task panel is on my 4k screen, not my 1440 screen which is my primary screen. Im not touching the edit mode though to see if I can fix it, because that will disable my 1440 screen, then the whole process of recofinguring everything will start all over again. The behavior of everything is SUPER inconsistent lol.

I made a typo in the command it’s mhwd-gpu --setxorg <params>

Will test this.

So functionally this is pointing system display config, I.E. KDE display configuration to the nvidia config to be treated as the same config?

In the first metamode you have +6399 instead of +6400 so your monitors will overlap by 1 pixel. Which may (or may not) explain why your windows don’t fill the screen, maybe they stop at 1080. :man_shrugging:

Not sure if that’s the value that’s actually being used though.

xrandr

To clarify, do you want the monitors to use their native resolutions and all run at 60Hz?

Perhaps it’s because of the ridiculously numerous metamodes. :man_shrugging:

Maybe try with just this one:

"metamodes" "DP-0: 3840x2160 +0+0, DP-2: 2560x1440 +3840+0, HDMI-0: 1920x1080 +6400+0"

I used to have nvidia. I just set the resolution and arrangement in nvidia, then manually edited xorg to add the metamodes I used (one with both monitors, and one with just 1 monitor for games) and anything else I needed at the time.

You may need to use ConnectedMonitor if they’re not detected properly. It may be better to delete the xorg config (back it up just in case), and start over.

xrandr can be used to configure things, it’s temporary but you can make a script to run at startup. There’s also arandr and as already suggested autorandr.

https://wiki.archlinux.org/title/NVIDIA#Multiple_monitors
https://wiki.archlinux.org/title/Xrandr

1 Like

Well, I just restarted my pc and now i have no display.

I did 2 things that edited the system before rebooting.

"sudo mhwd-gpu --setxorg /etc/X11/mhwd.d/nvidia.comf”

And added my user to serial port group:

usermod -a -G uucp $user

I get an unrelated randr will be diabled at the boot screen but the desktop never loads. Stays on the boot screen.

I changed my runlevel to 3 in boot manager and navigate to my nvidia.conf and fixed the excessive metamodes. Rebooted and still no display.

I have a hard time believing the serial port permissions caused this. Whats next to get the display back?

There’s a typo, you’ve got comf instead of conf.

The typo is only present in the post, not im the command I used. I redid it regardless.

Im responding from my tablet, hence more frequent typos in my post.

Im removing my user from uucp group in the meantime. Any other ideas?

Adding your user to uucp shouldn’t have any effect on this.

If they’re the only two things you did then it must be the mhwd-gpu command, something I’ve never used. I’d try to undo it.

Find your previous config file and set it back to that, but if I remember correctly my config used to be a symlink to /etc/X11/mhwd.d/nvidia.conf anyway.

Are you sure there wasn’t something else?

Only other thing I did in the terminal was launch mosquitto, an mqtt broker. No system changes.

Output:
00-keyboard.conf 30-touchpad.conf 90-mhwd.conf

Check if 90-mhwd.conf has the right configuration (ie looks like nvidia.conf), if so then that’s probably the config you were using, try setting that using mhwd-gpu.

Did you do stuff outside the terminal? Specifically anything to do with graphics.

Have a look in the journal to see if there are any related messages.

I literally looked in 90-mhwd.conf with sudo nano to make sure it looks the same as the nvidia.conf and it looked identical. Ctrl x to exit.

I ran the below:

sudo mhwd-gpu --setxorg /etc/X11/xorg.conf.d/90-mhwd.conf

And got a warning could not find. You can clearly see it the picture though.

Yes, trying to get my monitors to display properly in nvidia settings like I do every morning when I turn the monitors back on. Only the HMDI display is available and i have to add the other back in a certain manner.

Add and position the 1440p display. Add the 4k display, but it MUST BE on top of the 1440p display. After the output is popoulated to the 4k display THEN I can then move it next to the 1440p display. This all takes place in the nvidia display manager. If I enable the 4k display at the same time I position it next to the 1440p display it will not enable.

Any and all display changes would have taken place in the nvidia settings display manager.

I do not understand why 90-mhwd.conf is no longer in the xorg.conf.d folder.

Weird. I copied the xorg.conf.backup to xorg.conf.d and renamed to 90-mhwd.conf and ran the setxorg again and it deleted the 90-mhwd.conf file.

Gimme sec so you dont waste your time. Im in.