scale a screen: xrandr --scale-from, panning and transform

Hello.

My 15.6 screen is too large to use only standard 1366x768 resolution, so I want to scale it.

Two different problems:

  • make it permanent between reboot

  • make kde understand it

How to do is easy at first. xrandr have a (new?) option “–scale-from”

Type

xrandr --output <displayname> --scale-from 1920x1080

and your screen looks like it have 1920x1080 pixels. May be too small for your eyes, depending of your screen.

You may need to add

--panning 1920x1080

to allow full use of the new “screen size”.

This can be made only one line.

But then it’s not fancy, with large black “margin”, and it do not survive a reboot

http://www.cjoint.com/doc/17_11/GKurUIfdOps_web-Screenshot-20171120-184124.jpg

Adding the line to .bashrc make it more permanent, but one may soon notice that kde do not ack the new pixel number and that plasmoid, for example, can’t go in the black part.

So, what I need is

  • first make it permanent.

This will need one of several solutions: add it to a start script, or better add it to /etc/X11/xorg.conf.d files. But does this xorg version understand “option scale-from…”, I couldn’t test it yet, but google say no. The option should be some sort of --transform option, but I couldn’t yet find which gives the same result as scale-from

  • then make it active before kde start or make kde understand it

may be there is a kde option that makes the two things on one go?

thanks for help
jdd

Add your desired xrandr configuration to an ‘autostart’ script so that it executes when the user logs in…

System Settings > Workspace > Startup and Shutdown > Autostart

If you want xrandr to work globally, in Plasma as well as other sessions, you can put it in a script in /etc/X11/xinit/xinitrc.d/. I would attach my screenshot showing proof and details, but I can’t find a way here that doesn’t demand being shown via a web URL, so if jdd wants to see he can ask me to email it, or someone can explain how attaching is done here.

for images, I had the same problem, but I used to use cjoint.com.

I already tried the autostart kde system, it works for sclae, but not for panning, I dunno why

In the past I happen to write my own init script, but was thinking it to be obsolete since systemd, I never (yet) had to write systemd units :frowning:

I would be glad to have details, thanks
jdd

I just tested to write the xrandr line in /etc/init.d/after.local, but this dont works (no result)

jdd

Work in progress :frowning:

I could add


Section "Monitor"
 Identifier "eDP1"
        VendorName "LCD Asus"
        HorizSync 31.0 - 84.0
        VertRefresh 56.0 - 77.0
        Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
        Option "panning" "1920x1080"
    Option "scale-from" "1920x1080"
EndSection

in /etc/X11/xorg.conf.d/50-monitor.conf

with a curious result:

  • on the login screen (sddm), the panning works but not the scale (as expected). I read on the net than Option transform should works, but I don’t know (yet) how to write it’s parameters.
  • after login I get the standard (old) config, no pan, no scale.

thanks
jdd

That won’t work, since there is no X server running when it’s executed, and even if there was it would need to be run from within the X-session as the session owner or the DISPLAY environment variable needs to be set.

continued…

  • on the login screen (sddm), the panning works but not the scale (as expected). I read on the net than Option transform should works, but I don’t know (yet) how to write it’s parameters.
  • after login I get the standard (old) config, no pan, no scale.
  • adding the xrandr line to .bashrc gives scaling but no panning!
  • adding the line to a script (~/bin/hires.sh) and running the script gives sclaling and panning

but this panning is not seen by kde, so the desktop is still limited to a 1366x768 frame, the rest is black and do not respond to usual kde things

OK, I understand that.

So, how can I start this after X runs, but before kde do. My goal is to have kde desktop on the full HD screen

thanks
jdd

Are you really just trying to achieve bigger icons, fonts etc?

If so, this Plasma 5 “how to” video may be helpful to you
https://www.youtube.com/watch?v=5Kz2E5Xy5tw

Similar advice here for those with HiDPI displays…
https://wiki.archlinux.org/index.php/HiDPI#Using_KDE_system_settings

The image in the email I sent you has the details. Given that

xrandr --dpi 108 --output VGA-1 --mode 1680x1050 --scale-from 1920x1080 --panning 1920x1080 and
xrandr --dpi 120 --output VGA-1 --mode 1680x1050 --scale-from 1920x1200 --panning 1920x1200

both do what you want for me with Radeon HD5450 in Plasma on TW when placed in /etc/X11/xinit/xinitrc.d/setup, I have to think either your problem has to do with Intel and/or Optimus drivers that works with other drivers, or something was broken in Leap’s Plasma and/or Xorg that is fixed in TW. Have you tried the modesetting Xorg driver build into the server at all?

Thanks, but it’s exactly the contrary.

My usual laptop is 14" and 1366x768 and is perfectly fine as size.

This (much bigger) one is 15.6" and I find the screen letters too large. When I buy it it was said to be full HD… but alas it was not :-(.

In the kde parameters it’s not possible to have a less than 1 scale. If somebody knew how to set this by hand (in config file), it would be great.

thanks
jdd

No, but you could try forcing a lower DPI perhaps…

System Settings > Appearance > Fonts > enable ‘Force fonts DPI’ and set a lower value than the default eg 80

Once done, click ‘Apply’ and restart the desktop with CTRL-ALT-Backspace (twice). See how that goes.

yes, forcing the font dpi is what used since then, but it needs a lot of configuring elsewhere because it do not cover all the cases.

The xrandr system is better, even if right now it’s a bit ugly :frowning:

I will try etc/X11/xinit/xinitrc.d

may be it’s what I looked for

but I need to reboot, so have to close this post

thanks
jdd

What’s contrary to what? It’s just as you describe in OP except I use 1680x1050 as lower resolution smaller screen, and 1920x1080 or 1920x1200 as higher resolution to squeeze into the smaller 1680x1050 screen space.

sorry, I was answering to the post of deano_ferrari that showed how to use kde scale system, but do not scale under 1.

The present situation is the following:

I have a mostly working display if I run the xrandr command from the command line (in fact I just click on a script) after complete login Simply a large part of the screen is black. and not kde capable

the same script in .bashrc do not do the panning

what I set in etc/X11/xorg.conf.d (I tried Option panning and Virtual) do not seems to be used, but If I make a typo this prevent X start, so the file is used somewhat.

placing the command in /etc/X11/xinit/xinitrc.d/setup do not work better

I have other things to test…but it’s long :frowning:

thanks
jdd

finally I almost got the result I wanted. Almost because I don’t know yet how this will fit with external monitors.

I solved it not with panning but with virtual.

With xrandr, this is pretty curious. Virtual screen is an other different screen than normal screen, with it’s own name (VIRTUAL1, and as soon as VIRTUAL1 is used an other VIRTUAL2 is available).

And this virtual screen is seen by kde…

So I changed my start script for:

xrandr --newmode "hd"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
xrandr --addmode VIRTUAL1 hd
xrandr --output eDP1 --scale-from 1920x1080

The first line create the new hd resolution, better not call it 1920x1080, not to collide with natural names.
The second give it to VIRTUAL1, and magically eDP1 and VIRTUAL1 are connected, eDP1 top left, keep it there. Kde desktop is created from this.
Then scale the screen and all the virtual screen is visible at once

let only speak kde of this startup and voilà.

Of course, full hd on 15"6 screen gives small fonts, but you can use a bit less scaling if you want.

Yeah… a pretty long time and headaches :frowning:

thanks
jdd