How can we improve WNE?

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
man_in_shack
Level 2
Level 2
Posts: 16
Joined: Sun Apr 05, 2009 8:05 pm

Re: How can we improve WNE?

Post by man_in_shack »

sotel wrote:Hy! I think this is more a task for the package-managers:
Yes. And I'm the guy :D
sotel wrote:I work with wine on debian and in the debian-package-management I can choose between a normal package and a debugging package.
So if you take this item the wine packages will look like this:
  • wine
    wine-dbg
    wine-dev
where wine is the package without debugging-infos and wine-dbg including the debugging code.

(OK - is not really the same but take this like an example.)

Yours sincerely
Joerg
To expand on what Warren said, the wine package is built with mostly default settings, including debugging channels on. Disabling debugging channels would be a terrible thing to do for distributed packages :)

The -dbg package includes debugging symbols, which are useful for debugging Wine using winedbg. At the very least, when an application crashes in Wine, they tell you what line of code it crashes in (to the best of its ability).

Also note that the wine-dbg package is separate to keep the size of the wine package down :)

Back to Warren's winecfg discussion:
I don't think these settings should be configurable from winecfg, in particular UseGLSL, OffscreenRenderingMode and VideoMemSize. The first two are fast approaching the point where they don't have to be changed at all, and VideoMemSize should NEVER be set by the user. I realise there are still cases where changing these settings improve performance or prevent crashes, as I use them myself, but the average user should not change them without knowing at least a little about what they do.

UsefulRegistryKeys is enough, in my opinion, until the keys themselves get deprecated by improved implementations in the required components.
Warren Dumortier

How can we improve WNE?

Post by Warren Dumortier »

Again, the user is warned!!!

2009/4/6 man_in_shack <[email protected]>:
sotel wrote:
Hy! I think this is more a task for the package-managers:
Yes. And I'm the guy :D


sotel wrote:
I work with wine on debian and in the debian-package-management I can choose between a normal package and a debugging package.
So if you take this item the wine packages will look like this:
wine
wine-dbg
wine-dev
where wine is the package without debugging-infos and wine-dbg including the debugging code.

(OK - is not really the same but take this like an example.)

Yours sincerely
Joerg
To expand on what Warren said, the wine package is built with mostly default settings, including debugging channels on. Disabling debugging channels would be a terrible thing to do for distributed packages :)

The -dbg package includes debugging symbols, which are useful for debugging Wine using winedbg. At the very least, when an application crashes in Wine, they tell you what line of code it crashes in (to the best of its ability).

Also note that the wine-dbg package is separate to keep the size of the wine package down :)

Back to Warren's winecfg discussion:
I don't think these settings should be configurable from winecfg, in particular UseGLSL, OffscreenRenderingMode and VideoMemSize. The first two are fast approaching the point where they don't have to be changed at all, and VideoMemSize should NEVER be set by the user. I realise there are still cases where changing these settings improve performance or prevent crashes, as I use them myself, but the average user should not change them without knowing at least a little about what they do.

UsefulRegistryKeys is enough, in my opinion, until the keys themselves get deprecated by improved implementations in the required components.




DaVince
Level 8
Level 8
Posts: 1099
Joined: Wed Oct 29, 2008 4:53 pm

Post by DaVince »

It doesn't matter: it would be wasted effort to change winecfg to show the options now if it's all going to be deprecated soon...

I hope the "WINEDEBUG=-all on non-terminal launch" gets through. I'd really like that. I'd also love for that patch to be expanded so a "this app crashed" window appears if the app that was not run from a terminal crashed.
Warren Dumortier

How can we improve WNE?

Post by Warren Dumortier »

Well the patch is finished, sad to see most people won't like it.
Removinf will not be hard, it is a dialog with the options, so you
will just have to remove the dialog if it comes deprecated.

2009/4/6 DaVince <[email protected]>:
It doesn't matter: it would be wasted effort to change winecfg to show the options now if it's all going to be deprecated soon...

I hope the "WINEDEBUG=-all on non-terminal launch" gets through. I'd really like that.




man_in_shack
Level 2
Level 2
Posts: 16
Joined: Sun Apr 05, 2009 8:05 pm

Post by man_in_shack »

DaVince wrote:It doesn't matter: it would be wasted effort to change winecfg to show the options now if it's all going to be deprecated soon...

I hope the "WINEDEBUG=-all on non-terminal launch" gets through. I'd really like that. I'd also love for that patch to be expanded so a "this app crashed" window appears if the app that was not run from a terminal crashed.
Apart from changing the .desktop files created by Wine's desktop integration, there is no distinction between running from TTY and not running from TTY. isatty() could be used (a C function in the unistd library), but there are certainly cases where this won't be reliable.

There has been talk on the wine-devel mailing list about this sort of notification, and the chatter has been mostly against it. "Your app crashed" isn't very useful, and providing debugging information isn't useful for the average user. Someone suggested opening a new window with the debugger in it if the app crashes - this would be painfully difficult.
Warren Dumortier wrote:Again, the user is warned!!!
The average user ignores warnings. The more invasive the warnings are (e.g. nag boxes), the more likely it is they will just hit "OK, whatever, let me screw my system up". In particular, those users who have switched from Windows to *nix will see a box that says "Be careful or blah blah break things blah blah" and just hit "OK".

Having a non-invasive warning doesn't help either, as half of the average user won't see it, and the other half will misinterpret it. I don't know how many times I've said "fixme is not err". We even get people coming in to the IRC channel saying "HELP I DON'T KNOW WHAT TO DO I GET THIS FIXME", or "Hey guys, I found a bug. I get this fixme. Where do I report it?"

IMO, making it easy for users to screw with settings they shouldn't screw with is counter-productive. If they *really* need to change these things, they can use regedit. What we could use is better instructions on how to do per-app registry settings via regedit ...
Warren Dumortier

How can we improve WNE?

Post by Warren Dumortier »

2009/4/7 man_in_shack <[email protected]>:
DaVince wrote:
It doesn't matter: it would be wasted effort to change winecfg to show the options now if it's all going to be deprecated soon...

I hope the "WINEDEBUG=-all on non-terminal launch" gets through. I'd really like that. I'd also love for that patch to be expanded so a "this app crashed" window appears if the app that was not run from a terminal crashed.
Apart from changing the .desktop files created by Wine's desktop integration, there is no distinction between running from TTY and not running from TTY. isatty() could be used (a C function in the unistd library), but there are certainly cases where this won't be reliable.

There has been talk on the wine-devel mailing list about this sort of notification, and the chatter has been mostly against it. "Your app crashed" isn't very useful, and providing debugging information isn't useful for the average user. Someone suggested opening a new window with the debugger in it if the app crashes - this would be painfully difficult.


Warren Dumortier wrote:
Again, the user is warned!!!
The average user ignores warnings. The more invasive the warnings are (e.g. nag boxes), the more likely it is they will just hit "OK, whatever, let me screw my system up". In particular, those users who have switched from Windows to *nix will see a box that says "Be careful or blah blah break things blah blah" and just hit "OK".

Having a non-invasive warning doesn't help either, as half of the average user won't see it, and the other half will misinterpret it. I don't know how many times I've said "fixme is not err". We even get people coming in to the IRC channel saying "HELP I DON'T KNOW WHAT TO DO I GET THIS FIXME", or "Hey guys, I found a bug. I get this fixme. Where do I report it?"

IMO, making it easy for users to screw with settings they shouldn't screw with is counter-productive. If they *really* need to change these things, they can use regedit. What we could use is better instructions on how to do per-app registry settings via regedit ...





People that do not read warning are dumbs! Also if something went
wrong, in most cases the user will try to revert back to default
settings, this is not a problem as there is a reset button.

There's only one REAL reason to not include my patch: fix Wine to not
have to change those setting, but imo, we're far from such a Wine
version and it should be available IMO in Winecfg. Removing it later
will be very easy too...
fcmartins
Level 4
Level 4
Posts: 114
Joined: Sat Nov 01, 2008 5:48 pm

Re: How can we improve WNE?

Post by fcmartins »

Warren Dumortier wrote: People that do not read warning are dumbs!
Well, this is quite a over-generalization, really. Most people just want to get on with their own business and don't want to waste time fixing the computer, which most people perceive it should work out of the box (and run windows apps, btw) just as most stuff one buys does. Also, most people feel insecure when it comes to computers, especially when most error messages are actually unreadable, when not misleading. Perfectly reasonable to ignore warnings :-)
There's only one REAL reason to not include my patch: fix Wine to not
have to change those setting, but imo, we're far from such a Wine
version and it should be available IMO in Winecfg. Removing it later
will be very easy too...
As a user I agree. Just because one day it will work doesn't seem a good excuse not to have it NOW (unless there bugs, side effects, etc). Annoyingly, the last call is to the maintainers :-)
Warren Dumortier

How can we improve WNE?

Post by Warren Dumortier »

2009/4/7 fcmartins <[email protected]>:
Warren Dumortier wrote:
People that do not read warning are dumbs!
Well, this is quite a over-generalization, really. Most people just want to get on with their own business and don't want to waste time fixing the computer, which most people perceive it should work out of the box (and run windows apps, btw) just as most stuff one buys does. Also, most people feel insecure when it comes to computers, especially when most error messages are actually unreadable, when not misleading. Perfectly reasonable to ignore warnings :-)
There's only one REAL reason to not include my patch: fix Wine to not
have to change those setting, but imo, we're far from such a Wine
version and it should be available IMO in Winecfg. Removing it later
will be very easy too...
As a user I agree. Just because one day it will work doesn't seem a good excuse not to have it NOW (unless there bugs, side effects, etc). Annoyingly, the last call is to the maintainers :-)





Another problem is that Wine will attract less users if configureing
it is difficult. It is already the case when you want to run programs,
so we really need to improve that.

When users have to edit keys manually and stuff like that, they do not
really like it. People prefer using a graphical way, something that i
understand, so we should make their life easier.

Als explaining things on AppDB for example would be easier than to
explain how to set those keys. It's like users would add dll overrides
in command-line, everybody prefers using Winecfg for that...
austin987
Wine Developer
Wine Developer
Posts: 2383
Joined: Fri Feb 22, 2008 8:19 pm

How can we improve WNE?

Post by austin987 »

On Tue, Apr 7, 2009 at 1:46 PM, Warren Dumortier <[email protected]> wrote:

Rather than arguing all this theoretical stuff, let's get a patch,
then discuss it. Not to be demanding, but you've said you were close
to finishing a patch. Get it ready, get people on wine-users to test
it, and once it's good there, send it to wine-devel for comment.

Arguing something tangible gives much better results than arguing
theoretical code.

--
-Austin
man_in_shack
Level 2
Level 2
Posts: 16
Joined: Sun Apr 05, 2009 8:05 pm

Re: How can we improve WNE?

Post by man_in_shack »

fcmartins wrote:
Warren Dumortier wrote: There's only one REAL reason to not include my patch: fix Wine to not
have to change those setting, but imo, we're far from such a Wine
version and it should be available IMO in Winecfg. Removing it later
will be very easy too...
As a user I agree. Just because one day it will work doesn't seem a good excuse not to have it NOW (unless there bugs, side effects, etc). Annoyingly, the last call is to the maintainers :-)
Warren: Removing it later would likely be harder than you think, especially if there are multiple changes to winecfg between committing your changes and trying to remove it.

fcmartins: Let's examine the bugs/side effects for a minute.
User: "MY GAME DOESN'T WORK BUT APPDB SAYS IT'S PLATINUM"
Supporter: "What version of wine?"
User: "1.1.18. AppDB says it works fine in all versions since 1.1.14, including 1.1.18"
Supporter: "Hmm ... video driver/video card?"
... and so forth, until all standard options are exhausted, until ...
Supporter: "OK, have you changed any advanced graphics settings in winecfg?"
User: "ALL OF THEM BECAUSE THEY'RE NEEDED FOR MY OTHER GAME"
Supporter: "Well, now you have a choice. Either have a working Wine, or have a Wine that you can only ever play one game in. Did you read the warning?"
User: "WINE SUCKS I'M NEVER USING IT AGAIN!"

The solution to the above problem is separate wineprefixes, but if the intent is to make it *easy* to configure, then that doesn't help.

Sorry, but even if the general consensus of developers was "Yes, we should make it easier to change all these settings", the user supporters would then have to deal with brokenness of individual configurations akin to installing apps via ies4linux or wine-doors, or if someone thinks it's a good idea to install MS DirectX in wine.

In the worst case, we'd get a set of *bug reports* where people had been messing with the Advanced settings, and the solution is either "CLOSED/INVALID: Hit the reset button and it will work" or "CLOSED/INVALID: Hit the reset button and you can see why it won't work until bug 1234 is fixed"

[/quote]
Warren Dumortier wrote: Another problem is that Wine will attract less users if configureing
it is difficult. It is already the case when you want to run programs,
so we really need to improve that.
Is it really Wine's goal to deliberately attract more users? Really? This is a free and open-source project, as opposed to Crossover Office (or even Cedega) which would want to attract more users since it's commercial.

I always find the "THIS WILL ATTRACT FEWER NEW USERS" argument to be a cop-out, and closer to FUD (fear/uncertainty/doubt) than an argument based on the merits of the proposed change.
Warren Dumortier wrote: When users have to edit keys manually and stuff like that, they do not
really like it. People prefer using a graphical way, something that i
understand, so we should make their life easier.
Once again, you're overgeneralising. And the way I see it, most (all?) of the settings you're adding to winecfg should not be changed unless you're 100% certain of what you're doing (and in that case, you can use the registry settings. It's also a graphical way of doing it, you know!) Making it easier means people will say "hey, maybe if I fiddle with this button it will make things shiny".

What if there was an easy, graphical way to do "sudo rm -rf /" without asking for a password? There's nothing stopping you from doing it manually, but if you do it manually you *have* to think about it a bit more.
Warren Dumortier wrote: Also explaining things on AppDB for example would be easier than to
explain how to set those keys. It's like users would add dll overrides
in command-line, everybody prefers using Winecfg for that...
This sounds like you're trying to cater to some kind of fear of education. "Loading regedit and putting in the registry keys manually is too difficult!" Sorry, but that's also the way you have to do it on Windows if you're changing stuff you're not meant to. There are ways around this, like providing pre-written .reg files, but there are at least some cases where this will break, and it would be difficult if not impossible to reliably write .reg files for per-application settings.
austin987
Wine Developer
Wine Developer
Posts: 2383
Joined: Fri Feb 22, 2008 8:19 pm

How can we improve WNE?

Post by austin987 »

On Tue, Apr 7, 2009 at 6:55 PM, man_in_shack <[email protected]> wrote:
fcmartins wrote:
Warren Dumortier wrote:
There's only one REAL reason to not include my patch: fix Wine to not
have to change those setting, but imo, we're far from such a Wine
version and it should be available IMO in Winecfg. Removing it later
will be very easy too...
As a user I agree. Just because one day it will work doesn't seem a good excuse not to have it NOW (unless there bugs, side effects, etc). Annoyingly, the last call is to the maintainers :-)
Warren: Removing it later would likely be harder than you think, especially if there are multiple changes to winecfg between committing your changes and trying to remove it.
Changes to winecfg are pretty rare, actually.
fcmartins: Let's examine the bugs/side effects for a minute.
User: "MY GAME DOESN'T WORK BUT APPDB SAYS IT'S PLATINUM"
Supporter: "What version of wine?"
User: "1.1.18. AppDB says it works fine in all versions since 1.1.14, including 1.1.18"
Supporter: "Hmm ... video driver/video card?"
... and so forth, until all standard options are exhausted, until ...
Supporter: "OK, have you changed any advanced graphics settings in winecfg?"
User: "ALL OF THEM BECAUSE THEY'RE NEEDED FOR MY OTHER GAME"
Supporter: "Well, now you have a choice. Either have a working Wine, or have a Wine that you can only ever play one game in. Did you read the warning?"
User: "WINE SUCKS I'M NEVER USING IT AGAIN!"
Why wouldn't they have done the same for the first application not working?
The solution to the above problem is separate wineprefixes, but if the intent is to make it *easy* to configure, then that doesn't help.

Sorry, but even if the general consensus of developers was "Yes, we should make it easier to change all these settings", the user supporters would then have to deal with brokenness of individual configurations akin to installing apps via ies4linux or wine-doors, or if someone thinks it's a good idea to install MS DirectX in wine.
We _already_ allow users to break things, in much worse ways. Try
running winecfg and setting the dpi to 480, or set ole32 to native in
winecfg and running any builtin application.
In the worst case, we'd get a set of *bug reports* where people had been messing with the Advanced settings, and the solution is either "CLOSED/INVALID: Hit the reset button and it will work" or "CLOSED/INVALID: Hit the reset button and you can see why it won't work until bug 1234 is fixed"
Again, we already have this happening, with users reporting bugs after
unchecking "Allow window manager to control the windows"



Warren Dumortier wrote:
Another problem is that Wine will attract less users if configureing
it is difficult. It is already the case when you want to run programs,
so we really need to improve that.
Is it really Wine's goal to deliberately attract more users? Really? This is a free and open-source project, as opposed to Crossover Office (or even Cedega) which would want to attract more users since it's commercial.

I always find the "THIS WILL ATTRACT FEWER NEW USERS" argument to be a cop-out, and closer to FUD (fear/uncertainty/doubt) than an argument based on the merits of the proposed change.
[/quote]
You've made the same logical flaw earlier (WINE SUCKS I'M NEVER USING
IT AGAIN!).
Warren Dumortier wrote:
When users have to edit keys manually and stuff like that, they do not
really like it. People prefer using a graphical way, something that i
understand, so we should make their life easier.
Once again, you're overgeneralising. And the way I see it, most (all?) of the settings you're adding to winecfg should not be changed unless you're 100% certain of what you're doing (and in that case, you can use the registry settings. It's also a graphical way of doing it, you know!) Making it easier means people will say "hey, maybe if I fiddle with this button it will make things shiny".
We allow the same thing for DPI, which has _no_ warning. Now, it has
the preview, but for a _long_ time that wasn't the case.
What if there was an easy, graphical way to do "sudo rm -rf /" without asking for a password? There's nothing stopping you from doing it manually, but if you do it manually you *have* to think about it a bit more.
You can easily graphically remove ~. Just run nautilus, select all,
and click delete.

This, however, is drastically different. Do you lose files here? No,
your game doesn't work, but for many people it will. It's a two way
street. No data, however, is lost, so please don't make that
comparison.
Warren Dumortier wrote:
Also explaining things on AppDB for example would be easier than to
explain how to set those keys. It's like users would add dll overrides
in command-line, everybody prefers using Winecfg for that...
This sounds like you're trying to cater to some kind of fear of education. "Loading regedit and putting in the registry keys manually is too difficult!" Sorry, but that's also the way you have to do it on Windows if you're changing stuff you're not meant to. There are ways around this, like providing pre-written .reg files, but there are at least some cases where this will break, and it would be difficult if not impossible to reliably write .reg files for per-application settings.
Agreed on that.

--
-Austin
man_in_shack
Level 2
Level 2
Posts: 16
Joined: Sun Apr 05, 2009 8:05 pm

Re: How can we improve WNE?

Post by man_in_shack »

austin987 wrote:On Tue, Apr 7, 2009 at 6:55 PM, man_in_shack <[email protected]> wrote:
fcmartins: Let's examine the bugs/side effects for a minute.
User: "MY GAME DOESN'T WORK BUT APPDB SAYS IT'S PLATINUM"
Supporter: "What version of wine?"
User: "1.1.18. AppDB says it works fine in all versions since 1.1.14, including 1.1.18"
Supporter: "Hmm ... video driver/video card?"
... and so forth, until all standard options are exhausted, until ...
Supporter: "OK, have you changed any advanced graphics settings in winecfg?"
User: "ALL OF THEM BECAUSE THEY'RE NEEDED FOR MY OTHER GAME"
Supporter: "Well, now you have a choice. Either have a working Wine, or have a Wine that you can only ever play one game in. Did you read the warning?"
User: "WINE SUCKS I'M NEVER USING IT AGAIN!"
Why wouldn't they have done the same for the first application not working?
The ideas is that they've been instructed by some supporter or AppDB to use these settings ...
austin987 wrote:
The solution to the above problem is separate wineprefixes, but if the intent is to make it *easy* to configure, then that doesn't help.

Sorry, but even if the general consensus of developers was "Yes, we should make it easier to change all these settings", the user supporters would then have to deal with brokenness of individual configurations akin to installing apps via ies4linux or wine-doors, or if someone thinks it's a good idea to install MS DirectX in wine.
We _already_ allow users to break things, in much worse ways. Try
running winecfg and setting the dpi to 480, or set ole32 to native in
winecfg and running any builtin application.
Setting old32 to native is possible but difficult via winecfg, and I'd be surprised if a DPI of 480 made apps crash. The point is that these advanced graphical settings would be, at the least, difficult to support.
In the worst case, we'd get a set of *bug reports* where people had been messing with the Advanced settings, and the solution is either "CLOSED/INVALID: Hit the reset button and it will work" or "CLOSED/INVALID: Hit the reset button and you can see why it won't work until bug 1234 is fixed"
Again, we already have this happening, with users reporting bugs after
unchecking "Allow window manager to control the windows"
Doesn't mean we want more of it happening! Some people seem to have the mentality that if it's configurable and it breaks then it's a bug in Wine ...
Warren Dumortier wrote:
Another problem is that Wine will attract less users if configureing
it is difficult. It is already the case when you want to run programs,
so we really need to improve that.
Is it really Wine's goal to deliberately attract more users? Really? This is a free and open-source project, as opposed to Crossover Office (or even Cedega) which would want to attract more users since it's commercial.

I always find the "THIS WILL ATTRACT FEWER NEW USERS" argument to be a cop-out, and closer to FUD (fear/uncertainty/doubt) than an argument based on the merits of the proposed change.
You've made the same logical flaw earlier (WINE SUCKS I'M NEVER USING
IT AGAIN!).
If anything, I'm trying to point out that these settings would do nothing but defer the "WINE SUCKS" to later on.
Warren Dumortier wrote:
When users have to edit keys manually and stuff like that, they do not
really like it. People prefer using a graphical way, something that i
understand, so we should make their life easier.
Once again, you're overgeneralising. And the way I see it, most (all?) of the settings you're adding to winecfg should not be changed unless you're 100% certain of what you're doing (and in that case, you can use the registry settings. It's also a graphical way of doing it, you know!) Making it easier means people will say "hey, maybe if I fiddle with this button it will make things shiny".
We allow the same thing for DPI, which has _no_ warning. Now, it has
the preview, but for a _long_ time that wasn't the case.
Changing the DPI is not likely to break everything. Changing these "advanced" graphics options is.
What if there was an easy, graphical way to do "sudo rm -rf /" without asking for a password? There's nothing stopping you from doing it manually, but if you do it manually you *have* to think about it a bit more.
You can easily graphically remove ~. Just run nautilus, select all,
and click delete.

This, however, is drastically different. Do you lose files here? No,
your game doesn't work, but for many people it will. It's a two way
street. No data, however, is lost, so please don't make that
comparison.
Perhaps it was a bad example. Point is that these changes sound to me like: "It can be done, and who cares if it breaks everything? It should be easy to do!"
Warren Dumortier wrote:
Also explaining things on AppDB for example would be easier than to
explain how to set those keys. It's like users would add dll overrides
in command-line, everybody prefers using Winecfg for that...
This sounds like you're trying to cater to some kind of fear of education. "Loading regedit and putting in the registry keys manually is too difficult!" Sorry, but that's also the way you have to do it on Windows if you're changing stuff you're not meant to. There are ways around this, like providing pre-written .reg files, but there are at least some cases where this will break, and it would be difficult if not impossible to reliably write .reg files for per-application settings.
Agreed on that.

--
-Austin
Can we also agree that registry settings for these "advanced' graphics settings are "good enough" for people who "need" them?
austin987
Wine Developer
Wine Developer
Posts: 2383
Joined: Fri Feb 22, 2008 8:19 pm

How can we improve WNE?

Post by austin987 »

On Tue, Apr 7, 2009 at 9:39 PM, man_in_shack <[email protected]> wrote:
We _already_ allow users to break things, in much worse ways. Try
running winecfg and setting the dpi to 480, or set ole32 to native in
winecfg and running any builtin application.
Setting old32 to native is possible but difficult via winecfg, and I'd be surprised if a DPI of 480 made apps crash. The point is that these advanced graphical settings would be, at the least, difficult to support.
Not that difficult. DPI of 480 doesn't make apps crash, but unusable.
Try it in a test prefix and see.
We allow the same thing for DPI, which has _no_ warning. Now, it has
the preview, but for a _long_ time that wasn't the case.
Changing the DPI is not likely to break everything. Changing these "advanced" graphics options is.
Not everything, only graphics stuff. DPI affects just as much, if not
more stuff.

This sounds like you're trying to cater to some kind of fear of education. "Loading regedit and putting in the registry keys manually is too difficult!" Sorry, but that's also the way you have to do it on Windows if you're changing stuff you're not meant to. There are ways around this, like providing pre-written .reg files, but there are at least some cases where this will break, and it would be difficult if not impossible to reliably write .reg files for per-application settings.
Agreed on that.

--
-Austin
Can we also agree that registry settings for these "advanced' graphics settings are "good enough" for people who "need" them?
No, sorry, disagreed there. I don't think that graphics settings are
any more special than any other wine configuration settings.

--
-Austin
man_in_shack
Level 2
Level 2
Posts: 16
Joined: Sun Apr 05, 2009 8:05 pm

Re: How can we improve WNE?

Post by man_in_shack »

austin987 wrote: No, sorry, disagreed there. I don't think that graphics settings are
any more special than any other wine configuration settings.
Changing VideoMemorySize does nothing but hide other bugs (which I hear are being worked on). Changing OffscreenRenderingMode can cause a lot of problems with a wide variety of apps, everything from "textures are broken" to "complete crash of Wine and it took the buggy video drivers with it".

More harm than good.

Enough said (on my part).
austin987
Wine Developer
Wine Developer
Posts: 2383
Joined: Fri Feb 22, 2008 8:19 pm

How can we improve WNE?

Post by austin987 »

On Tue, Apr 7, 2009 at 10:03 PM, man_in_shack <[email protected]> wrote:
austin987 wrote:
No, sorry, disagreed there. I don't think that graphics settings are
any more special than any other wine configuration settings.
Changing VideoMemorySize does nothing but hide other bugs (which I hear are being worked on). Changing OffscreenRenderingMode can cause a lot of problems with a wide variety of apps, everything from "textures are broken" to "complete crash of Wine and it took the buggy video drivers with it".
VideoMemorySize I'll agree with you on. If that is left in the
registry, I won't disagree.

OffscreenRenderingMode, however, is a fickle beast, and depending on
the application, fixes tons of problems, or yes, causes random
crashes. But as I've said, the same can be said for native dlls
(comctl32/dcom98 are especially bad here). We don't play the
babysitter for most other settings (only _really_ dangerous ones,
e.g., changing C:\ to point to a windows install, or running with
sudo). Changing the OffscreenRenderingMode is no more dangerous than a
native DLL, and IMHO deserves no special treatment just because it's a
graphic setting rather than a DLL setting.

Long story short, I see a lot of hypocrisy in the argument that
"changing graphics settings can cause crashes/bugs, we can't allow
that" and "here, change DLL load order to native, even for native Wine
programs. No warning needed, you're smart enough to figure that out."
Winecfg exists to make changing Wine settings easier on users. There
is _nothing_ in winecfg that can't be done in the registry or
elsewhere (the drives must be done via terminal/file manager). If we
want to protect users from changing Wine, then remove winecfg. Until
that's done, there _is no_ merit in saying that we shouldn't allow
changing graphics settings. Again, I _know_ that progress is close to
it not being needed. The same was said with the ddraw rewrite, which,
even though it is nearly 3 years old, still has regressions. Winecfg
is there to make adjustments easier on users, graphics tweaks are
typically needed for games, and allowing changing those settings makes
sense.

Working in #winehq/the forums a lot, I've got a bit less of a
developer mentality. While I see both sides of the argument, I get the
feeling many developers forget that users are using Wine to get work
done/play their game/use their application. What's in the future is
unimportant. They simply want to use it now. If we want to encourage
that, like already do by including winecfg, then there's no reason we
shouldn't add these graphics tweaks. If not, then remove winecfg, or
even remove the tweaks that can be dangerous, to eliminate the
hypocrisy.

--
-Austin
man_in_shack
Level 2
Level 2
Posts: 16
Joined: Sun Apr 05, 2009 8:05 pm

Re: How can we improve WNE?

Post by man_in_shack »

austin987 wrote: VideoMemorySize I'll agree with you on. If that is left in the
registry, I won't disagree.

OffscreenRenderingMode, however, is a fickle beast, and depending on
the application, fixes tons of problems, or yes, causes random
crashes. But as I've said, the same can be said for native dlls
(comctl32/dcom98 are especially bad here). We don't play the
babysitter for most other settings (only _really_ dangerous ones,
e.g., changing C:\ to point to a windows install, or running with
sudo). Changing the OffscreenRenderingMode is no more dangerous than a
native DLL, and IMHO deserves no special treatment just because it's a
graphic setting rather than a DLL setting.
Can already be done. May not be easiest thing to do, but can already be done via regedit.

At least native DLLs are more predictable than changing OffscreenRenderingMode. They're also more important to support, as there are obvious deficiencies in Wine (e.g. gdiplus and d3dx9_##) that currently can't be resolved without native DLLs, due to completely missing implementations. Before you argue that there's no way to resolve some games without OffscreenRenderingMode, it's not quite the same category. In theory, with enough work, any OffscreenRenderingMode would work with any game. In practice, we know this is not the case.
austin987 wrote: Long story short, I see a lot of hypocrisy in the argument that
"changing graphics settings can cause crashes/bugs, we can't allow
that" and "here, change DLL load order to native, even for native Wine
programs. No warning needed, you're smart enough to figure that out."
It's not the easiest or most obvious thing to force a DLL override to native in winecfg (not even obvious to make it native,builtin). We also say "here, change the registry settings for advanced Direct3D and OpenGL stuff manually, you're smart enough to figure it out with the UsefulRegistryKeys page on the wiki" already. So, the argument doesn't seem hypocritical to me. If anything, it's *easier* to change the settings according to UsefulRegistryKeys than it is to set native DLLs, just due to the wording in the Libraries tab.
austin987 wrote: Winecfg exists to make changing Wine settings easier on users. There
is _nothing_ in winecfg that can't be done in the registry or
elsewhere (the drives must be done via terminal/file manager).
You're absolutely correct! Do you know what that means? There is *no reason at all* to provide "advanced" settings in winecfg. Users who need them can use regedit, just like they'd have to do on Windows for equally advanced settings.
austin987 wrote:If we want to protect users from changing Wine,
We don't. You already said you can change this stuff via the registry. It just doesn't need to be made any easier; the settings simply aren't that reliable or common enough to go in winecfg.
austin987 wrote:then remove winecfg.
Which won't happen, because then there would be no simple way to change things like audio drivers, reported Windows version, drive type configurations, DPI settings (you pointed out earlier that there is a preview for the DPI setting, can't have a preview via regedit!), shader settings, and the "Desktop Integration" directory settings. Sure, you can change all those via registry too (since the settings are stored in the registry) but these are settings that are common to (virtually) every single application run in wine. The advanced graphics settings are only required for a small handful of games, and are more likely to cause problems than solve them.
austin987 wrote:Until
that's done, there _is no_ merit in saying that we shouldn't allow
changing graphics settings. Again, I _know_ that progress is close to
it not being needed. The same was said with the ddraw rewrite, which,
even though it is nearly 3 years old, still has regressions. Winecfg
is there to make adjustments easier on users, graphics tweaks are
typically needed for games, and allowing changing those settings makes
sense.
Wine already does very well not requiring graphics tweaks for games. In fact, graphics tweaks are not required for 99% of the games I've *ever* tried to run in Wine (one game requires ddraw renderer to be set to opengl, another looks marginally better if OffscreenRendererMode is set to fbo). Again, I question the suggestion that these settings are common enough that they should be available as settings in winecfg.
austin987 wrote: Working in #winehq/the forums a lot, I've got a bit less of a
developer mentality.
As a regular supporter in #winehq, I do *not* want to see a new wave of users going "my app is broken" where the solution is "don't use those advanced graphics settings; hit the reset button". That is my main concern with making it easy to change values that, in general, should never be changed.
austin987 wrote: While I see both sides of the argument, I get the
feeling many developers forget that users are using Wine to get work
done/play their game/use their application. What's in the future is
unimportant. They simply want to use it now. If we want to encourage
that, like already do by including winecfg, then there's no reason we
shouldn't add these graphics tweaks. If not, then remove winecfg, or
even remove the tweaks that can be dangerous, to eliminate the
hypocrisy.

--
-Austin
What you're talking about is essentially a quick hack to fix a handful of problems, hiding the bugs instead of fixing them. Wine devs don't like doing that.
James Mckenzie

How can we improve WNE?

Post by James Mckenzie »

man_in_shack <[email protected]> wrote on April 8th:
austin987 wrote:
VideoMemorySize I'll agree with you on. If that is left in the
registry, I won't disagree.

OffscreenRenderingMode, however, is a fickle beast, and depending on
the application, fixes tons of problems, or yes, causes random
crashes. But as I've said, the same can be said for native dlls
(comctl32/dcom98 are especially bad here). We don't play the
babysitter for most other settings (only _really_ dangerous ones,
e.g., changing C:\ to point to a windows install, or running with
sudo). Changing the OffscreenRenderingMode is no more dangerous than a
native DLL, and IMHO deserves no special treatment just because it's a
graphic setting rather than a DLL setting.
Can already be done. May not be easiest thing to do, but can already be done via regedit.
But we are asking users that have a tenatous grasp of how to power on a computer to edit files that they should not even be touching. I think the 'best solution' is to offer these settings via winecfg, until they are no longer needed or desired. Have winecfg do the 'behind the scenes' work to make the changes. Remember that we should follow the KISS principle: Keep it simple and stupid. If we advise a user to use regedit and give them complete and comprehensive instructions, they will still mess it up AND blame us.
At least native DLLs are more predictable than changing OffscreenRenderingMode. They're also more
important to support, as there are obvious deficiencies in Wine (e.g. gdiplus and d3dx9_##) that
currently can't be resolved without native DLLs, due to completely missing implementations. Before
you argue that there's no way to resolve some games without OffscreenRenderingMode, it's not quite
the same category. In theory, with enough work, any OffscreenRenderingMode would work with any
game. In practice, we know this is not the case.
This is a defincency of both Wine, due to the lack of implementation, and of Windows, for poor coding practices. The best solution is to 'break' Wine in the same way that Windows is. The trick is that Windows has about 20 years head start.

It's not the easiest or most obvious thing to force a DLL override to native in winecfg (not even
obvious to make it native,builtin). We also say "here, change the registry settings for advanced
Direct3D and OpenGL stuff manually, you're smart enough to figure it out with the
UsefulRegistryKeys page on the wiki" already. So, the argument doesn't seem hypocritical to me. If
anything, it's *easier* to change the settings according to UsefulRegistryKeys than it is to set
native DLLs, just due to the wording in the Libraries tab.
We should not be sending users to these pages. Remember, if they break Wine, it is OUR fault. Been there, done that. And the results are not 'pretty'. We want to put our best effort into this project and the above paragraph has the word "LAZY" written all over it. Either we fix the problem or get a real workaround on it. Editing the registry should ONLY be done if NOTHING else works, period. If we can provide an interface through winecfg, then that is where it should be. Of course, we can add the warning that using these changes can and will break your Wine for one or more applications, may back some folks off, but others will charge ahead. And when they break Wine, we can come forth with "You were warned and you went ahead and did it anyway" and then follow up with the real fix.

austin987 wrote:
Winecfg exists to make changing Wine settings easier on users. There
is _nothing_ in winecfg that can't be done in the registry or
elsewhere (the drives must be done via terminal/file manager).
You're absolutely correct! Do you know what that means? There is *no reason at all* to
provide "advanced" settings in winecfg. Users who need them can use regedit, just like they'd have
to do on Windows for equally advanced settings.
I don't edit my registry on Windows. I use tools for that (msconfig anyone). That is the purpose that winecfg should fill. If I need to lessen the amount of video memory, I should be able to do this through winecfg, not through regedit.

austin987 wrote:
If we want to protect users from changing Wine,
We don't. You already said you can change this stuff via the registry. It just doesn't need to be
made any easier; the settings simply aren't that reliable or common enough to go in winecfg.
Really? I don't think so. Many conversations on users rotate around configuration settings and how to set them. Sure, you should not be able to change EVERY setting, but the more common ones should be there. Again, user warnings should be there too.

austin987 wrote:
Until
that's done, there _is no_ merit in saying that we shouldn't allow
changing graphics settings. Again, I _know_ that progress is close to
it not being needed. The same was said with the ddraw rewrite, which,
even though it is nearly 3 years old, still has regressions. Winecfg
is there to make adjustments easier on users, graphics tweaks are
typically needed for games, and allowing changing those settings makes
sense.
Wine already does very well not requiring graphics tweaks for games. In fact, graphics tweaks are
not required for 99% of the games I've *ever* tried to run in Wine (one game requires ddraw
renderer to be set to opengl, another looks marginally better if OffscreenRendererMode is set to
fbo). Again, I question the suggestion that these settings are common enough that they should be
available as settings in winecfg.
Again, I question why they are not there. We are dealing with ID10Ts in some cases that installed Linux and Wine to run games that are freely available in a Linux version. Why? Because all they know is Windows. They grew up with it and they could not even tell you, without prodding, what video card they are using. We need to deal with these folks on a professional level. Wine is missing a full winecfg and a Control Panel equivelent.

austin987 wrote:
Working in #winehq/the forums a lot, I've got a bit less of a
developer mentality.
As a regular supporter in #winehq, I do *not* want to see a new wave of users going "my app is
broken" where the solution is "don't use those advanced graphics settings; hit the reset button".
That is my main concern with making it easy to change values that, in general, should never be
changed.
ID10Ts will always be there. You just have to deal with them or ignore them. The best line I seen here is: "If you wanted to run Windows, go to your local store, buy it and install it. Linux never has been nor will it ever be." Sadly, Windows is and will be the solution for most computer users. I remember the day when knowing the secret Lotus 1-2-3 startup settings made you a guru, although they were freely available and even on the hints card.
austin987 wrote:
While I see both sides of the argument, I get the
feeling many developers forget that users are using Wine to get work
done/play their game/use their application. What's in the future is
unimportant. They simply want to use it now. If we want to encourage
that, like already do by including winecfg, then there's no reason we
shouldn't add these graphics tweaks. If not, then remove winecfg, or
even remove the tweaks that can be dangerous, to eliminate the
hypocrisy.

--
-Austin
What you're talking about is essentially a quick hack to fix a handful of problems, hiding the bugs instead of fixing them. Wine devs don't like doing that.
I've met developers that don't even like looking at bug reports from testers. We have to provide USERS (they are why we are here unless we want to be a bunch of hobbyists) with a simple way of making changes. winecfg is the place, not regedit, not vi (or emacs if you swing that way). Get used to it. When we fix a problem, we remove the setting from winecfg and ignore any changes made to the registry. This makes the user experience better and we can direct them how to make changes without having to send mumbo-jumbo to them that they continuously mess up. As I see it, developers THINK they know it all, which leads to a mess. Let's get the solution where it needs to be, in the product. I agree that making these changes covers up the bug, but users are not going to wait a year or two for a bug to be fixed. They want a solution, and they want it TODAY. So, let's give it to them. I live by the accumen: Changes are possible, but do we really want to make that change? At this point, yes we should change winecfg.

James McKenzie
man_in_shack
Level 2
Level 2
Posts: 16
Joined: Sun Apr 05, 2009 8:05 pm

Re: How can we improve WNE?

Post by man_in_shack »

James Mckenzie wrote: But we are asking users that have a tenatous grasp of how to power on a computer to edit files that they should not even be touching.
regedit.
James Mckenzie wrote: I think the 'best solution' is to offer these settings via winecfg, until they are no longer needed or desired. Have winecfg do the 'behind the scenes' work to make the changes. Remember that we should follow the KISS principle: Keep it simple and stupid.
How about keep winecfg simple? I like this idea better.
James Mckenzie wrote: If we advise a user to use regedit and give them complete and comprehensive instructions, they will still mess it up AND blame us.
Then either the instructions are flawed or the user is beyond hope.
At least native DLLs are more predictable than changing OffscreenRenderingMode. They're also more
important to support, as there are obvious deficiencies in Wine (e.g. gdiplus and d3dx9_##) that
currently can't be resolved without native DLLs, due to completely missing implementations. Before
you argue that there's no way to resolve some games without OffscreenRenderingMode, it's not quite
the same category. In theory, with enough work, any OffscreenRenderingMode would work with any
game. In practice, we know this is not the case.
This is a defincency of both Wine, due to the lack of implementation, and of Windows, for poor coding practices. The best solution is to 'break' Wine in the same way that Windows is. The trick is that Windows has about 20 years head start.[/quote]

Windows systems don't give the users neat graphical dialogues for every single setting that can be configured. Is that broken? If so, does it make sense to break Wine the same way?
James Mckenzie wrote:
It's not the easiest or most obvious thing to force a DLL override to native in winecfg (not even
obvious to make it native,builtin). We also say "here, change the registry settings for advanced
Direct3D and OpenGL stuff manually, you're smart enough to figure it out with the
UsefulRegistryKeys page on the wiki" already. So, the argument doesn't seem hypocritical to me. If
anything, it's *easier* to change the settings according to UsefulRegistryKeys than it is to set
native DLLs, just due to the wording in the Libraries tab.
We should not be sending users to these pages.
So delete the pages, or rename it to UselessRegistryKeys. See how many friends you make doing that. Why do the pages exist if it's not for users to look at?
James Mckenzie wrote: Remember, if they break Wine, it is OUR fault.
Excellent logic. Flawless. No argument. None at all. Ever. Well done.
James Mckenzie wrote: Been there, done that. And the results are not 'pretty'. We want to put our best effort into this project and the above paragraph has the word "LAZY" written all over it.
Making it very easy for people to break something horribly means a lot more effort has to go into supporting the broken stuff, or at least diagnosing it. And, you may not realise this, but diagnosing graphical glitches is hard enough already, we don't need anything to make it more difficult.
James Mckenzie wrote: Either we fix the problem or get a real workaround on it.
The problems being talked about are simply not common enough for the changes to winecfg being proposed.
James Mckenzie wrote: Editing the registry should ONLY be done if NOTHING else works, period. If we can provide an interface through winecfg, then that is where it should be. Of course, we can add the warning that using these changes can and will break your Wine for one or more applications, may back some folks off, but others will charge ahead.
Still sounds a lot like "Click here to break everything" to me. Not everything needs to be configurable through winecfg, or winecfg would already be a complete registry editor.
James Mckenzie wrote: And when they break Wine, we can come forth with "You were warned and you went ahead and did it anyway" and then follow up with the real fix.
"Real fix" is to code. Good luck with that. I dislike the idea of allowing users to hack at settings that should not be hacked at as a quick fix. I dislike the idea of adding settings to winecfg that we know are going to be removed later on. I dislike the idea of dealing with disgruntled users who have broken Wine due to ease of breakage with these settings and then blame us for making it easy to break.
James Mckenzie wrote:

austin987 wrote:
Winecfg exists to make changing Wine settings easier on users. There
is _nothing_ in winecfg that can't be done in the registry or
elsewhere (the drives must be done via terminal/file manager).
You're absolutely correct! Do you know what that means? There is *no reason at all* to
provide "advanced" settings in winecfg. Users who need them can use regedit, just like they'd have
to do on Windows for equally advanced settings.
I don't edit my registry on Windows. I use tools for that (msconfig anyone). That is the purpose that winecfg should fill. If I need to lessen the amount of video memory, I should be able to do this through winecfg, not through regedit.
Point is you should *never* need to reduce the amount of vid memory under *any* circumstances, even if the "real solution" requires patches to be committed. It's simply a silly thing to do, if not dangerous.
James Mckenzie wrote:

austin987 wrote:
If we want to protect users from changing Wine,
We don't. You already said you can change this stuff via the registry. It just doesn't need to be
made any easier; the settings simply aren't that reliable or common enough to go in winecfg.
Really? I don't think so. Many conversations on users rotate around configuration settings and how to set them. Sure, you should not be able to change EVERY setting, but the more common ones should be there. Again, user warnings should be there too.
These advanced graphics registry keys *ARE NOT COMMON*. We do NOT protect users from changing settings, or we would have a hacked regedit/wineboot that rigidly enforces certain registry keys. We also do NOT need to make it easier for users to break Wine. It's already easy enough.
James Mckenzie wrote:
Wine already does very well not requiring graphics tweaks for games. In fact, graphics tweaks are
not required for 99% of the games I've *ever* tried to run in Wine (one game requires ddraw
renderer to be set to opengl, another looks marginally better if OffscreenRendererMode is set to
fbo). Again, I question the suggestion that these settings are common enough that they should be
available as settings in winecfg.
Again, I question why they are not there. We are dealing with ID10Ts in some cases that installed Linux and Wine to run games that are freely available in a Linux version.
Since we're dealing with id10ts, and only id10ts, we should also allow per-application hacks in Wine code so users don't even need to use these advanced settings in winecfg. Built-in application heuristics would prevent a lot of manual tweaking from being needed, but we all know it's not going to happen!

I really think that people like you who say "we need to cater to id10ts (much) more than people with brains" underestimate the average user, and that correctly educating users on how to do things *the right way* is much more productive.
James Mckenzie wrote: Why? Because all they know is Windows. They grew up with it and they could not even tell you, without prodding, what video card they are using.
And now they're not using Windows, they're using *nix + wine. Education is important. Complete newbs often *have* to be sent to their distro support channels to learn the basic stuff.

Fact is that, as much as things have improved, Wine is not user-friendly. I don't think it ever will be, not because it's "missing" settings in winecfg, but because of the way it works and what it has to deal with. Will we ever get to the point where we can say "pick a Windows app, any Windows app, and it will work in Wine without configuration, tweaking, patches, native DLLs etc."?
James Mckenzie wrote: We need to deal with these folks on a professional level.
Are you prepared to pay the supporters on wine-users, forum and #winehq? If not, don't expect "professional-level" support.
James Mckenzie wrote: Wine is missing a full winecfg and a Control Panel equivelent.
There is certainly room for improvement, but how much of Wine should be configurable via winecfg or the Control Panel?
James Mckenzie wrote:

austin987 wrote:
Working in #winehq/the forums a lot, I've got a bit less of a
developer mentality.
As a regular supporter in #winehq, I do *not* want to see a new wave of users going "my app is
broken" where the solution is "don't use those advanced graphics settings; hit the reset button".
That is my main concern with making it easy to change values that, in general, should never be
changed.
ID10Ts will always be there. You just have to deal with them or ignore them. The best line I seen here is: "If you wanted to run Windows, go to your local store, buy it and install it. Linux never has been nor will it ever be." Sadly, Windows is and will be the solution for most computer users. I remember the day when knowing the secret Lotus 1-2-3 startup settings made you a guru, although they were freely available and even on the hints card.
You seem to be saying there's no point in Wine, or even alternative operating systems such as Linux. It will never work for id10ts (and that's all we care about, right?) so they should just go and buy/install a copy of what they know and love instead.
James Mckenzie wrote: What you're talking about is essentially a quick hack to fix a handful of problems, hiding the bugs instead of fixing them. Wine devs don't like doing that.
I've met developers that don't even like looking at bug reports from testers. We have to provide USERS (they are why we are here unless we want to be a bunch of hobbyists) with a simple way of making changes.[/quote]

Obviously every single option that can be configured HAS TO BE AVAILABLE IN WINECFG THERE IS NO OTHER WAY! REGEDIT IS BAD AND EVIL AND FORCES PEOPLE TO MAKE ERRORS THAT BREAK EVERYTHING REALLY BAD AND IT'S NOT FIXABLE EVER.

No, no, no and no. We do NOT have to provide a simple way to make changes that do little but break stuff. We've already got enough of that.
James Mckenzie wrote: winecfg is the place, not regedit, not vi (or emacs if you swing that way). Get used to it.
These settings are not common enough for the *average* user to give a damn either way. It's very corner-case, "obscure app #34 needs this setting".
James Mckenzie wrote: When we fix a problem, we remove the setting from winecfg and ignore any changes made to the registry. This makes the user experience better and we can direct them how to make changes without having to send mumbo-jumbo to them that they continuously mess up.
James Mckenzie wrote: As I see it, developers THINK they know it all, which leads to a mess.
Obviously, everything AJ has ever done regarding code quality and correctness at the expense of making things "easy" is wrong.
James Mckenzie wrote: Let's get the solution where it needs to be, in the product. I agree that making these changes covers up the bug, but users are not going to wait a year or two for a bug to be fixed. They want a solution, and they want it TODAY. So, let's give it to them. I live by the accumen: Changes are possible, but do we really want to make that change? At this point, yes we should change winecfg.

James McKenzie
I get the feeling from the language you're using that you treat Wine like a corporate entity that only survives on making its users happy. There have been cases where known regressions in released devel versions make them practically unusable, so you get people either complaining their shiny new Wine is broken or that there is no shiny new Wine packaged for them (because the package maintainer won't package the broken release). In these cases, should the release be deferred until the regressions are fixed for the sole purpose of making users happy?

Before anyone decides to reply to this, there's been enough argument going on. We're not getting anywhere; the opinions are too polarised. I'm not saying I should have the last word, but we're just going to keep going around in circles.

Warren: Send your patch(es) to wine-patches and wine-devel. See what the devs say about it. With any luck, it will gain a response from AJ.
austin987
Wine Developer
Wine Developer
Posts: 2383
Joined: Fri Feb 22, 2008 8:19 pm

How can we improve WNE?

Post by austin987 »

Rather than quote everything over again, a few simple comments.

The settings are _not_ as rare as you think. I'm rarely in #winehq
(usually logged in, but not active), but I'm on wineusers a lot, and
read every single bugzilla e-mail. I'm also an admin on the AppDB, and
I have several dozen (albeit minor) patches committed to Wine. I know
_very well_ Wine's stance on hacks.

The point is that those settings are useful, and are used pretty
often. The argument that "It'll be fixed soon enough, and won't be an
issue" is a moot point. I filed that bug (add D3D options to winecfg)
6 months/_16_ wine versions ago. We still don't have sane defaults. If
this were to be fixed in the next release or two, I'd agree with you.
But the fact of the matter is that it's not as quick as you think it's
going to be.

Winecfg is there to make settings changes easier for commonly changed
(and some not so commonly changed) settings. Like I already said,
_everything_ in winecfg can be done elsewhere, including audio
settings/drive configurations. Changing these graphics settings is
_NOT_ as deadly as you think. It doesn't lead to data loss, only
crashes in some programs. Changing some native dlls has the same
effect. We allow users to set their DPI to deadly high levels, and
what do you know, there's a FAQ entry about it, for those who make the
mistake (http://wiki.winehq.org/FAQ#head-571dc6e ... d0422fdf04).
There's no reason we couldn't do the same for D3D apps (a lot of D3D
games don't work, what's the problem?). Check video drivers, upgrade
to latest wine, make sure you've tried with default D3D options, if
not, try changing ORM, etc.

As I've already said, we don't have to babysit users for everything.
We do some babysitting, granted (not running with sudo, not changing
C: drive in winecfg, not allowing overriding ntdll/user32/etc.), but
changing graphics settings is _completely_ different. It's not a
special case, simply because it'll be fixed soon, nor because it can
crash other applications. With a warning in place, it can help our
users run their applications more easily, and last I checked, that's
the point of winecfg.
man_in_shack
Level 2
Level 2
Posts: 16
Joined: Sun Apr 05, 2009 8:05 pm

Re: How can we improve WNE?

Post by man_in_shack »

austin987 wrote: The settings are _not_ as rare as you think. Blah blah blah.

The point is that those settings are useful, blah blah blah.
Yes they are and no they're not. There, answered. I win.

What part of "opinions are too polarised" did you not get?
austin987 wrote: We still don't have sane defaults.
So submit patches to fix that!
austin987 wrote: Blah blah blah not as quick as you think it's going to be.
Soon enough.
austin987 wrote: Blah blah blah
_NOT_ as deadly as you think. It doesn't lead to data loss, only
crashes in some programs. Changing some native dlls has the same
effect.
So make changing the DLLs to native easier too!
austin987 wrote: Blah blah blah babysit users for everything.
How many times, we're not! They have the whole registry to screw around with, and they have UsefulRegistryKeys to point them in the right direction.
austin987 wrote: Blah blah blah but
changing graphics settings is _completely_ different. It's not a
special case, simply because it'll be fixed soon, nor because it can
crash other applications. Blah blah blah.
When a setting is capable of crashing all but a handful of apps, I don't want to see it easy to set.

Leave this to better people to decide. Patchset belongs on wine-patches/wine-devel.

Blah.
austin987
Wine Developer
Wine Developer
Posts: 2383
Joined: Fri Feb 22, 2008 8:19 pm

How can we improve WNE?

Post by austin987 »

On Wed, Apr 8, 2009 at 12:10 PM, man_in_shack <[email protected]> wrote:

A) There was no reason to misquote me or make me appear ignorant by
changing my statements to blah blah blah.

Blah blah blah not as quick as you think it's going to be.
Soon enough.
That isn't a measurable amount. At that rate, bug 10000 may be fixed first.
When a setting is capable of crashing all but a handful of apps, I don't want to see it easy to set.
Please gather evidence for this. I don't see FBO causing more crashes
in applications than backbuffer currently does. And until you show
evidence that this is the case for a wide range of applications, your
argument is facetious.

--
-Austin
James Mckenzie

How can we improve WNE?

Post by James Mckenzie »

man_in_shack <[email protected]>
Sent: Apr 8, 2009 9:37 AM
To: [email protected]
Subject: [Wine] Re: How can we improve WNE?


James Mckenzie wrote:
But we are asking users that have a tenatous grasp of how to power on a computer to edit files that they should not even be touching.
regedit.
Again, these folks are IDIOTS and should not be let anywhere near this stuff. KISS is a princple that has to be pounded into some developers. I'll let you guess which category you are in. If you can provide a simple, easy to use graphical interface, that is MUCH better for them. BTW, I work with these people on a daily basis and you would be amazed that they want a PowerPoint presentation, with bullets, or you don't get what you want. Sure a simple e-mail message would get the point across but you have to work with what you have to work with.

James Mckenzie wrote:
I think the 'best solution' is to offer these settings via winecfg, until they are no longer needed or desired. Have winecfg do the 'behind the scenes' work to make the changes. Remember that we should follow the KISS principle: Keep it simple and stupid.
How about keep winecfg simple? I like this idea better.
I agree, but in the meantime, while we work through the problems, give the users what they need to get their programs working.
If we advise a user to use regedit and give them complete and comprehensive instructions, they will still mess it up AND blame us.
Then either the instructions are flawed or the user is beyond hope.
I'll take number two. However, these are the same users that plaster every blog in the blog-o-sphere with how bad Wine is. I have to bring forward something that I was told in my marketing class in college: A person who has a bad experience and feels that nothing was done will tell 100 of their friends about it (and this means the man-in-the-street as well); a person who has a good experience will tell four. This is what we have to overcome. Again, if you want Wine to be your hobby, continue pissing off users and that is what it will become. Most of the people here want people to use the product, have a good experience and tell their friends.
At least native DLLs are more predictable than changing OffscreenRenderingMode. They're also more
important to support, as there are obvious deficiencies in Wine (e.g. gdiplus and d3dx9_##) that
currently can't be resolved without native DLLs, due to completely missing implementations. Before
you argue that there's no way to resolve some games without OffscreenRenderingMode, it's not quite
the same category. In theory, with enough work, any OffscreenRenderingMode would work with any
game. In practice, we know this is not the case.
This is a defincency of both Wine, due to the lack of implementation, and of Windows, for poor coding practices. The best solution is to 'break' Wine in the same way that Windows is. The trick is that Windows has about 20 years head start.
Windows systems don't give the users neat graphical dialogues for every single setting that can be
configured. Is that broken? If so, does it make sense to break Wine the same way?
[/quote]
Of course, Windows does not give you the ability to change each and every setting, nor should Wine. However, settings that fix problems should be easy for users to find and set, with WARNINGS. This way, when a user comes to us, we can say "We warned you and you did it anyway". Right now, people are going through the archives, visiting the Applications Database and breaking Wine and then blaming us, rightfully so.
It's not the easiest or most obvious thing to force a DLL override to native in winecfg (not even
obvious to make it native,builtin). We also say "here, change the registry settings for advanced
Direct3D and OpenGL stuff manually, you're smart enough to figure it out with the
UsefulRegistryKeys page on the wiki" already. So, the argument doesn't seem hypocritical to me. If
anything, it's *easier* to change the settings according to UsefulRegistryKeys than it is to set
native DLLs, just due to the wording in the Libraries tab.
We should not be sending users to these pages.
So delete the pages, or rename it to UselessRegistryKeys. See how many friends you make doing
that. Why do the pages exist if it's not for users to look at?
We should have this information in the FAQs, where needed, and in the Applications Database. That is where we should be sending users, not to a page full of registry keys. Again, KISS is the word here and we are dealing with IDIOTS. If you get that, then the rest is easy.

James Mckenzie wrote:
Remember, if they break Wine, it is OUR fault.
Excellent logic. Flawless. No argument. None at all. Ever. Well done.
You got the user point of view or you are being seriously sarcastic. I've been in customer service for over 30 years. The streams of obsenities would make your hair curl from some users. And guess what, I was not kidding. That is how the average user sees things. "You told me to go to page XXX in the manual, I followed each instruction with extreme care, your program does not work, fix the xxxxx or give my my money back." I've been there, and I've had to send them to the refund department to get their money back. A few of these phone calls can make your day.
Been there, done that. And the results are not 'pretty'. We want to put our best effort into this project and the above paragraph has the word "LAZY" written all over it.
Making it very easy for people to break something horribly means a lot more effort has to go into
supporting the broken stuff, or at least diagnosing it. And, you may not realise this, but
diagnosing graphical glitches is hard enough already, we don't need anything to make it more
difficult.
You underestimate my capabilities, my friend. For instance, I work in the industry and applied a patch to a well known product yesterday that broke our processes. I have vendor support coming in today to fix it. This is frustrating, but it is something I deal with on a day to day basis. I'm well paid to do this. We don't need to fost a partial product on unsuspecting users without a method to help them. And dealing with graphic problems is what we are here to do. Users should have a simple way to make changes. Running them through regedit is not easy and subject to causing massive problems.
Either we fix the problem or get a real workaround on it.
The problems being talked about are simply not common enough for the changes to winecfg being proposed.
I understand the situation. Yes, winecfg needs to be worked on and this should be the method for now.
Editing the registry should ONLY be done if NOTHING else works, period. If we can provide an interface through winecfg, then that is where it should be. Of course, we can add the warning that using these changes can and will break your Wine for one or more applications, may back some folks off, but others will charge ahead.
Still sounds a lot like "Click here to break everything" to me. Not everything needs to be
configurable through winecfg, or winecfg would already be a complete registry editor.
I agree. What I'm saying is if a user has to change a commonly known setting, it should be available through winecfg. If it is not well known or deprecated, then it is time to get into regedit and only by knowledgable users.

James Mckenzie wrote:
And when they break Wine, we can come forth with "You were warned and you went ahead and did it anyway" and then follow up with the real fix.
"Real fix" is to code. Good luck with that. I dislike the idea of allowing users to hack at
settings that should not be hacked at as a quick fix. I dislike the idea of adding settings to
winecfg that we know are going to be removed later on. I dislike the idea of dealing with
disgruntled users who have broken Wine due to ease of breakage with these settings and then blame
us for making it easy to break.
I agree that the proper method is to fix the code. I also don't like for users to 'crack' around, but sometimes that is the ONLY solution to the problem that works. I don't like adding and removing things from a working program, but remember we are dealing with folks who don't even know what the registry is and they really don't care how it works. All they want (as Austin has pointed out) is for their favorite program to work. Be it Office 2007, WoW, dOOm III, or any other program. If we make it easy for them to get it running, that is much better. There will still be users that will want to see what happens when they click that button, and a warning message is not what they expect. If we do this, some will charge on, but they have been warned and we can state so when they do. If we put messages with registry settings here, an archive search will cause all sorts of problems.
These advanced graphics registry keys *ARE NOT COMMON*. We do NOT protect users from changing
settings, or we would have a hacked regedit/wineboot that rigidly enforces certain registry keys.
We also do NOT need to make it easier for users to break Wine. It's already easy enough.
Yet users complain that we hide stuff from them. Go figure that one out.
Again, I question why they are not there. We are dealing with ID10Ts in some cases that >>installed Linux and Wine to run games that are freely available in a Linux version.
Since we're dealing with id10ts, and only id10ts, we should also allow per-application hacks in
Wine code so users don't even need to use these advanced settings in winecfg. Built-in application
heuristics would prevent a lot of manual tweaking from being needed, but we all know it's not
going to happen!
You have got to visit the unoffical Wine repositories. There is a wealth of knowledge about hacking/cracking Wine that is to be gained. You will see hacks that will NEVER make it into Wine due to AJs controls. And I am glad they are there.
I really think that people like you who say "we need to cater to id10ts (much) more than people
with brains" underestimate the average user, and that correctly educating users on how to do
things *the right way* is much more productive.
Good luck with that thought. There are users out there that will jump on and abuse you in ways you never thought possible. Like I said, there are users that are attempting to use Linux/Wine that have difficulty grasping the concept of what the power button does. All they want to do is start the computer, click a few buttons and play away. Anything more than that is beyond their capabilities. I'm serious about this.
And now they're not using Windows, they're using *nix + wine. Education is important. Complete
newbs often *have* to be sent to their distro support channels to learn the basic stuff.
See my comment above. Take a look at the Ubuntu user support forum. It's scary how ignorant some users are.
Fact is that, as much as things have improved, Wine is not user-friendly. I don't think it ever
will be, not because it's "missing" settings in winecfg, but because of the way it works and what
it has to deal with. Will we ever get to the point where we can say "pick a Windows app, any
Windows app, and it will work in Wine without configuration, tweaking, patches, native DLLs etc."?
I agree. At one time it was said "DOS is not done until Lotus will not run." We are trying to work on a moving target and it has been this way since WinNT 3.5 was released (I worked on Project Oddin for OS/2 otherwise known as WinOS/2.) It would be great to be able to run any application, but that is not going to happen. We have to pick the most popular and go from there. The popularity list changes as new games are released and old ones are retired.

James Mckenzie wrote:
We need to deal with these folks on a professional level.
Are you prepared to pay the supporters on wine-users, forum and #winehq? If not, don't
expect "professional-level" support.
No, but then again, I bought CrossOver for Mac. And I plan on keeping up support to Jeremy and company. That is when I can complain about something not working.

James Mckenzie wrote:
Wine is missing a full winecfg and a Control Panel equivelent.
There is certainly room for improvement, but how much of Wine should be configurable via winecfg
or the Control Panel?
The same amount as is in msconfig and Control Panel. Users should not have to dig through the registry to make known changes.

austin987 wrote:
As a regular supporter in #winehq, I do *not* want to see a new wave of users going "my app is
broken" where the solution is "don't use those advanced graphics settings; hit the reset button".
That is my main concern with making it easy to change values that, in general, should never be
changed.
ID10Ts will always be there. You just have to deal with them or ignore them. The best line I
seen here is: "If you wanted to run Windows, go to your local store, buy it and install it. Linux
never has been nor will it ever be." Sadly, Windows is and will be the solution for most computer
users. I remember the day when knowing the secret Lotus 1-2-3 startup settings made you a guru,
although they were freely available and even on the hints card.


You seem to be saying there's no point in Wine, or even alternative operating systems such as
Linux. It will never work for id10ts (and that's all we care about, right?) so they should just go
and buy/install a copy of what they know and love instead.
I'm saying that we need to know when to tell someone that what they have will not meet their needs. That is what I do for a living. If a person does not display the ability to handle Linux and/or Wine or is frustrated with the lack of support for their favorite program, it may be time to tell them to install WindowsXP. If they can be guided, then we should help them, no matter what level they are at.

James Mckenzie wrote:
What you're talking about is essentially a quick hack to fix a handful of problems, hiding the bugs instead of fixing them. Wine devs don't like doing that.

I've met developers that don't even like looking at bug reports from testers. We have to provide
USERS (they are why we are here unless we want to be a bunch of hobbyists) with a simple way of
making changes.
Obviously every single option that can be configured HAS TO BE AVAILABLE IN WINECFG THERE IS NO OTHER WAY! REGEDIT IS BAD AND EVIL AND FORCES PEOPLE TO MAKE ERRORS THAT BREAK EVERYTHING REALLY BAD AND IT'S NOT FIXABLE EVER.
[/quote]
Did I state that? No. Winecfg should contain only those settings needed to get programs running and after a warning is displayed that other programs may and will break.

The real fix is to change code to get the programs working. Winecfg is a workaround.
No, no, no and no. We do NOT have to provide a simple way to make changes that do little but break stuff. We've already got enough of that.
And we have users whining about how to use the regedit. Remember, not everyone knows how or even wants to learn how. That is called arrogance and it REALLY is not good. We have to deal with problems from the user point of view. I know that is hard, but it has to be the trait of any good programmer.

James Mckenzie wrote:
winecfg is the place, not regedit, not vi (or emacs if you swing that way). Get used to it.
These settings are not common enough for the *average* user to give a damn either way. It's very
corner-case, "obscure app #34 needs this setting".
For some users, regedit is not scary. For some users, they have been told, rightfully, never, ever use regedit. Those are the users we have to have a solution for. You got one, and it CANNOT include the words, "take this file and run regedit against it". Won't happen, ever, for that user and they will walk away stating "Wine Sucks and the people who support it suck too." If we can say, go to the XX tab on winecfg and click this setting, they will do it. Of course, we will have to warn them that bad things can and will happen.

James Mckenzie wrote:
As I see it, developers THINK they know it all, which leads to a mess.
Obviously, everything AJ has ever done regarding code quality and correctness at the expense of
making things "easy" is wrong.
No, he has kept the code CLEAN. Easy is not his job. Correct and proper is. There is a vast difference.

I get the feeling from the language you're using that you treat Wine like a corporate entity that
only survives on making its users happy. There have been cases where known regressions in released
devel versions make them practically unusable, so you get people either complaining their shiny
new Wine is broken or that there is no shiny new Wine packaged for them (because the package
maintainer won't package the broken release). In these cases, should the release be deferred until
the regressions are fixed for the sole purpose of making users happy?
I'm not at that level of decision making. But I will ask you this: Would you release a program into the credit industry that would not process one of the big card issuers cards? That has happened. There was a real quick fix to the problem. If you are working with development level programs, you should expect problems. If you are working with release level code, there should be no 'show stopper' bugs, like Office 2003 not installing properly. Keep this in mind.
Before anyone decides to reply to this, there's been enough argument going on. We're not getting
anywhere; the opinions are too polarised. I'm not saying I should have the last word, but we're
just going to keep going around in circles.
You are correct here. Your attitude is that every Wine user should learn how to use regedit. Mine is much different because I have years of dealing with customers. One thing I will leave you with:
The Customer is the reason we are here today. WE must meet the customers needs and desires. Failure to do so will mean that we will NEVER see that customer again. Customers are ALWAYS right. They may be mis-informed, ignorant, stupid or even stubborn, but they ARE ALWAYS right.
Warren: Send your patch(es) to wine-patches and wine-devel. See what the devs say about it. With any luck, it will gain a response from AJ.
Please do. AJ has the sole right to reject any patch for any reason he sees fit. And I respect his right to do so.

James McKenzie
fcmartins
Level 4
Level 4
Posts: 114
Joined: Sat Nov 01, 2008 5:48 pm

Post by fcmartins »

James, I fully share your viewpoint, but I have to disagree with the use of the word "idiots", or derivatives. It is incorrect and can not help Wine.I have done quite a bit of helpdesk and learned to respect the users, which most IT people don't. They like to call users idiots, when in fact the users might just be ignorant in a fair way (no training, no time, no personal interest, other priorities - do their work, enjoy the game they paid). Even worse, often it is the fault of the IS system and it's all to easy to blame the user.

Sorry for the preaching, I understand you are an experience professional and you don't mean to be offensive on anyone (you are defending them), but I'm also an experienced IT professional, and I deeply dislike the lack of professionalism shown by this and other types of abuses of IT people on users (often taking advantage of their technical ignorance).
fcmartins
Level 4
Level 4
Posts: 114
Joined: Sat Nov 01, 2008 5:48 pm

Re: How can we improve WNE?

Post by fcmartins »

man_in_shack wrote: The solution to the above problem is separate wineprefixes, but if the intent is to make it *easy* to configure, then that doesn't help.

Sorry, but even if the general consensus of developers was "Yes, we should make it easier to change all these settings", the user supporters would then have to deal with brokenness of individual configurations akin to installing apps via ies4linux or wine-doors, or if someone thinks it's a good idea to install MS DirectX in wine.
This touches on another area of Wine weakness regarding usability. Although adding more options would aggravate the situation, as it stands, winecfg already allows for a change in a setting to mess up the next or previously installed application.

IMO, ideally, Wine(cfg) would support configurations per application. It just looks silly that I have to change settings each time I run an application that needs different settings from the previous. (of course, by then I already forgot which were the original settings I used).

I'm not sure the solution has to lead necessarily to different wine prefixes. Maybe it is sufficient to keep in the registry a set of winecfg settings per application (.../wine/winecfg/app_name/setting) which would be automatically re-set before the app is run.

Anyway, I think the concept of a wineprefix per application can be reasonably accepted by the users AND made transparent. Ideally winecfg would facilitate different wine prefixes, but this is arguable, i.e., maybe it falls better under the domain of "wine distributions".
James Mckenzie

How can we improve WNE?

Post by James Mckenzie »

fcmartins <[email protected]> on April 8th:
James, I fully share your viewpoint, but I have to disagree with the use of the word "idiots", or derivatives. It is incorrect and can not help Wine.I have done quite a bit of helpdesk and learned to respect the users, which most IT people don't. They like to call users idiots, when in fact the users might just be ignorant in a fair way (no training, no time, no personal interest, other priorities - do their work, enjoy the game they paid). Even worse, often it is the fault of the IS system and it's all to easy to blame the user.
I agree with your viewpoint, but there are folks out there that would not own a computer without the aid of Mr. Gates & company. There are stories about phone calls being taken where the user's monitor was not displaying and that there was a power outage. Fortunately, the receipiant of the call took the time to explain why the monitor was not working and the caller accepted the explanation. There are users out there that have no clue what a power switch is and what it is used for. I've dealt with them face to face and the solution was to hook up a power strip where they could shut everything off and turn it all back on. I don't put the blame on the user and I don't desire to call them stupid. They are not. As an example, my first wife was very computer illiterate and that worked to her advantage as she did not try to do things with computers they were not designed for. However, it took a friend of ours over eight hours to work through one page in Word with her. These are the folks I refer to as ID10Ts. There is the class of folks I call nOObs. They are familiar with Windows, know a little about how it works under the hood and just need a guiding hand to get where they need to be in Wine.
Sorry for the preaching, I understand you are an experience professional and you don't mean to be offensive on anyone (you are defending them), but I'm also an experienced IT professional, and I deeply dislike the lack of professionalism shown by this and other types of abuses of IT people on users (often taking advantage of their technical ignorance).
I don't try to take advantage of their ignorance. However, there is a point where you finish trying to drown the horse and figure that you are not going to make it drink. I've worked with that type of user. You can show them the movements of the mouse, the keys to click and they still manage to kill their computer on a weekly basis. Maybe they do it for fun, but it is definitely not malicious. Sometimes ignorance is bliss, but to some of us it is a major source of work. It mainly happens on a Friday afternoon, one-half hour before going home. These are the folks we need to KISS the system so that they will know what they are doing is dangerous and may cause serious damage. This is along the lines of running Wine as root and other actions.

Also, to any user that found my descriptions offensive, they are NOT meant for you. If you are reading this forum/mailing list, you are much smarter then the folks I'm talking about. I stand ready to assist you in getting your favorite program running with Wine, especially if you own a MacIntosh computer.

Very respectfully,

James McKenzie
Locked