Nvidia display settings reset after logging in

Hello,

quick heads-up: im fairly new to linux when it comes to using desktop-environments outside of vms, this is my first time using linux as a main os.

To get straight to the point, i did a fresh install of manjaro using the proprietary boot option, this worked flawless. Im trying to upscale my monitors to a higher resolution than they actually are - kinda like nvidia’s dsr feature for windows.

I do that with nvidia-settings by toggling the advanced options and setting “ViewPortIn” to 2560x1440, hitting enter & applying. I also saved the settings to the x config file in “/etc/X11/mhwd.d/nvidia.conf”. I then tell mwhd to set the config for xorg to nvidia.conf by running “sudo mhwd-gpu --setmod nvidia --setxorg /etc/X11/mhwd.d/nvidia.conf” - at least im guessing thats what it does lol - which also executes without issues

now to the actual issue:
when i reboot my pc, the configuration gets applied successfully in the login screen, all 3 monitors are 1440p, however, as soon as i log in, the configuration gets reset and my 1080p monitors end up with their physical max res (1080p).

Does anyone know what that happens and if i may have forgot something, my guess is that xorg somehow loads another user config of some sort, after i logged in and that causes the reset.

I’ve tried looking it up already, but all i could find is people telling other people to add “nvidia-settings -l” to my .xinitrc config, which i already have (as seen below).
I also tried setting it using xrandr

xrandr --rate 75 --output DP-2 --auto --scale-from 2560x1440 --left-of DP-4 --panning 2560x1440

which sets the monitor to 1440p, but at a scuffed position, i can see half of my main monitor on that monitor too. (DP-2 = left screen | DP-4 = center screen)

Any help is appreciated, thank you…

Setup:

3 Monitors, 1080p 75 Hz, 1080p 144 Hz & 1440p 75 Hz
Main GPU: RTX 4070s
DE: Kde-plasma with X11

.xinitrc
#!/bin/bash
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

DEFAULT_SESSION=startplasma-x11

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
fi

if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi

# start some nice programs

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
    for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
        [ -x "$f" ] && . "$f"
    done
    unset f
fi

get_session(){
    local dbus_args=(--sh-syntax --exit-with-session)
    case $1 in
        awesome) dbus_args+=(awesome) ;;
        bspwm) dbus_args+=(bspwm-session) ;;
        budgie) dbus_args+=(budgie-desktop) ;;
        cinnamon) dbus_args+=(cinnamon-session) ;;
        deepin) dbus_args+=(startdde) ;;
        enlightenment) dbus_args+=(enlightenment_start) ;;
        fluxbox) dbus_args+=(startfluxbox) ;;
        gnome) dbus_args+=(gnome-session) ;;
        i3|i3wm) dbus_args+=(i3 --shmlog-size 0) ;;
        jwm) dbus_args+=(jwm) ;;
        kde) dbus_args+=(startplasma-x11) ;;
        lxde) dbus_args+=(startlxde) ;;
        lxqt) dbus_args+=(lxqt-session) ;;
        mate) dbus_args+=(mate-session) ;;
        xfce) dbus_args+=(xfce4-session) ;;
        openbox) dbus_args+=(openbox-session) ;;
        *) dbus_args+=($DEFAULT_SESSION) ;;
    esac

    echo "dbus-launch ${dbus_args[*]}"
}

exec nvidia-settings --load-config-only 
exec $(get_session "$1")
nvidia.conf
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 550.78

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      "Idek Iiyama PL2730H"
    HorizSync       84.0 - 84.0
    VertRefresh     40.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce RTX 4070 SUPER"
    BusID          "PCI:2:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DP-4"
    Option         "metamodes" "DP-2: nvidia-auto-select +0+0 {viewportin=2560x1440, ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DP-0: nvidia-auto-select +5120+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DP-4: 1920x1080_144 +2560+0 {viewportin=2560x1440, ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}; DP-4: nvidia-auto-select +0+0; DP-4: 1920x1080_120 +0+0; DP-4: 1920x1080_100 +0+0; DP-4: 1920x1080_75 +0+0; DP-4: 1920x1080_60_0 +0+0; DP-4: 1920x1080_50 +0+0; DP-4: 1680x1050 +0+0; DP-4: 1600x1200 +0+0; DP-4: 1440x900 +0+0; DP-4: 1440x900_60 +0+0; DP-4: 1280x1024 +0+0; DP-4: 1280x1024_60 +0+0; DP-4: 1280x960 +0+0; DP-4: 1280x720 +0+0; DP-4: 1280x720_50 +0+0; DP-4: 1152x720 +0+0; DP-4: 1024x768 +0+0; DP-4: 1024x768_60 +0+0; DP-4: 800x600 +0+0; DP-4: 800x600_60 +0+0; DP-4: 720x576 +0+0; DP-4: 720x480 +0+0; DP-4: 640x480 +0+0; DP-4: 640x480_60 +0+0; DP-4: 640x480_60_0 +0+0; DP-4: nvidia-auto-select +0+0 {viewportin=1366x768, viewportout=1920x1079+0+0}; DP-4: nvidia-auto-select +0+0 {viewportin=1280x800, viewportout=1728x1080+96+0}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Moderator edit: In the future, please use proper formatting: [HowTo] Post command output and file content as formatted text

Hello and welcome to Manjaro,
I don’t have a Multi Monitor setup, but i read that Wayland can handle different TFT’s with different Hz much better than X11. Did you try out Wayland yet?

I also had to use nvidia-settings -l to load my nvidia settings btw.

I’ve tried using wayland - default setup that comes with the installation of manjaro - but that didnt work, it was a constant black screen, the only thing i could see was my mouse cursor.

Yeah that’s normal on a fresh iso “yet”.

Try out LTS 6.6 with Wayland or check this out if you want to use newest Kernel 6.9:

Edit:
@AnonVodka
Sorry that’s all info’s right now that i have, since i don’t use Multi Monitor setup i have no more experience for you around this Topic :frowning:

same issues with wayland, i can see the desktop now but i cant change monitor settings with nvidia-settings (kernel 6.6 and 6.9)

You using KDE right?

This DE also has option to change stuff around your Monitor setup.

I read somewhere around this forum that someone has praised Wayland Multi Monitor adjustments so much, but maybe this was in combination with a AMD GPU, i can’t remember :man_shrugging:

I hope for you there is someone coming with more experience around your advanced and experimental problem’s.

I personally stay away from Multi Monitor setups, maybe in future with 4 eyes and 4 arms i’m upgrade to a dual Monitor setup :sweat_smile:

check KScreen2

With my hybrid Intel + NVIDIA laptop, I have three monitors connected using a Xorg session on GNOME.

Known issue and upstream has not yet addressed that.

Don’t bother with Wayland just yet with NVIDIA. I know things are improving, however.

My multi-monitor setup...

It’s a slightly older photo, but close enough. Since then, I mounted the 50" TV to a wall and replaced the center monitor with a 27" curved one in between the two 24" monitors.

I personally have trouble working with only one monitor anymore, however multiple workspaces certainly help. I only have one monitor on my desktop in the other room. :man_shrugging:

By the way, those machines are behind the scenes creating your Manjaro experience. :grin:

1 Like

Probably it was a AMD GPU Owner who praised Wayland.

Sasake, Bosmang :rocket:

kde-plasma correct, the multi-monitor part isnt the issue, that works fine with either, nvidia-settings or kscreen, the only issue i’m having is that any upscaling (higher viewportin than viewportout) is only applied in the log in screen and not after logging in

1 Like

Global Upscaling doesn’t work for me either, after the Plasma6 update.