ValveSoftware / ValveSoftware/wine
Please bring back X11DRV_GET_DRAWABLE (winex11.drv, needed by nine)
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 2k
- Forks
- 488
- PR merge metrics
- No merged PRs in 30d
Description
Hey there.
Despite what the original commit removing the function said, it's not unused:
https://github.com/ValveSoftware/wine/commit/96b82203f192eade6910f4ac2ecb188e27d22feb
Indeed it's used by ... gallium nine.
Having gallium nine work with proton has been something requested many times by users:
https://github.com/iXit/wine-nine-standalone/issues/131
Since wine devs didn't want nine do be part of the wine package, nine cannot access wine internal structures. Since we don't present through gl or vk, nine needs to get the X drawable somehow. And that's exactly what this function enables nine to do.
I don't see any other way nine could work without this function (or a remplacement one, but let's keep the code similar with the main wine tree, right ?)
I don't think adding back the function hurts anything, so...
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing commit 96b82203f192eade6910f4ac2ecb188e27d22feb and the winex11.drv code around X11DRV_GET_DRAWABLE. Check how gallium nine expects to access the X drawable, then determine whether restoring this function matches the standalone nine integration; done means nine can work with Proton without accessing Wine internal structures directly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100