In many cases Windows programs run ok in Wine, but there is still the annoying problem of their appearance.
How to make things look better in Wine, especially fonts?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.
Sign up to join this communityThe solution below is to be considered in the context of the progress made by playonlinux - which now is very much able to provide out of the box, at least for the programs considered when this answer was first posted, like foobar2000, the needed tweaks for best GUI appearance of Wine applications.
If you don't like Playonlinux and only use Wine directly feel free to comment and/or edit this answer on Wine-only issues.
Considering GTK theming in Wine: see last part of this answer.
winefontssmoothing_en.sh
and run in Terminal using command bash winefontssmoothing_en.sh
:#!/bin/sh # Quick and dirty script for configuring wine font smoothing # # Author: Igor Tarasov <[email protected]> WINE=${WINE:-wine} WINEPREFIX=${WINEPREFIX:-$HOME/.wine} DIALOG=whiptail if [ ! -x "`which "$WINE"`" ] then echo "Wine was not found. Is it really installed? ($WINE)" exit 1 fi if [ ! -x "`which "$DIALOG"`" ] then DIALOG=dialog fi TMPFILE=`mktemp` || exit 1 $DIALOG --menu \ "Please select font smoothing mode for wine programs:" 13 51\ 4\ 1 "Smoothing disabled"\ 2 "Grayscale smoothing"\ 3 "Subpixel smoothing (ClearType) RGB"\ 4 "Subpixel smoothing (ClearType) BGR" 2> $TMPFILE STATUS=$? ANSWER=`cat $TMPFILE` if [ $STATUS != 0 ] then rm -f $TMPFILE exit 1 fi MODE=0 # 0 = disabled; 2 = enabled TYPE=0 # 1 = regular; 2 = subpixel ORIENTATION=1 # 0 = BGR; 1 = RGB case $ANSWER in 1) # disable ;; 2) # enable MODE=2 TYPE=1 ;; 3) # enable cleartype rgb MODE=2 TYPE=2 ;; 4) # enable cleartype bgr MODE=2 TYPE=2 ORIENTATION=0 ;; *) rm -f $TMPFILE echo Unexpected option: $ANSWER exit 1 ;; esac echo "REGEDIT4 [HKEY_CURRENT_USER\Control Panel\Desktop] \"FontSmoothing\"=\"$MODE\" \"FontSmoothingOrientation\"=dword:0000000$ORIENTATION \"FontSmoothingType\"=dword:0000000$TYPE \"FontSmoothingGamma\"=dword:00000578" > $TMPFILE echo -n "Updating configuration... " $WINE regedit $TMPFILE 2> /dev/null rm -f $TMPFILE echo ok
select third option in terminal - with the arrows, then use tab key to select ok and 'enter'
(source here)
winecfg
(Wine/Configure Wine/Desktop Integration) like "Luna", or "Royale".winecfg
(Wine/Configure Wine/Graphics), which will make general details (including fonts) larger (if that's what you need: on my laptop appearance details of wine programs are too small by default) But the images above are taken after enabling font smoothing. That is the most important action, as I was able to test. As I had to reinstall Wine at some point, I also had to restart all procedures here. Using all the other solutions (including installing all fonts as suggested in Shauna's answer - which is very advisable, and to be considered as a part of the solution to this question) -- with the exception of font smoothing, Foobar2000 looked like so:
After font smoothing:
Important: Changing settings in winecfg
may reset font smoothing, so it is better to run that in the end, or re-enable it when fonts seem ugly.
(mentioned by this more recent answer), the results may vary depending on the Linux desktop and the different applications. The GTK theming in Wine seems a matter of preference as it is debatable whether a GTK theme on a Windows program looks better than a Windows-theming.
Example for Foobar2000:
In Ubuntu:
In elementaryOS:
Not much improvement compared to msstyle Luna by default in Playonlinux:
In Playonlinux GTK theming seems absent even with the latest Wine-staging version available, as adding a Wine-staging version to a virtual drive in Playonlinux , the "Staging" tab appears in Wine configuration for that drive, but "Enable GTK Theming" is grayed-out.
That is because what is needed is not any staging version of wine, but the winehq-staging
package, which cannot be installed in Playonlinux.
UPDATE: I see that in later versions of Playonlinux, at the date of this edit (Nov.2018) the staging versions of wine in Playonlinux do not display at all the greyed-out gtk option mentioned above.
Make sure to install the fonts:
winetricks allfonts
Font issues are generally due to the program using TrueType fonts that don't come with Linux or Wine. Installing them via Winetricks (which comes with current versions of Wine), should solve your font problem.
First of all... This section helped me configure Wine to get the right appearance for Photoshop CS6.
Sometimes winetricks allfonts
doesn't work very well. Occasionally you may receive errors on the SHA1 sum for some fonts if they are updated and not yet reflected in the winetricks script.
The current winetricks version in the repos for the Droid Font points to http://android.git.kernel.org which is currently down due to hackers so:
sudo gedit /usr/bin/winetricks
Look for something like this:
load_droid()
{
# See http://en.wikipedia.org/wiki/Droid_(font)
And change DROID_URL around line 6867 to:
DROID_URL='https://www.codeaurora.org/gitweb/quic/la/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/'
I also had to change the SHA1 sum for font "Droid Sans Fallback" located around line 6059 to:
do_droid DroidSansFallback.ttf "Droid Sans Fallback" 2f8a266389a8e22f68f402b775731eec6b760334
If you receive any other error find the offending "font-name" and calculate the new SHA1 and amend the value in winetricks:
cd ~/.cache/winetricks/font-folder
sha1sum font-name
sudo gedit /usr/bin/winetricks
And change the value with new calculation!
This tip works with Elementary OS too. But you need to change gedit and use scratch-text-editor.
For a better system appearance install a windows msstyle file in winecfg (Wine/Configure Wine/Desktop Integration) like "Luna", or "Royale".
I don't have the reputation to comment the accepted answer, so I will put my comment here.
Another official msstyle file from MS servers.
Just installed the .msi
file and I was able to select 'Zune Style' from Wine Configuration dialog.
winehq-staging
:From https://wiki.winehq.org/Ubuntu:
If your system is 64 bit, enable 32 bit architecture (if you haven't already):
sudo dpkg --add-architecture i386
Add the repository:
For Ubuntu 18.10:
wget -nc https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Ubuntu_18.10_standard/Release.key
sudo apt-key add Release.key
sudo apt-add-repository 'deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Ubuntu_18.10_standard ./'
For Ubuntu versions prior to 18.10:
wget -nc https://dl.winehq.org/wine-builds/Release.key
sudo apt-key add Release.key
sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/
Update the package list:
sudo apt-get update
Then install:
sudo apt-get install --install-recommends winehq-staging
If apt-get complains about missing dependencies, install them, then repeat the last two steps (update and install).
winecfg
wine-staging
and winehq-staging
. What is the latter? - It needs and installs the former in order to work, but I don't think Playonlinux installs it and that may be the problem.
cipricus answer above is excellent and very thorough. However there is another factor that impacts font quality, rendering by FreeType.
As solved here and discussed here, changing the rendering version can revert to readable fonts.
Add this prefix on the line that starts your wine application
FREETYPE_PROPERTIES="truetype:interpreter-version=35"
eg
FREETYPE_PROPERTIES="truetype:interpreter-version=35" wine cmd
Script in the topmost post by user47206 (or, to be more precise, a solution derived from the script) didn't work for me, because regedit in a Wine prefix failed to find the file in the native filesystem. A more robust solution -- if you understand what you do (and don't need a GUI dialog) -- is to enable antialiasing by modifing the registry directly:
$ env WINEPREFIX=~/.wine/<prefix> wine reg add "HKCU\Control Panel\Desktop" /v FontSmoothing /t REG_SZ /d 2 /f
$ env WINEPREFIX=~/.wine/<prefix> wine reg add "HKCU\Control Panel\Desktop" /v FontSmoothingGamma /t REG_DWORD /d 0x578 /f
$ env WINEPREFIX=~/.wine/<prefix> wine reg add "HKCU\Control Panel\Desktop" /v FontSmoothingOrientation /t REG_DWORD /d 1 /f
$ env WINEPREFIX=~/.wine/<prefix> wine reg add "HKCU\Control Panel\Desktop" /v FontSmoothingType /t REG_DWORD /d 2 /f
One can also check the settings this way:
$ env WINEPREFIX=~/.wine/<prefix> wine reg query "HKCU\Control Panel\Desktop" | grep FontSmoothing