<div dir="ltr">There's a branch with patch for multimonitor HIDPI support on XWayland with many issues found in JBR fixed, please see <a href="https://github.com/openjdk/wakefield/tree/yaaz_hidpi_compatibility">https://github.com/openjdk/wakefield/tree/yaaz_hidpi_compatibility</a>  <br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 14, 2023 at 5:16 AM Philip Race <<a href="mailto:philip.race@oracle.com">philip.race@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

  
  <div>
    > AFAIU mainline currently mostly works with XWayland, right?<br>
    <br>
    Mainline only supports X.org.<br>
    <br>
    There is no "mostly", it either works 100%, or it doesn't work.<br>
    Meaning 1 JCK test failure out of (say) 10,000 tests means JCK
    fails. No argument possible.<br>
    <br>
    So, no it does not help mainline until Wakefield integrates XWayland
    support.<br>
    <br>
    -phil<br>
    <div><br>
    </div>
    <div>On 2/13/23 1:22 PM, Nikita Gubarkov
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div>It doesn't require Wayland in order to run as before,</div>
        <div>but if Wayland is available at runtime (dlsym), it will use
          it to get per-monitor scaling.</div>
        <div>AFAIU mainline currently mostly works with XWayland, right?</div>
        <div>If so, probably this can even help the mainline, not only
          sandbox?</div>
        <div><br>
        </div>
        <div>
          <div>And yes, it still reports integer scales, I didn't find a
            way to get fractional scaling,</div>
          <div>Wayland protocol itself has only
            integer wl_output::scale.</div>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Fri, Feb 10, 2023 at 10:48
          PM Philip Race <<a href="mailto:philip.race@oracle.com" target="_blank">philip.race@oracle.com</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">If
          it needs Wayland, then it might be something that should go
          into the <br>
          sandbox<br>
          for the Wakefield project ... perhaps that is what you are
          intending here ?<br>
          Until that project adds support back into main line for
          Wayland's X11 compat<br>
          mode we only support running on X.org, so there won't be a
          wayland <br>
          server to query,<br>
          so this fix can't help mainline today.<br>
          <br>
          I presume this code would still report integer scales ?<br>
          My understanding is Wayland by design does not support
          fractional scales.<br>
          <br>
          -phil.<br>
          <br>
          On 2/2/23 2:47 PM, Nikita Gubarkov wrote:<br>
          > JetBrains Runtime has support for per-monitor scaling in
          X11 mode <br>
          > implemented a few months ago.<br>
          ><br>
          > At first I tried to use the GTK library for reading the
          scales as <br>
          > suggested in <a href="https://bugs.openjdk.org/browse/JDK-8260270" rel="noreferrer" target="_blank">https://bugs.openjdk.org/browse/JDK-8260270</a>,
          but in a <br>
          > multi-monitor environment it is always returning scale of
          the main <br>
          > display when running with X11 backend.<br>
          > The final solution was to connect to Wayland just to read
          the scaling <br>
          > values and then do a huge refactoring to make AWT's
          X11-related code <br>
          > respect these individual scaling values.<br>
          > For coordinate conversions I took the same approach that
          was used in <br>
          > Windows - <a href="https://github.com/openjdk/jdk/pull/375" rel="noreferrer" target="_blank">https://github.com/openjdk/jdk/pull/375</a><br>
          > There were some issues that I was unable to solve, like
          the window <br>
          > title bar is always scaled with the main monitor's scale
          no matter <br>
          > what monitor the window is on, the same with mouse cursor
          when it's <br>
          > over the window, but overall it seems to work.<br>
          ><br>
          > I can try porting this into OpenJDK and create a PR if
          needed.<br>
          ><br>
          > JBR issue: <a href="https://youtrack.jetbrains.com/issue/JBR-5208" rel="noreferrer" target="_blank">https://youtrack.jetbrains.com/issue/JBR-5208</a><br>
          > Code: <br>
          > <a href="https://github.com/JetBrains/JetBrainsRuntime/commit/bf073b92b8803fb45c5934127b8f4a9f58e508a1" rel="noreferrer" target="_blank">https://github.com/JetBrains/JetBrainsRuntime/commit/bf073b92b8803fb45c5934127b8f4a9f58e508a1</a><br>
          <br>
        </blockquote>
      </div>
    </blockquote>
    <br>
  </div>

</blockquote></div>