Hello,
I'm a computer science student currently in 3rd year in prospect of drafting a Summer Code proposal for this year and so:
Wouldn't it be nice if Wine could parse a folder containing a software and output a guessed rating without running it listing the unsupported libraries?
For example, let's take a MMO game as example, it does not work initially because it uses an anti-hack software currently unsupported by Wine; so people will stop there and give it a Garbage rating. But finding a fix for it might not make it runnable still, there may be another thing inside that prevents it from running but it wasn't documented because no one got past the initial issue. Hence, a tool that provides an evaluation of everything that would be currently unsupported by Wine could be valuable.
Initial ideas could be:
* Tie folder names into known software in the database * Analyze .dll files to determine whether unsupported functions are present
For example, it'd be able to start from the following: "A good chunk of those APIs has been implemented but a lot is still missing, such as: some math functions (what's left is mostly about spherical harmonics and precomputed radiance transfer) some mesh functions (D3DXComputeNormals(), D3DXOptimizeVertices(), ...) a few texture functions quite a few ID3DXConstantTable methods effect framework bits and pieces drawing text in ID3DXFont" and determine if a software is not supported because it uses these.
What do you think?
On Thu, Mar 28, 2019 at 1:30 PM Daniel A. daniel.atack@hotmail.fr wrote:
Hello,
I'm a computer science student currently in 3rd year in prospect of drafting a Summer Code proposal for this year
Hi Daniel. Nice!
and so:
Wouldn't it be nice if Wine could parse a folder containing a software and output a guessed rating without running it listing the unsupported libraries?
I fear that's generally hard / impossible to do well in practice. E.g. the program might use some particular API only in an error path and reporting that as "needed" would be wrong. OTOH a program might incur in some bug in an implemented Wine feature and your tool would give an optimistic estimate. I left some more specific questions below.
For example, let's take a MMO game as example, it does not work initially because it uses an anti-hack software currently unsupported by Wine; so people will stop there and give it a Garbage rating. But finding a fix for it might not make it runnable still, there may be another thing inside that prevents it from running but it wasn't documented because no one got past the initial issue. Hence, a tool that provides an evaluation of everything that would be currently unsupported by Wine could be valuable.
Initial ideas could be:
Tie folder names into known software in the database Analyze .dll files to determine whether unsupported functions are present
How would you do that?
For example, it'd be able to start from the following: "A good chunk of those APIs has been implemented but a lot is still missing, such as: some math functions (what's left is mostly about spherical harmonics and precomputed radiance transfer) some mesh functions (D3DXComputeNormals(), D3DXOptimizeVertices(), ...) a few texture functions quite a few ID3DXConstantTable methods effect framework bits and pieces drawing text in ID3DXFont" and determine if a software is not supported because it uses these.
How would you keep the info about what's implemented up to date? More importantly, how would you handle functions / methods that are just stubbed (which means, functions that just report success without doing most / all of the intended work)?
Am 28.03.19 um 21:19 schrieb Matteo Bruni:
On Thu, Mar 28, 2019 at 1:30 PM Daniel A. daniel.atack@hotmail.fr wrote:
Hello,
I'm a computer science student currently in 3rd year in prospect of drafting a Summer Code proposal for this year
Hi, welcome
I think such a tool even existed 10 years ago, can't find it right now, but I think it was from some university. It was not reliable and wasn't developed further because of lack of interest.
I think it'd be better if you come up with a different idea or pick one from the list: https://wiki.winehq.org/Summer_Of_Code