Fonts are rendered only as rectangles

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
maldata
Newbie
Newbie
Posts: 3
Joined: Sat Sep 16, 2017 4:26 pm

Fonts are rendered only as rectangles

Post by maldata »

I'm running an application in Wine, and it looks like all the text characters are just rectangles. Upon googling the issue, I see a lot of reports that seem similar, but the rectangles I'm talking about aren't the "missing character" UTF-8 rectangles that you see when a character is missing. In my case, it sort of looks like each character's bounding box is drawn correctly, but there's no character in it. For example, some screenshots:

https://imgur.com/a/54hYCoe
https://imgur.com/a/JsEnG5f

I don't even know how to begin debugging this, partially because it's hard to describe the problem to google without coming across the other "font rectangle" problem.

For reference, this is on a Gentoo system, AMD64, wine staging 3.17. I installed the corefonts package, and also ran

Code: Select all

winetricks allfonts
The Windows application in question is MTG: Arena (open beta). I can install the application on an Arch machine with the same version of wine, and it does not exhibit the same behavior.

Does this issue sound familiar to anyone? Thanks!
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Fonts are rendered only as rectangles

Post by Bob Wya »

@maldata
  • Can you supply your full app-emulation/wine-staging:3.17 Portage build log?
  • Can you supply a Wine terminal log with:

    Code: Select all

    export WINDEBUG=+dwrite,+font
    strace wine ... &>~/wine-staging-17_strace_dwrite_font_log.txt
    On a pastebin-type site.
Ta
Bob
maldata
Newbie
Newbie
Posts: 3
Joined: Sat Sep 16, 2017 4:26 pm

Re: Fonts are rendered only as rectangles

Post by maldata »

Thanks, Bob. These files are gigantic, though. The build log is 10 MB, and the strace is about 155 MB.

Here are the links:
Build log
strace

Something occurred to me while trying to debug. I have an older PC with an older nvidia GPU. It uses the legacy drivers, and at some point I thought I saw something about warnings due to an older version of the OpenGL API or something. I saw it while messing with WINEDEBUG, and I can't remember which flags I set. Anyway, I might try switching from nvidia's OpenGL implementation to mesa and see if that helps, but I don't know why that would have anything to do with font rendering.

If you think of anything, let me know. Thanks for the help!
maldata
Newbie
Newbie
Posts: 3
Joined: Sat Sep 16, 2017 4:26 pm

Re: Fonts are rendered only as rectangles

Post by maldata »

I changed my OpenGL implementation from nvidia to mesa:

Code: Select all

$ eselect opengl list
Available OpenGL implementations:
  [1]   nvidia
  [2]   xorg-x11 *
# eselect opengl set 2
And now everything seems to look fine. This might be due to my old GPU with legacy nvidia drivers.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Fonts are rendered only as rectangles

Post by Bob Wya »

maldata wrote: And now everything seems to look fine. This might be due to my old GPU with legacy nvidia drivers.
The games minimum system requirements, on Windows, are:
A. Minimum Requirements:
Processor: AMD Athlon 64 X2 Dual Core 5600+ or Equivalent
Graphics Card: GeForce GTX 8800 or Equivalent
RAM: 2 GB
Operating System: Windows 7
from: MTG Arena FAQ.

Looking at: Nvidia: Current graphics driver releases ...

You seem to be running a very out-of-date driver.
Surely you should be using at least Nvidia driver version: 304.137 ?!
That driver version supports way, way back to a GeForce 6 card.
Are you really running such an old card?

I consider my Desktop machines Nvidia Geforce 8800 GTX card to be completely obsolete - which is why that machine is currently in bits... 8)

If that is the newest driver your card can run (i.e. it's a Geforce 6 or Geforce 7 series card), then it has truly had the Nvidia life support turned off... :|
So you'd probably be better off using the nouveau driver.

Btw this also looks funky in your app-emulation/wine-staging-3.17 build log:

Code: Select all

/sbin/ldconfig: /usr/lib64/libcuda.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib64/libnvidia-cfg.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib64/libvdpau.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib64/libvdpau_trace.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib64/libXvMCNVIDIA.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib64/libvdpau_nvidia.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib64/libnvidia-tls.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib32/libcuda.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib32/libvdpau_trace.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib32/libvdpau_nvidia.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib32/libnvidia-tls.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib64/tls/libnvidia-tls.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib64/tls/libnvidia-tls.so.1 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib32/tls/libnvidia-tls.so.185.18.14 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig: /usr/lib32/tls/libnvidia-tls.so.1 is not an ELF file - it has the wrong magic bytes at the start.
For everyone's sanity (especially mine!)...
It's nicer to pipe your Gentoo build logs through a ANSI colour code stripper, e.g.:

Code: Select all

gunzip -c app-emulation:wine-staging-3.17:20180930-141309.log.gz | perl -pe 's/\x1b\[[0-9;]*[mGKH]//g'
before posting them online. Otherwise the log file will be spammed by colour code sequences (well actually the printable parts of them).

I've got that perl command aliased in my shell:

Code: Select all

alias strip-ansi="perl -pe 's/\x1b\[[0-9;]*[mGKH]//g'"
Bob
Locked