Hi,
Every Wine release more and more programs start to work on Wine. A serious problem is that not all programs can work out of the box. Some games for instance need the windows version to be set to Windows 95 or it will crash. Other games like Medal of Honour need their OpenGL extension string trimmed to get it to work on cards which support a lot of OpenGL extensions. There are dozens of more examples like that.
Microsoft is having similar troubles and since Windows 2000 they provide appcompat stuff for windows (in WinXP/Vista it is a default feature). It basically works on a database which is used somehow at program startup and which then applies 'fixes' like 'setting the windows version', patching function calls and more. See for instance http://technet.microsoft.com/en-us/library/bb457032.aspx for more info and pay attention to http://technet.microsoft.com/en-us/library/bb457032.apcpxp06_big(en-us,techn... which shows a part of the list and the scope of it.
I think we have reached a point in Wine where we might need something similar :( Our compatibility seems to be bigger than XP/Vista so we might not need much. Perhaps we need to maintain some file which applies really needed fixups. It should be merged into the registry using wineprefixcreate and the database can be checked using winecfg. It would use normal AppDefaults.
What do you guys think about such a thing? I don't like it at all but I fear it is really needed. If we would add such I'm not sure if we are allowed to dump microsoft their database, looking at it might be something differently.
It might be a good topic for WineConf.
Regards, Roderick Colenbrander
This sounds like the kind of thing that the devs should work to provide the functionality for, but that the user base should actually maintain. For example, appdb could become a place where users could suggest, test, and finalize said tweaks for each application. There would then be a way for wine to use a small 'database' of that information which could be packed with each release or downloaded from the appdb site (both would seem the best way to go with that). The devs aren't responsible for maintaining the list of tweaks (that's a waste of their time), but the users can still benefit from it.
Rob
Roderick Colenbrander wrote:
Hi,
Every Wine release more and more programs start to work on Wine. A serious problem is that not all programs can work out of the box. Some games for instance need the windows version to be set to Windows 95 or it will crash. Other games like Medal of Honour need their OpenGL extension string trimmed to get it to work on cards which support a lot of OpenGL extensions. There are dozens of more examples like that.
Microsoft is having similar troubles and since Windows 2000 they provide appcompat stuff for windows (in WinXP/Vista it is a default feature). It basically works on a database which is used somehow at program startup and which then applies 'fixes' like 'setting the windows version', patching function calls and more. See for instance http://technet.microsoft.com/en-us/library/bb457032.aspx for more info and pay attention to http://technet.microsoft.com/en-us/library/bb457032.apcpxp06_big(en-us,techn... which shows a part of the list and the scope of it.
I think we have reached a point in Wine where we might need something similar :( Our compatibility seems to be bigger than XP/Vista so we might not need much. Perhaps we need to maintain some file which applies really needed fixups. It should be merged into the registry using wineprefixcreate and the database can be checked using winecfg. It would use normal AppDefaults.
What do you guys think about such a thing? I don't like it at all but I fear it is really needed. If we would add such I'm not sure if we are allowed to dump microsoft their database, looking at it might be something differently.
It might be a good topic for WineConf.
Regards, Roderick Colenbrander
This sounds like the kind of thing that the devs should work to provide the functionality for, but that the user base should actually maintain. For example, appdb could become a place where users could suggest, test, and finalize said tweaks for each application. There would then be a way for wine to use a small 'database' of that information which could be packed with each release or downloaded from the appdb site (both would seem the best way to go with that). The devs aren't responsible for maintaining the list of tweaks (that's a waste of their time), but the users can still benefit from it.
Rob
It could be maintained at lets say appdb but the problem is filtering on what should be in the database and what not. Just a setting to get a program running or a dll override isn't. It is for programs which really need fixups like the ones I described. Not everyone can maintain such a list.
Roderick
I understand there are many apps that need more sophisticated tweaking than the average wine user, even a contributor to the appdb, would be able to do. There are also quite a number of far less sophisticated tweaks, like needing to be run in win2k and not winXP for example, that are equally critical to getting application Y to run. Why not have them all in the same place? The open source model: I'll add what I know and can, you add what you know and can, and together hopefully all of us will be able to add enough that it's a complete list of tweaks.
There's always the question of dealing with fools and malicious people, and I believe that's what you were getting at when you spoke of 'filtering' the repository. Wouldn't the wiki model should work for that? - you have to register to update, and you'll be banned if you hurt the project. It seems to me that there are enough contributors to appdb to support a system like this, do you agree?
Rob
Roderick Colenbrander wrote:
This sounds like the kind of thing that the devs should work to provide the functionality for, but that the user base should actually maintain. For example, appdb could become a place where users could suggest, test, and finalize said tweaks for each application. There would then be a way for wine to use a small 'database' of that information which could be packed with each release or downloaded from the appdb site (both would seem the best way to go with that). The devs aren't responsible for maintaining the list of tweaks (that's a waste of their time), but the users can still benefit from it.
Rob
It could be maintained at lets say appdb but the problem is filtering on what should be in the database and what not. Just a setting to get a program running or a dll override isn't. It is for programs which really need fixups like the ones I described. Not everyone can maintain such a list.
Roderick
On Saturday 29 September 2007 10:34:19 am Roderick Colenbrander wrote:
Hi,
Every Wine release more and more programs start to work on Wine. A serious problem is that not all programs can work out of the box. Some games for instance need the windows version to be set to Windows 95 or it will crash. Other games like Medal of Honour need their OpenGL extension string trimmed to get it to work on cards which support a lot of OpenGL extensions. There are dozens of more examples like that.
The majority of Wine's options are settable via the registry and can be given app-specific overrides. So how about wineprefixcreate creates registry entries for specific apps that are known to need special settings?
Just need to be really really careful that an app needs the change, and that it's not due to a bug in Wine or something.
On Saturday 29 September 2007 10:34:19 am Roderick Colenbrander wrote:
Hi,
Every Wine release more and more programs start to work on Wine. A
serious
problem is that not all programs can work out of the box. Some games for instance need the windows version to be set to Windows 95 or it will
crash.
Other games like Medal of Honour need their OpenGL extension string
trimmed
to get it to work on cards which support a lot of OpenGL extensions.
There
are dozens of more examples like that.
The majority of Wine's options are settable via the registry and can be given app-specific overrides. So how about wineprefixcreate creates registry entries for specific apps that are known to need special settings?
Just need to be really really careful that an app needs the change, and that it's not due to a bug in Wine or something.
Yep wineprefixcreate should handle this and I think in combination with winecfg. One issue that I see is that an executable name is not unique. In case of games if multiple ones are using 'game.exe' then there is a problem. For AppDefaults you can type the whole path but you don't know that in advance.
I fear that for executable some sort of md5sum needs to be stored (there might be something like that already in the app in the form of a product code or so) for purposes like this. We should check how microsoft handles this. Anyway I think that support in the wine loader is needed.
Roderick
Roderick Colenbrander wrote:
On Saturday 29 September 2007 10:34:19 am Roderick Colenbrander wrote:
Hi,
Every Wine release more and more programs start to work on Wine. A
serious
problem is that not all programs can work out of the box. Some games for instance need the windows version to be set to Windows 95 or it will
crash.
Other games like Medal of Honour need their OpenGL extension string
trimmed
to get it to work on cards which support a lot of OpenGL extensions.
There
are dozens of more examples like that.
The majority of Wine's options are settable via the registry and can be given app-specific overrides. So how about wineprefixcreate creates registry entries for specific apps that are known to need special settings?
Just need to be really really careful that an app needs the change, and that it's not due to a bug in Wine or something.
Yep wineprefixcreate should handle this and I think in combination with winecfg. One issue that I see is that an executable name is not unique. In case of games if multiple ones are using 'game.exe' then there is a problem. For AppDefaults you can type the whole path but you don't know that in advance.
I fear that for executable some sort of md5sum needs to be stored (there might be something like that already in the app in the form of a product code or so) for purposes like this. We should check how microsoft handles this. Anyway I think that support in the wine loader is needed.
Roderick
I agree on the checksum. There could be multiple versions of the same program, even, as with Steam's case. How would the registry fix work with wineprefixcreate? Would the user checksum the target program, and then pass as an argument to wineprefixcreate? I think it would be best to have a GUI element using winecfg, to tell the user if there are fixes to be applied.