Problem making rescaled Screen settings permanent

I’ve rescaled my screen to 1600 by 900. The Monitor seems to support a max of 1366 by 768, so there is no setting for higher resolution. But rescaling works very well.

My problem is none of the options I’ve tried… Login Scripts, Autostart scripts. but they seem to get overridden.

The only way I’ve, so far, managed to get it to work is to call the script after the screen has loaded.

From what I can tell there is some KDE app that is overriding my script. Is there a way around this?

It might help to include what you have tried to do.

In my initial post I stated a couple of solutions that are recommended.

In addition, I have set kscreen autoload to false

I have a script that calls xrandr

xrandr --output eDP-1 --scale 1.17x1.17

Not a problem there, it simply requires that I restart plasmashell

plasmashell --replace &

Now that works fine as a single script, if I run it manually, after the desktop has loaded.

I can also reset the desktop using

xrandr --output eDP-1 --scale 1.17x1.17

in a logon script, but if I add the command to restart plasma shell, it seems to block, and the Panel fails to load

If I run the command to restart plasma shell manually, after the Panel has loaded, it works. The Panel loads in the wrong position on the screen, until I restart plasmashell.

I think the screen can be set when sddm loads and the resolution is passed on to plasma from there.

Have you tried sddm.conf.d?

I think you may use this excellent topic on rootless GUI as a starting point [HowTo] Rootless Graphical Session (rootless xorg, rootless wayland)

EDT

Thanks but no It did not help

I’ll try that as soon as I get a chance.

EDIT:

Yes it does appear to have something to do with SDDM, but sddm.conf.d contains 2 files neither of which seem to have anything to do with setting scaling or loading plasmashell.

the files are:

virtualkeyboard.conf and 00_manjaro_settings.conf

Although sddm does do Scaling among other things.

From System Settings → Startup and Shutdown → Login Screen → Apply Plasma Settings

This will make the SDDM login screen reflect your customizations to the following Plasma settings:
Color scheme,
Cursor theme,
Font,
Font rendering,
NumLock preference,
Plasma theme,
Scaling DPI,
Screen configuration (Wayland only)
Please note that theme files must be installed globally to be reflected on the SDDM login screen.

EDIT:

Here’s what seems to be happening.

My login script

xrandr --output eDP-1 --scale 1.17x1.17

rescales the Screen, but has no affect on Plasma, which ‘Knows’ the the correct resolution is 1366x768, and sets itself accordingly.

The result of that is the Background image and the panel are set for a 1366x768 screen, and therefore fill approximately 2/3 rds of the Screen.

Applications on the other hand follow the screen size, but leave room for the panel, when maximised.

So there is a config setting for plasma, maybe.

Plasma can only be rescaled to 1600x900 after it has finished loading, and I run manually

plasmashell --replace &

Where upon it rescales to the full 1600x900.

When you say “login script” what exactly do you mean? Where is the script run from? I think it’s running too late.

Try putting your xrandr command in /usr/share/sddm/scripts/Xsetup

https://wiki.archlinux.org/title/Xrandr#Configuration

That’s what KDE calls it, it’s an option to add Applications and scripts to the Plasma Autostart at:

System Settings → Startup and Shutdown on that Tab there is an Add Button with options to add Applications, Logon Scripts and Logout Scripts

A logon Script runs at or just before user logon

EDIT:

Thanks but that had no affect at all. To the extent that even the Screen did not rescale.

EDIT:

I have something that works, it involes setting the scaling using the Logon Script, then autostarting, as an application a script that waits for plasma to load the Panel, the it runs

plasmashell --replace &

This does the job, but it’s a bit hacky.

I’d still like to get it to work without these workarounds, though.

Ok, so your xrandr command needs to run before plasmashell starts, and I think it’s already started when KDE login scripts run. That’s why restarting plasmashell is required.

Apparently there are a number of different ways to make xrandr changes persistent. It’s been many years since I’ve messed around with this kind of Xorg configuration so I’m not sure where the best place to do it is. I’d try .xprofile next

echo "xrandr --output eDP-1 --scale 1.17x1.17" > ~/.xprofile
chmod +x ~/.xprofile

That would be correct.

Thanks it works exactly as I want it to.

Strangely I thought I had already tried that. I must have had a brain fart along the way. :worried:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.