[Bug 50920] New: Implement a 32-bit OpenGL wrapper that forwards calls to a 64-bit display window through IPC

WineHQ Bugzilla wine-bugs at winehq.org
Sun Apr 4 01:59:49 CDT 2021


https://bugs.winehq.org/show_bug.cgi?id=50920

            Bug ID: 50920
           Summary: Implement a 32-bit OpenGL wrapper that forwards calls
                    to a 64-bit display window through IPC
           Product: Wine
           Version: 5.5
          Hardware: x86-64
                OS: Linux
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P2
         Component: opengl
          Assignee: wine-bugs at winehq.org
          Reporter: milasudril at gmail.com
      Distribution: Ubuntu

It is getting harder to run 32-bit OpenGL apps. In particular If you install
the CUDA driver for NVIDIA, you will only get the 64-bit driver. A possible
solution would be to create a separate 64-bit process, that is responsible to
forward OpenGL calls from the 32-bit application to the 64-bit driver.

Some thoughts about implementation possibilities:

* OpenGL never use pointers as handles, but 32-bit ints. Thus it should be
possible to implement a working IPC solution without any pointer translation
table.

* Immediate mode (legacy) OpenGL, will naturally generate more IPC calls.
However, these functions could be implemented in wine, and glEnd could be the
trigger to flush any buffers and to issue the IPC call.

Some thoughts about drawbacks:

* Increased number of context switches which causes increased latency. However,
it is possible to use IPC to have a 32-bit WINE process communicating with
JACK, with sufficiently low latency for realtime audio, which has slightly
higher requirements on low latency then video output, so it should be feasible.

Some thoughts about implementation difficulties:

* Each OpenGL command will need an id, but perhaps this could be auto-generated

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list