<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 13/11/2018 16:33, Stefan Dösinger
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:8869622B-755B-453A-9641-7A54FA5A18C3@gmail.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <br class="">
      <div><br class="">
        <blockquote type="cite" class="">
          <div class="">Am 12.11.2018 um 23:57 schrieb Axel Davy <<a
              href="mailto:davyaxel0@gmail.com" class=""
              moz-do-not-send="true">davyaxel0@gmail.com</a>>:</div>
          <br class="Apple-interchange-newline">
          <div class=""><span style="caret-color: rgb(0, 0, 0);
              font-family: Helvetica; font-size: 12px; font-style:
              normal; font-variant-caps: normal; font-weight: normal;
              letter-spacing: normal; text-align: start; text-indent:
              0px; text-transform: none; white-space: normal;
              word-spacing: 0px; -webkit-text-stroke-width: 0px;
              text-decoration: none; float: none; display: inline
              !important;" class="">I assume most games won't have any
              issues getting access to more than the 2GB when they are
              not large address aware, or accessing all 4GB (and not 3)
              when being large address aware.</span><br
              style="caret-color: rgb(0, 0, 0); font-family: Helvetica;
              font-size: 12px; font-style: normal; font-variant-caps:
              normal; font-weight: normal; letter-spacing: normal;
              text-align: start; text-indent: 0px; text-transform: none;
              white-space: normal; word-spacing: 0px;
              -webkit-text-stroke-width: 0px; text-decoration: none;"
              class="">
            <span style="caret-color: rgb(0, 0, 0); font-family:
              Helvetica; font-size: 12px; font-style: normal;
              font-variant-caps: normal; font-weight: normal;
              letter-spacing: normal; text-align: start; text-indent:
              0px; text-transform: none; white-space: normal;
              word-spacing: 0px; -webkit-text-stroke-width: 0px;
              text-decoration: none; float: none; display: inline
              !important;" class="">Do you think a Regedit workaround
              could be considered to 'lift' all 32 bits memory
              restrictions ? This should solve all the issues.</span><br
              style="caret-color: rgb(0, 0, 0); font-family: Helvetica;
              font-size: 12px; font-style: normal; font-variant-caps:
              normal; font-weight: normal; letter-spacing: normal;
              text-align: start; text-indent: 0px; text-transform: none;
              white-space: normal; word-spacing: 0px;
              -webkit-text-stroke-width: 0px; text-decoration: none;"
              class="">
          </div>
        </blockquote>
      </div>
      I found that games break in really weird ways if you ignore the
      2GB limit. E.g. Starcraft (before the Starcraft remastered days)
      randomly gets stuck in endless loops. We'll replace "my game runs
      out of address space" with "my game randomly crashes" bugs.
      <div class=""><br class="">
      </div>
      <div class="">Beyond that, the address space setup happens pretty
        early in the process startup before ntdll can reasonably read
        registry entries.</div>
      <div class=""><br class="">
      </div>
      <div class="">I once contemplated the idea of having Wine-internal
        alloc calls for allocations that will never be passed to the
        application, so that e.g. wined3d could allocate resources
        beyond the 2GB barrier. However, that doesn't go anywhere
        because resource mapping would then return those pointers. We'd
        have to make OpenGL (or nine, or vulkan) call those callbacks,
        and then be careful that glMapBuffer() doesn't return those
        buffers to the application. Somewhat impossible.</div>
      <div class=""><br class="">
      </div>
    </blockquote>
    <p>I assume on windows, OpenGL, d3d, etc all allocate in the 2GB.
      Thus I believe most of the difference is the space taken by the
      mapped library codes (llvm, libx11, etc), and eventually some
      libraries allocating more space than they should (pulseaudio).</p>
    <p>If a register cannot be considered, do you have any suggestion
      (long term fix or short term workaround) to fix the issues our
      users are facing (the pulseaudio tip to reduce the space it takes
      is a good one, but we may need more).</p>
    <p><br>
    </p>
    <p>If I understand correctly, windows maps some of its code onto the
      high 2GB, thus library code could be mapped there without bugs ?<br>
    </p>
    <p><br>
    </p>
    <p>Yours,<br>
    </p>
    <p>Axel Davy<br>
    </p>
  </body>
</html>