[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