Improve GUI appearance of Wine applications

The 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.


  • The most important improvement concerning fonts is to enable font smoothing - save script below as 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'

winefontssmoothing_en.sh dialog

(source here)

  • For a better system appearance install a windows msstyle file in winecfg (Wine/Configure Wine/Desktop Integration) like "Luna", or "Royale".

enter image description here

  • Increase the screen resolution in 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)

enter image description here

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:

enter image description here

After font smoothing:

enter image description here

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.


Considering GTK theming in Wine

(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:

enter image description here

In elementaryOS:

enter image description here

Not much improvement compared to msstyle Luna by default in Playonlinux:

enter image description here

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-stagingpackage, 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.


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.

Zune Theme from Microsoft.com

Just installed the .msi file and I was able to select 'Zune Style' from Wine Configuration dialog.

Tags:

Wine