From Gentoo Wiki
Jump to: navigation, search
External resources

Wine (Wine Is Not an Emulator) is an application that allows Windows software to run on Linux. This article deals with installing, configuring and maintaining a general purpose Wine environment on Gentoo.


Enable the USE flags of choice and emerge app-emulation/wine:

root # emerge --ask wine

To install the latest, development version, the package needs to be unmasked unless already running unstable:

root # echo "app-emulation/wine" >> /etc/portage/package.accept_keywords

USE Flags


Many users are likely to want support for as much media as possible, in which cases the following flags are recommended.

→ Information about USE flags
USE flag Default Recommended Description
fontconfig Yes Yes Support for configuring and customizing font access via media-libs/fontconfig
gecko Yes Yes Add support for the Gecko engine when using iexplore
gsm No Adds support for the gsm lossy speech compression codec
gstreamer No Adds support for media-libs/gstreamer (Streaming media)
jpeg Yes Yes Adds JPEG image support
lcms No Adds lcms support (color management engine)
mp3 Yes Yes Add support for reading mp3 files
png Yes Yes Adds support for libpng (PNG images)
truetype Yes Yes Adds support for FreeType and/or FreeType2 fonts

Audio Output

→ Information about USE flags
USE flag Default Recommended Description
alsa Yes Yes Adds support for media-libs/alsa-lib (Advanced Linux Sound Architecture)
openal No Adds support for the Open Audio Library
oss No No Adds support for OSS (Open Sound System)
pulseaudio No Yes Adds support for PulseAudio sound server
realtime Yes Yes Pull in sys-auth/rtkit for low-latency pulseaudio support


→ Information about USE flags
USE flag Default Recommended Description
X Yes Yes Adds support for X11
cups No Add support for CUPS (Common Unix Printing System)
gphoto2 No Adds digital camera support
hardened No activate default security enhancements for toolchain (gcc, glibc, binutils)
ldap No Adds LDAP support (Lightweight Directory Access Protocol)
nls Yes Yes Adds Native Language Support (using gettext - GNU locale utilities)
opencl No Enable OpenCL support
opengl Yes Yes Adds support for OpenGL (3D graphics)
osmesa No Add support for OpenGL in bitmaps using libOSMesa
udisks Yes Yes Support dynamic storage devices using sys-fs/udisks
v4l No Enable support for video4linux (using linux-headers or userspace libv4l libraries)
xcomposite Yes Yes Enable support for the Xorg composite extension
xinerama No Add support for the xinerama X11 extension, which is mandatory if you work in multiple monitors setup


→ Information about USE flags
USE flag Default Recommended Description
capi No Enable ISDN support via CAPI
ncurses Yes Enable curses support in wineconsole.
samba No Add support for NTLM auth. see and
ssl Yes Yes Adds support for Secure Socket Layer connections


→ Information about USE flags
USE flag Default Recommended Description
abi_x86_32 Yes Yes Support 32-bit Windows binaries
abi_x86_64 Yes Yes Support 64-bit Windows binaries
custom-cflags No No Bypass strip-flags, See Debugging.
dos No Pull in games-emulation/dosbox to run DOS applications
perl Yes Yes Install helpers written in perl (winedump/winemaker)
run-exes Yes Yes Use Wine to open and run .EXE and .MSI files
scanner No Adds support for scanner hardware (e.g. build the sane frontend in kdegraphics)
test No No Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so don't set it in make.conf/package.use anymore
threads Yes Yes Adds threads support for various packages. Usually pthreads
xml Yes Yes Add support for XML files

Disabling the Menubuilder

To prevent Wine from adding menu entries and desktop links, the following dll override can be used.


# Prevent Wine from adding menu entries and desktop links.
export WINEDLLOVERRIDES='winemenubuilder.exe=d'

Already added entries can be deleted by removing the corresponding files from ~/.local/share/applications.

Tools and Interfaces

Tools such as graphical interfaces for Wine for users who want an alternative to the command-line.

Environment Variables

The environment variables of the shell that wine is started from are made accessible to the windows/dos processes. Some very useful Wine-specific variables include, but are not limited to, WINEPREFIX, WINEARCH, and WINEDEBUG.

See also the manual entries (man wine and man wineserver).


To create a Wine prefix in a custom location without affecting the default:

user $ WINEPREFIX=~/wine_testi wineboot

The above would create the Windows installation in the home path of the user, under wine_testi.

Once a prefix has been created, the 'bitness' (arch) can not be changed. As such, the WINEARCH is not required to be defined for every command, unlike the WINEPREFIX variable. When using a non-default prefix without exporting it, the prefix and path need to be defined for each command.


To create a 32-bit installation instead of the default (when built) 64-bit:

user $ WINEARCH=win32 WINEPREFIX=~/wine_testi wineboot

The Wine executable used could be anything that runs Wine, such as winecfg, which often makes sense while creating a clean, new prefix.


Essential in finding out why an application is misbehaving when the basic terminal output or messages boxes are not enough. See Debugging for examples.


When a user encounters a problem with an application, they should try the latest development version to see if the unwanted behavior still exists. If Wine has been built with options such as -fomit-frame-pointer or --hash-style=both, the Wine developers will likely be unable to help with the issue, and reports including output from such builds should not be reported to the Wine Bugzilla.

The custom-cflags USE flag should be enabled for debugging builds.

For more directions on reporting bugs, see Bugzilla and Bugs at wiki.winehq.

See also