Specific display view to avoid broken screen part

Recently I broke my screen at bottom left, so I need it fixed to top right and a bit smaller, maybe using xrandr or something.

black rectangle with green rectangle top right

The green rectangle is the screen I need (with width x1 ; height y1)

The black rectangle is the whole screen (with width x; height y)

The red area is the broken part.

How can I get the display to occupy only the green area?


Solution 1:

You may use NVidia underscan setup. For example, I have 1280x800 monitor and I want top-right side with size of 900x700.

  1. gksu nvidia-settings
  2. X server display configuration tab → Select your monitor
  3. Set (x-x1)/2=(1280-900)/2=190 value for underscan which gives me 900x562, just fine. Apply, by default it will cut from all sides.
  4. Click Advanced, I find:

    ViewPortIn:  900x562
    ViewPortOut: 900x562+190+118
    Panning:     900x562
    

    Change ViewPortOut to right and up to leave space only at left and bottom

    ViewPortIn:  900x562
    ViewPortOut: 900x562+380+0
    Panning:     900x562
    

    Apply

  5. Some driver/adapter combination have weird behavior, like mine.

    I got 900x562 on top-right corner OK, left & bottom are black OK, mouse can only move inside that 900x562 box OK, but desktop didn't change its size correctly, it is cut from right and bottom edges FAIL.

    I use 1px panning trick to correct it. Even if the desktop scrolling by 1px horizontally or vertically, it is an acceptable solution.

    Change by +1px: Panning: 901x562 or Panning: 900x563.

Done, Here is what you should get:

nvidia underscan to avoid damaged portion of the monitor