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:
To install the latest, development version, the package needs to be unmasked unless already running unstable:
Many users are likely to want support for as much media as possible, in which cases the following flags are recommended.
|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|
|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|
|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|
|capi||No||Enable ISDN support via CAPI|
|ncurses||Yes||Enable curses support in wineconsole.|
|samba||No||Add support for NTLM auth. see http://wiki.winehq.org/NtlmAuthSetupGuide and http://wiki.winehq.org/NtlmSigningAndSealing|
|ssl||Yes||Yes||Adds support for Secure Socket Layer connections|
|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.
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.
- app-emulation/q4wine - Qt4 GUI configuration tool for Wine
- app-emulation/wine-doors - Wine-doors is a package manager for Wine
- app-emulation/winetricks - Easy way to install DLLs needed to work around problems in Wine
- app-emulation/playonlinux - Set of scripts to easily install and use Windows games and software
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:
The above would create the Windows installation in the home path of the user, under wine_testi.
To create a 32-bit installation instead of the default (when built) 64-bit:
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.