2

I'm visually impaired and using Ubuntu 20.04 (Windows was harder to customize) Wondering if it is possible to set a higher than monitor resolution (eg: 4k root window for a 2k display).
If I understand correctly, the application windows could be rendered in offscreen textures with the high 4k resolution. Then, the compositing manager (gnome-shell/mutter, compiz) will map them to the 2k physical monitor pixels.
This would mean that when you zoom on a window you could get a better image quality (the rescale would map a bigger texture to the monitor). eg: with a 4k for 2k setup and a x2 zoom you would still have a perfect one for one pixel scale factor between offscreen and monitor. I guess this is not a big issue for most of you but I'm using high zoom factors and I'm getting very fuzzy results that are making things even harder to read. (the OpenGL antialias upscale is great but it cannot guess the "missing" pixels when you zoom at x5 so you loose a lot of sharpness)

As found in old posts, I've tried xrandr but see below. I'm not even sure that it is still relevant on my 20.04 system:

xrandr --output HDMI-0 --mode 3840x2160 --scale 2.0x2.0
xrandr: cannot find mode 3840x2160

BTW: I've tried gnome-shell but had to switch back to compiz to get the mandatory "zoom with mouse-wheel" option of "enhanced-zoom".

Thank you for your help.

user.dz
  • 48,105

2 Answers2

1

Thank you user.dz. With your pointer I managed to improve things by doing:

output=$(xrandr | grep " connected" | cut -d ' ' -f 1)
xrandr --output $output --scale 2.0x2.0 --dpi 200

This gives me a bigger (2k->4k) offscreen resolution that any composer (gnome-shell/mutter, compiz, ...) will use to get a far better looking zoom. In the case of text, this makes it a lot easier to read.
For this to work properly you also need to make everything 2x bigger to use all the new available pixels. To compensate for the 2x bigger screen you have to set the scale factor to 200% in the gnome settings: Displays
So, everything drawn on the bigger (off)screen has the same apparent size on your monitor but is made of 4 times more pixels (doubled for x and y axis)
Unfortunately, the 200% display scale won't work for all UI elements, so some things will look too small (known issues relatied to High DPI). eg: thunderbird does not scale the font when editing a new mail (be prepared to do quite a lot of Ctrl-+ or Ctrl-mousewheel)
After two weeks in this mode I'm happy and will continue using it. The better overall zoom quality/readability is worth a couple remaining issues.

Hope it helps if you are struggling with accessibility and readability of zoomed text.
Would be great if Ubuntu could support this "trick" as an official accessibility option.

0

I may not help as you expect, I didn't try zooming with scaling. I would explain my experience as I understand it.

Frame Buffer (FB) → Position → Transformation (TR) → Panning → Output Port → Physical connection to Monitor

  1. --scale works at Transformation step (same as --reflect and --rotate too) but auto-set the Frame Buffer as needed.
  2. --mode sets Output port (resolution), it only depends on Monitor/Connection/Graphic adapter capabilities.

So, setting the mode as you mention in your question will fail as it is not supported, even if you able to enforce adding that mode. Monitor will stay blank.

  • You may set: double --fb, double --scale, keep original --mode. You will notice some blurring due to image scaling down (transformation from large frame buffer to smaller resolution output port). Not sure how zoom gonna be? if it is using FB as source, probably gonna be clear.

  • Another option is Panning --panning either on single monitor (only section of buffer is visible, follows mouse to view other corners) or on multiple monitors.

    You can even have one normal monitor and another with scaling & panning, either for same buffer area (kind of permanent zoom) or on the side (extended desktop with zoom)

Look at my post here with pictures & screenshots of scaling: Scale application differently on different monitors - Ubuntu 16.04 . By the way, scrambled area on screenshots is the blind inaccessible section of the frame buffer. But you can set panning and get active.

user.dz
  • 48,105