<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Hi,<br>
    <br>
    I'm trying to fix an overscan issue (the image overflows by all 4
    sides) with my screen when connected through HDMI. It works fine
    over DVI.<br>
    <br>
    My Intel graphics card doesn't seem to support the 'overscan' xrandr
    property, so I'm trying to fix it with '--transform'. The thing is
    most of the times it fails. For example, if I directly run this
    command, it always fails:<br>
    <br>
    $ xrandr –output HDMI-1 –transform 1,0,-46,0,1,-26,0,0,1<br>
    <br>
    X Error of failed request:   (invalid parameter attributes)<br>
    <br>
    Major opcode of failed request: 140 (RANDR)<br>
    <br>
    Minor opcode of failed request: 21(RRSetCrtcConfig)<br>
    <br>
    Serial number of failed request: 34<br>
    <br>
    Current serial number in output stream: 34<br>
    <br>
    However, If I run first:<br>
    <br>
    xrandr –output HDMI-1 –transform 1,0,-46,0,1,-26,0,0,1<br>
    <br>
    then:<br>
    <br>
    xrandr –output HDMI-1 –transform 1,0,-46,0,1,-26,0,0,1<br>
    <br>
    it works. Nevertheless, while trying different values, it usually
    fails with exactly the same error as the first command.<br>
    <br>
    What's the reason of this error? Is something
    hardware/software-related or am I doing something wrong?<br>
    <br>
    Apart from the errors, I'm having a hard time figuring out the
    proper transform matrix. For example, if make the image fit
    horizontally adjusting just the first term (x scale):<br>
    <br>
    xrandr --output HDMI-1 --transform 1.26,0,0,0,1,0,0,0,1<br>
    <br>
    then try to fit it vertically:<br>
    <br>
    xrandr --output HDMI-1 --transform 1.26,0,0,0,1.15,0,0,0,1<br>
    <br>
    the X axis gets messed up growing or shrinking, although I was
    supposed to just be modifying the other axis.<br>
    <br>
    Another thing I don't understand is how the scaling factors work.
    I'd say factors greater than 1 should expand the image while factors
    below 1 should shrink it. However, it seems to work the other way
    around. Although depending on the values it seems to do as expected.
    Moreover, values below 1 make the command always fail with the same
    BadMatch error as above. Have I misunderstood how it works? What
    procedure should I follow to find the right values?<br>
    <p>I've also tried with intel_panel_fitter with no luck: </p>
    <p>$ sudo intel_panel_fitter -l<br>
      <br>
      Pipe A:<br>
      - disabled<br>
      <br>
      Pipe B:<br>
      - enabled<br>
      - progressive<br>
      - pf disabled<br>
      <br>
      Pipe C:<br>
      - disabled</p>
    <p><span style="font-family:monospace"><span
          style="color:#000000;background-color:#ffffff;">$ sudo
          intel_panel_fitter -p B -x 1900 -y 1000
        </span><br>
        WARNING:
        <br>
        This tool is a workaround for people that don't have a Kernel
        with overscan compensation properties: it is just a temporary
        solution that may or may not work.<br>
        Use it at your own risk.
        <br>
        Changing size for pipe B:
        <br>
        - width:  1920 -> 1900
        <br>
        - height: 1080 -> 1000
        <br>
        - pos: 10x40<br>
      </span></p>
    <p><span style="font-family:monospace">Nothing happens. Neither does
        with the other pipes.<br>
      </span></p>
    Additional data:<br>
    <br>
    The overscan issue is independent of the computer (laptop/desktop)
    and the operating system (Ubuntu 21.10/Windows 11).<br>
    <br>
    Kernel: 5.13.0-22-generic x86_64<br>
    <br>
    Graphics card: Iris Plus Graphics G7 (i915 module)<br>
    <br>
    Screen: ViewSonic VX2260WM. I haven't found any option on the OSD
    menu to fix it.<br>
    <br>
    I'm attaching Xorg's log, but I don't see any error when the xrand
    commands fail.<br>
    <br>
    Files with additional information attached too.<br>
    <br>
    Thanks,<br>
    <br>
    Àlex<br>
    <br>
    <br>
  </body>
</html>