WineHQ
Bug Tracking Database – Bug 31374

 Bugzilla

 

Last modified: 2015-12-16 10:00:40 CST  

Steam text invisible with dwrite.dll enabled

Bug 31374 - Steam text invisible with dwrite.dll enabled
Steam text invisible with dwrite.dll enabled
Status: CLOSED FIXED
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: dwrite
1.5.10
x86-64 Linux
: P2 trivial
: ---
Assigned To: Mr. Bugs
: download
: 31380 31395 31419 31425 31715 35638 36751 39479 (view as bug list)
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2012-07-31 16:09 CDT by Luke Bratch
Modified: 2015-12-16 10:00 CST (History)
81 users (show)

See Also:
Regression SHA1:
Fixed by SHA1: 44c301c584935fbe4a1e95e65306f5ec13791552
Distribution: ---
Staged patchset:


Attachments
Output with wine-1.5.10 and dwrite.dll enabled (31.49 KB, application/x-tar-gz)
2012-07-31 16:12 CDT, Luke Bratch
Details
Current log (11.55 KB, text/plain)
2012-08-13 21:09 CDT, Jaime Rave
Details
My settings (75.20 KB, image/png)
2012-12-19 03:39 CST, orianna
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Luke Bratch 2012-07-31 16:09:23 CDT
Bug 31320 fixed Steam crashing with dwrite.dll enabled, which was fixed by:

http://source.winehq.org/git/wine.git/commitdiff/7ef5661d546df99a26b639daf42e81c20156cc62

Now Steam starts with dwrite.dll, but all the text is invisible.  Disabling write.dll fixes the problem.
Comment 1 Luke Bratch 2012-07-31 16:12:53 CDT
Created attachment 41217 [details]
Output with wine-1.5.10 and dwrite.dll enabled
Comment 2 Mykal Valentine 2012-07-31 21:08:25 CDT
I can confirm that the text is invisible for me, as well, unless I disable dwrite.dll
Comment 3 Nikolay Sivov 2012-07-31 22:34:59 CDT
Yeah, I'm aware of that and it's expected after I added some stubs yesterday.
Comment 4 Yuri Shishenko 2012-08-01 12:52:24 CDT
In latest 1.5.9 version from git (wine-1.5.9-294-g0316a1b) Steam works fine without dwrite.dll disabling.
Comment 5 Austin English 2012-08-01 20:37:37 CDT
*** Bug 31380 has been marked as a duplicate of this bug. ***
Comment 6 Jonas Jelten 2012-08-02 06:03:32 CDT
wine Steam.exe -no-dwrite

made steam work again, disabling dwrite.dll did not help for me.
Arch Linux x86_64 3.5.0-2-ARCH wine 1.5.10
Comment 7 Alex 2012-08-02 18:08:15 CDT
As others have stated, launching with 
wine Steam.exe -no-dwrite
solves the problem.

Launched with wine Steam.exe
http://i.imgur.com/n4WFph.png

Launched with wine Steam.exe -no-dwrite 
http://i.imgur.com/O1Ya4h.png
Comment 8 Rosanne DiMesio 2012-08-03 13:09:23 CDT
*** Bug 31395 has been marked as a duplicate of this bug. ***
Comment 9 m4tx 2012-08-04 04:11:32 CDT
The bug affects me as well. Disabling dwrite.dll solves the problem.
Comment 10 Ing. Jan Kaláb 2012-08-04 06:37:08 CDT
Yup, I can also confirm that. It was fine in 1.5.9. Using -no-dwrite is a workaround for this.
Comment 11 Béla Gyebrószki 2012-08-06 11:14:44 CDT
Confirmed by multiple users
Comment 12 Cristina Botta 2012-08-06 14:18:39 CDT
I can also confirm it. Using -no-dwrite works for me too.
Comment 13 Artem S. Tashkinov 2012-08-06 15:17:38 CDT
*** Bug 31419 has been marked as a duplicate of this bug. ***
Comment 14 Béla Gyebrószki 2012-08-07 08:26:01 CDT
*** Bug 31425 has been marked as a duplicate of this bug. ***
Comment 15 Tomi Leppänen 2012-08-10 03:09:13 CDT
Described behavior confirmed here too. Arch Linux, wine-1.5.10.
Comment 16 Per Johansson 2012-08-11 17:19:04 CDT
This is a regression caused by including a builtin dwrite.dll in commit 3a724d58eba31666af3886d759371507f8cddd50

Until more of dwrite is implemented, I'm not sure there's much to do except the known workarounds
Comment 17 Per Johansson 2012-08-11 17:37:24 CDT
Sorry, I wasn't running the wine binary I thought I was. Reverting 0ccdda1262c84c3bab7fb1136ac97c92faf30830 actually fixes it.
Comment 18 Nikolay Sivov 2012-08-13 20:08:58 CDT
Please attach plain terminal output running current git wine (no flags needed). Output from displaying login window is enough and will reduce log size.
Comment 19 Jaime Rave 2012-08-13 21:09:36 CDT
Created attachment 41362 [details]
Current log

This is with wine-1.5.10-69-g6bfc07e
Comment 20 Real Name 2012-08-17 12:32:35 CDT
Confirmed in Arch Linux with Wine 1.5.10
Comment 21 Igor Demyanov 2012-08-24 06:35:21 CDT
Confirmed in Ubuntu 12.04 with Wine 1.5.11
workaround:
wine Steam.exe -no-dwrite
Comment 22 Artem S. Tashkinov 2012-08-24 07:12:57 CDT
People,

please *STOP* confirming this bug, wine developers are perfectly aware of it.

Thank you.
Comment 23 AG 2012-08-24 21:12:51 CDT
I also am having serious issues. More than just no text (the "fix" does not work anymore for me).

I just updated whole computer (KDE/ArchLinux) and had to use the DLL fix to be able to update Steam. Once it was updated, it closed itself/crashed and upon reopening, no text. DLL fix no longer worked, AND SkyrimLauncher.exe crashes every time.

d'oh....
Comment 24 Michael Abbott 2012-08-25 05:29:58 CDT
Note that when steam restarts itself (after an update), it doesn't apply the -no-dwrite flag, so a second manual restart with this flag is required.  I'm not seeing the problem reported by AG, and am also on Arch.

By the way, the severity of this problem is not "trivial", it is at best "minor":

    minor	For minor loss of functionality, or other problem where an easy workaround is present

    trivial	For a UI glitch that doesn't affect running of a program

Steam is unusable without the workaround, so "trivial" is inapplicable.
Comment 25 Yuri Shishenko 2012-08-25 08:00:33 CDT
(In reply to comment #24)
> Note that when steam restarts itself (after an update), it doesn't apply the
> -no-dwrite flag, so a second manual restart with this flag is required.  I'm
> not seeing the problem reported by AG, and am also on Arch.
> 
> By the way, the severity of this problem is not "trivial", it is at best
> "minor":
> 
>     minor    For minor loss of functionality, or other problem where an easy
> workaround is present
> 
>     trivial    For a UI glitch that doesn't affect running of a program
> 
> Steam is unusable without the workaround, so "trivial" is inapplicable.

That's why do not use this flag. Just disable dwrite.dll in winecfg. This is workaround.
Comment 26 rkfg 2012-09-02 16:20:17 CDT
Does broken fonts in the overlay count? I've disabled dwrite.dll and using -no-dwrite flag but I still have messy overlay: http://i.imgur.com/ddX6c.png some text is missing and some graphical glitches are there, too (I didn't edited this screenshot at all to hide nicknames and such, it really looks like this). Wine 1.5.12. Steam works totally ok but the overlay doesn't and it looks bound since menus in the overlay lack text, too.
Comment 27 rkfg 2012-09-02 16:29:05 CDT
Hmm, after restarting TF2 everything is in place though overlay closes on moving mouse (that's another known bug, I know).
Comment 28 Yuri Shishenko 2012-09-02 22:06:02 CDT
(In reply to comment #27)
> Hmm, after restarting TF2 everything is in place though overlay closes on
> moving mouse (that's another known bug, I know).

(In reply to comment #27)
> Hmm, after restarting TF2 everything is in place though overlay closes on
> moving mouse (that's another known bug, I know).

This is bug #24682 and it still unconfirmed.
Comment 29 Yuri Shishenko 2012-09-15 00:49:47 CDT
Steam Big Picture doesn't work with disabled dwrite.DLL.
Comment 30 Nikolay Sivov 2012-09-15 01:24:36 CDT
(In reply to comment #29)
> Steam Big Picture doesn't work with disabled dwrite.DLL.

Remove it then.
Comment 31 RealGecko 2012-09-15 12:18:26 CDT
Wine 1.5.12, Arch x86. No text in Steam unless "wine Steam.exe -no-dwrite" is used.
Comment 32 TestSubject 2012-09-16 10:48:30 CDT
(In reply to comment #30)
> (In reply to comment #29)
> > Steam Big Picture doesn't work with disabled dwrite.DLL.
> 
> Remove it then.

You might actually work on fixing this bug instead. I myself have another commit to try to revert when compiling wine.
Comment 33 TestSubject 2012-09-16 10:49:31 CDT
(In reply to comment #30)
> (In reply to comment #29)
> > Steam Big Picture doesn't work with disabled dwrite.DLL.
> 
> Remove it then.

Apologies, that may have been unwise. I just hope there's some progress soon. I don't understand why this bug exists in the first place.
Comment 34 Austin English 2012-09-16 16:19:33 CDT
*** Bug 31715 has been marked as a duplicate of this bug. ***
Comment 35 Fredrik Mikker 2012-09-25 17:48:29 CDT
Confirmed on Ubuntu 12.04
Comment 36 orianna 2012-10-22 03:54:42 CDT
where can i find the place to disable dwrite help pls !
Comment 37 RealGecko 2012-10-22 04:06:20 CDT
(In reply to comment #36)
> where can i find the place to disable dwrite help pls !

Run "wine Steam.exe -no-dwrite" from command line.
Comment 38 orianna 2012-10-22 04:31:57 CDT
sorr y, but where is the command line?
Comment 39 Per Johansson 2012-10-22 04:42:11 CDT
There are several workarounds mentioned in the comments, please read them.

IMO, easiest is to run winecfg, go to libraries, and mark dwrite as "native" or "disabled"
Using steam.exe -disable-dwrite is also possible, but doesn't work when steam relaunches automatically or through the URL shortcuts.
Comment 40 RealGecko 2012-10-22 04:44:25 CDT
(In reply to comment #38)
> sorr y, but where is the command line?

Run Konsole if you use KDE or gnome-terminal if you use Gnome, there is also lxterminal under LXDE. Navigate to directory containing Steam.exe and run command mentioned above.
Comment 41 orianna 2012-10-22 05:29:22 CDT
ok guys, iv done everything you told me. winecfg>libraries> -dwrite disable

it still doesnt work for me, anyone know why?
Comment 42 joaopa 2012-10-22 05:56:59 CDT
It is not a user forum.
Comment 43 rob 2012-10-22 09:59:42 CDT
1.4.15 and still affected
Comment 44 Marti Raudsepp 2012-10-30 13:34:36 CDT
Obviously Steam is a very popular application among Wine gamers.

This bug has been open 3 months now and spanned 6 releases, so Wine developers are not in a haste to apply a proper fix for the problem. Until that happens, why not just revert the dwrite patch that caused the regression in the first place?
Comment 45 Bruno Jesus 2012-10-30 13:54:27 CDT
(In reply to comment #44)
> Obviously Steam is a very popular application among Wine gamers.
> 
> This bug has been open 3 months now and spanned 6 releases, so Wine developers
> are not in a haste to apply a proper fix for the problem. Until that happens,
> why not just revert the dwrite patch that caused the regression in the first
> place?

Nikolay has been working in dwrite as you can see:
http://source.winehq.org/git/wine.git/history/HEAD:/dlls/dwrite
Comment 46 Jerome Leclanche 2012-10-30 13:55:15 CDT
(In reply to comment #44)

Because the issue comes from dwrite.dll existing in the first place but not being good enough. There's still work being done on dwrite, so there is no reverting it at this point.
Comment 47 Nikolay Sivov 2012-11-06 23:26:58 CST
Apparently there's a way to disable it from UI, there's a checkbox in Interface tab of Settings.
Comment 48 Cyrus Emerson 2012-11-22 19:47:19 CST
How do you input -no-dwrite.dll?
 Where do i type that in?!
Comment 49 Yuri Shishenko 2012-11-23 08:56:54 CST
(In reply to comment #48)
> How do you input -no-dwrite.dll?
>  Where do i type that in?!

wine ./steam.exe -no-dwrite

OR

env WINEPREFIX=/your/steam/prefix winecfg
goto libraries tab and set dwrite.dll to disabled.
Comment 50 Linards 2012-12-01 13:29:07 CST
Confirming the issue on 1.5.17.

Also confirming the workaround in Fedora 17 x64.
Comment 51 orianna 2012-12-19 03:35:08 CST
i stll dont get it :XD someone help me please. maybe pictures or something please.
Comment 52 orianna 2012-12-19 03:39:03 CST
Created attachment 42847 [details]
My settings

these are the settings im on
Comment 53 orianna 2012-12-19 03:40:49 CST
or could anyone just upload a working version of their wineskin with steam and dwrite and all settings ready to go onto rapidshare or etc.
Comment 54 Javier Kohen 2012-12-19 15:41:53 CST
(In reply to comment #51)
> i stll dont get it :XD someone help me please. maybe pictures or something
> please.

Let me try to explain step by step:
0. You were told before: this is not the place for user support.
1. Find a mailing list or user forum. Start here: http://www.winehq.org/forums
2. Post your question there.
3. Get useful answers — Profit.

I don't want to be rude, but you aren't showing much respect by repeatedly posting here.

And to other prospective posters: the developers don't need "me too" updates, they have confirmed the issue. They explained that they need to finish a new feature before it will work. If this bothers you use the workaround, switch to wine stable, or wait in silence, but stop updating the bug.
Comment 55 Josef Schlehofer 2013-06-22 17:03:55 CDT
Still happens on latest version
Comment 56 Marti Raudsepp 2013-07-10 06:57:07 CDT
This problem still affects Wine 1.6rc4

This should be a blocker for the 1.6 release (it's a regression from 1.5.x).
Comment 57 Austin English 2013-07-10 13:06:24 CDT
(In reply to comment #56)
> This problem still affects Wine 1.6rc4
> 
> This should be a blocker for the 1.6 release (it's a regression from 1.5.x).

It's a new feature, so it's not considered a regression.

There's an easy workaround, disable dwrite.dll.
Comment 58 Jerome Leclanche 2013-07-10 13:34:32 CDT
Steam ships with an option to disable dwrite from their options now.
Comment 59 Marti Raudsepp 2013-07-10 17:39:14 CDT
(In reply to comment #57)
> It's a new feature, so it's not considered a regression.

It's a regression in a program that used to work before (a popular one at that).

Before the response was "this is an unstable Wine version, we will fix it later, downgrade to stable"

Doesn't this indicate a problem in Wine's release management, that regressions are introduced, fixes delayed and then never materialize. Finally a new *stable* version gets released that breaks a popular application, even though the bug was known for a year?

(See comment #54)
> the developers don't need "me too" updates,
> they have confirmed the issue. They explained that they need to finish a new
> feature before it will work. If this bothers you use the workaround, switch to
> wine stable, or wait in silence, but stop updating the bug.
Comment 60 Michael Abbott 2013-07-11 02:12:46 CDT
(In reply to comment #57)
> It's a new feature, so it's not considered a regression.

Wow.  If you tried that line on the linux kernel, Linus would eat you alive.
Comment 61 rkfg 2013-07-11 03:02:05 CDT
What's the reason behind enabling this feature by default if it breaks one of the most popular apps? Why not make a temporary registry flag to ENABLE it (like DWORD EnableBuiltinDwrite) and DISABLE it by default so no one needs to get frustrated and google for the solution? I really don't see any improvement with this feature at its current state. I see a regression though. So until it can be really used without breaking anything it's wise to make it optional. I'd also like to propose disabling GLSL by default since the only thing it makes is stuttering and lowering FPS in games. Same reason.
Comment 62 Jerome Leclanche 2013-07-11 04:19:55 CDT
(In reply to comment #60)
Issue trackers are for the developers' convenience. In this project, developers find it convenient to identify regressions when they are actually caused by issues in the code, rather than new features suddenly being used by the application. It's 100% irrelevant how Linus or anyone else might react in a different project.

As for disabling it by default, that's not going to happen. This bug only affects steam, and not only does steam have a flag to disable dwrite, dwrite.dll can also be disabled from winecfg.
If you install steam from winetricks, this is taken care of automatically. This is as convenient as it gets. More noise in this bug isn't going to make the devs change their mind.

The best things you can do to help it:
 - Buy crossover. The money goes to Wine devs; you might also be able to set up a bounty on this bug from there. Also I think dwrite might be disabled on Steam in crossover.
 - Actually work on this bug and submit hard code (I'm sure even tests would help).

For some reason though, I doubt you'll do either of those things because *disabling dwrite is extremely easy already* (and a hell of a lot easier than writing code or shelling out money). There's absolutely nothing wrong with that, but afterwards you can't come in here all entitled and expect devs to follow your will rather than how things arrange *them*.

Regardless, this will not make the 1.6 cut. Wine is in the release candidate stages and that's simply too late for major features like these.
Comment 63 Rosanne DiMesio 2013-07-11 07:31:42 CDT
(In reply to comment #61)
> What's the reason behind enabling this feature by default 

So users will test it by default. That is the purpose of the development branch: testing. 

> So until it
> can be really used without breaking anything it's wise to make it optional.

It is optional. Extremely easy ways to turn it off have already been pointed out.
Comment 64 Marti Raudsepp 2013-07-11 07:45:32 CDT
(In reply to comment #63)
> > What's the reason behind enabling this feature by default 
> 
> So users will test it by default. That is the purpose of the development
> branch: testing. 

The what? We're not talking about "testing branches" here, we're talking about the 1.6.0 release, which is a stable release.

And what's the point of making users "test" something that's known to be broken for a year?
Comment 65 Rosanne DiMesio 2013-07-11 10:03:20 CDT
(In reply to comment #64)

> The what? We're not talking about "testing branches" here, we're talking about
> the 1.6.0 release, which is a stable release.
> 

Well, I think that gets into the question of what purpose, if any, the "stable" branch serves. From what I've observed, it seems to serve two purposes: a security blanket for users who need one, and a reason to impose a code freeze once in awhile. Nobody cares about the first reason except the silly people who fall into that category. As for the second reason, since the issue here is completing an incomplete new feature, I suspect that code freeze means it can't be worked on until after 1.6 is released.  

> And what's the point of making users "test" something that's known to be broken
> for a year?

Incomplete is not the same as broken. New features are added to Wine in small parts, so each part can be tested and problems identified early, before something else is added that depends on behavior that turns out to be a real bug. In practice, this means that for a period of time when a new feature is being introduced, fixing one problem just leads you to next. That's what happened in this case--the first bug was a crash. 

(In reply to comment #59)
> 
> Before the response was "this is an unstable Wine version, we will fix it
> later, downgrade to stable"
> 

I don't know where you imagine you saw the advice to downgrade to the stable release, but it's nowhere in this bug report.
Comment 66 Jan Buecken 2013-07-11 16:55:05 CDT
Tried to find good words for a while now - did not find them - anyway:

I want to start with a question that hopefully brings us a step ahead:

What can we (the community) deliver to fix the bug? Logs, debug output? 
(Don't tell me to send a patch, I want a serious answer. I think there are people out there who know gdb and similar things but not the (dwrite) wine code.)

I think this is the place to work on bugs, independet when they will be fixed.

So I'm sorry that I mention my own opinion in the following lines, but I found some points that took my breath.

@ Jerome
> It's 100% irrelevant how Linus or anyone else might react in a
different project.
He just forgot the <sarcasm> quotes. Me too.

> Wine is in the release candidate stages and that's simply too late for major features like these.
Of course. Following this strictly, incomplete features should be disabled!

> As for disabling it by default, that's not going to happen.
Your last statement is contrary to this statement.

@Rosanne:
> Well, I think that gets into the question of what purpose, if any, the "stable" 
> branch serves. From what I've observed, it seems to serve two purposes: a
> security blanket for users who need one, and a reason to impose a code freeze
> once in awhile. Nobody cares about the first reason except the silly people
> who fall into that category.

<sarcasm on> This category does not exits since they do not get a security blanket since there is no difference between wine dev and wine stable <sarcasm off>

> As for the second reason, since the issue here is
> completing an incomplete new feature, 
> I suspect that code freeze means it can't
> be worked on until after 1.6 is released.  

And now I found a contrary in your statment, too. What does "code freeze" mean?
For me it means: All known bugs should be worked on and new features cannot go in the new release.
On the one hand you can say this is an existing feature since 1.5.10, so it should be fixed for 1.6. On the other hand you can say this is a new feature. But then it should be disabled in 1.6 since incomplete new features cannot go in 1.6. That does the code freeze tells us.
Comment 67 Bruno Jesus 2013-07-11 18:41:05 CDT
Please open a forum thread for further discussions. Let's try to keep this bug report clear from now on.
Comment 68 Felipe Contreras 2013-08-24 15:33:22 CDT
(In reply to comment #62)
> It's 100% irrelevant how Linus or anyone else might react in a
> different project.

In Linux, and any reasonable project, a feature that turns out to be broken gets immediately disabled until it's fixed.
Comment 69 Bruno Jesus 2014-02-21 21:15:41 CST
*** Bug 35638 has been marked as a duplicate of this bug. ***
Comment 70 Chris Harris 2014-04-01 16:27:53 CDT
OK I FOUND A SOLUTION
go in wine config and add steam as an application then go to libraries and type dwrite
click add
click edit
select native
once you do that launch steam and enjoy
Comment 71 ax 34noff 2014-04-02 04:47:47 CDT
it's not solution, it's band-aid workaround
Comment 72 Nikolay Sivov 2014-06-16 22:54:08 CDT
*** Bug 36751 has been marked as a duplicate of this bug. ***
Comment 73 Maik Wagner 2014-08-05 09:05:39 CDT
wine 1.7.23 on openSUSE Factory Rolling Release here. I am also affected by this bug. The login screen doesn't display any fonts and typing in some fields also doesn't print characters.
Comment 74 Felix Zielcke 2014-10-03 09:33:01 CDT
In the meanwhile there was some work with direct write.
But there's still no text in Steam with todays wine 1.7.28
Comment 75 Maik Wagner 2014-12-16 00:34:03 CST
Still present in wine-1.7.32
Comment 76 Egor Zaharov 2015-02-18 18:02:58 CST
Confirmed on openSUSE Tumbleweed with Wine 1.7.36
Comment 77 Teras 2015-02-18 18:54:51 CST
Does anyone really know what exactly needs to be fixed that this starts to work? There has been a lot work towards dwrite, but it still doesnt work with steam.
Comment 78 Nikolay Sivov 2015-02-19 02:04:02 CST
(In reply to Teras from comment #77)
> Does anyone really know what exactly needs to be fixed that this starts to
> work?

A lot of things.

> There has been a lot work towards dwrite, but it still doesnt work
> with steam.

No, it doesn't. When it's done it will be mentioned in this report. In the meantime it makes no sense to confirm it over and over again.
Comment 79 J.B.Thompson 2015-06-11 09:45:04 CDT
1.7.44-staging still need to disable dwrite(windows 7) to display text fonts. Notices after some using wine current prefix.
Comment 80 Nikolay Sivov 2015-07-31 17:29:44 CDT
This works for me now, after http://source.winehq.org/git/wine.git/commit/44c301c584935fbe4a1e95e65306f5ec13791552. Please open separate reports if something doesn't look right, don't reuse this one.
Comment 81 Fab 2015-07-31 18:49:39 CDT
(In reply to Nikolay Sivov from comment #80)
> This works for me now, after commit 44c301c.

Awesome. Thanks.
Comment 82 Alexandre Julliard 2015-08-07 10:58:41 CDT
Closing bugs fixed in 1.7.49.
Comment 83 Rosanne DiMesio 2015-10-20 08:08:27 CDT
*** Bug 39479 has been marked as a duplicate of this bug. ***


Hosted By CodeWeavers