ValveSoftware / ValveSoftware/wine

Please bring back X11DRV_GET_DRAWABLE (winex11.drv, needed by nine)

Open
#161 2 comments 7 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.