Wine

From ArchWiki
Revision as of 16:30, 23 July 2009 by Gladstone (Talk | contribs) (Fonts: -- added link to script. Ref: http://bbs.archlinux.org/viewtopic.php?pid=513496#p513496)

Jump to: navigation, search

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end

About

Wine is a translation layer (a program loader) capable of running Windows applications on GNU/Linux and other POSIX compatible operating systems. Windows programs running in Wine act as native programs would, running without the performance or memory usage penalties of an emulator, with a similar look and feel to other applications on your desktop.

Installation

i686

Wine is constantly updated and available in the [extra] repository:

pacman -S wine

x86_64

There's as of writing no x86_64 version of wine available, but that should be the case soon because the devs already have a hello world running. If you don't bother stuffing your PC with i686 libraries and binarys, then use one of the bin32-wine packages in the AUR: bin32-wine and bin32-wine-suse.

Important: If you have a nvidia-graphicscard, you'll need to do

pacman -S lib32-nvidia-utils

to use 3D-allocation! Or look here for other than the newest lib32-nvidia-utils version, if you use the nvidia-96xx driver version for example.

Configuration

To create configuration files do

 winecfg

review the settings and click ok to save. The wine directory with config files resides in

 ~/.wine

and by default C:\> will be mapped to

 ~/.wine/drive_c

Ok! This is the basic configuration. You can try to run something using:

 wine /path/to/something.exe

If you're having trouble getting DirectX apps to run properly, try adding the -opengl flag:

 wine /path/to/3d_game.exe -opengl

Sound

I don't think this still holds. update?

By default sound issues may arise when running Wine applications. Ensure only one sound device is selected in winecfg. Alsa should work out of the box but is still glitchy & slow in some games, there exists a patch for this issue here:

http://kcat.strangesoft.net/wine_thread_prio.diff

but using oss and selecting winecfg -> Sound -> Hw acceleration -> Emulation will also fix the audio issues for you provided you are using the alsa oss emulation kernel modules. (Note: using the aoss utility does not solve the issue; you must load the snd-pcm-oss module.)

Fonts

  • If wine applications are not showing easily readable fonts, you may not have Microsoft's Truetype fonts installed. Luckily arch has a package for that.
pacman -Sy ttf-ms-fonts

After running such program, kill all wine servers and run winecfg; fonts should be legible now.

Other TTF fonts you wish to install should go in $C_DRIVE/windows/fonts/ (where $C_DRIVE is usually ~/.wine/drive_c) for wine to recognize them.

If the fonts look somehow smeared, enter the .wine directory and create a file fontrender.txt with the content:

[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideWithRender"="N"

Add the key to your wine configuration by executing the following command:

regedit fontrender.txt

Enabling font anti-aliasing

Note: A script has been created to simplify this process.


Create a file with a .reg (example: aa.reg) with the following content :

REGEDIT4

[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"
"FontSmoothingType"=dword:00000002
"FontSmoothingGamma"=dword:00000578
"FontSmoothingOrientation"=dword:00000001

run

regedit 

and choose

File -> Import registry file... 

and select your .reg file. Anti-aliasing fonts will be after the conclusion of regedit, and run wine applications again.

Sub-Menu

After installation, there will likely be no menu in your Desktop Manager. After installing a program using Wine, it will create a menu with your installed programs in it automatically. If you wish to add on to the menu to create a Ubuntu-like Wine sub-menu, then follow these instructions:

Create Menu Entries

First, install a Windows program using Wine to create the base menu. After the base menu is created, you can start to add the menu entries. In GNOME, right-click on the desktop and select "Create Launcher...". The steps might be different for KDE/Xfce. Make three launchers using these settings:

Type: Application
Name: Configuration
Command: winecfg
Comment: Configure the general settings for Wine
Type: Application
Name: Uninstall Programs
Command: wine uninstaller
Comment: Uninstall Windows programs under Wine properly
Type: Application
Name: Browse C:\ Drive
Command: wine winebrowser c:\\
Comment: Browse the files in the virtual Wine C:\ drive

Now that you have these three launchers on your desktop, it is time to put them into the menu. But, first you should change the launchers to dynamically change icons when a new icon set is installed. To do this, open the launchers that you just made in your favorite text editor. Change the following settings to these new values:


Configuration launcher:

Icon[en_US]=wine-winecfg
Icon=wine-winecfg

Uninstall Programs launcher:

Icon[en_US]=wine-uninstaller
Icon=wine-uninstaller

Browse C:\ Drive launcher:

Icon[en_US]=wine-winefile
Icon=wine-winefile

If these settings produce a ugly/non-existent icon, it means that there are no icons for these launchers in the icon set that you have enabled. You should replace the icon setting with the explicit location of the icon that you want. Clicking the icon in the launcher's properties menu will have the same effect. A great icon set that supports these shortcuts is GNOME-colors.

Now that you have the launchers fully configured, 'now' it is time to put them in the menu. Plop them into "~/.local/share/applications/wine/" using a terminal or file browser.

Wait a second, they aren't in the menu yet! There is one last step. Copy the following text into a text file named "wine-utilities.menu".

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
  <Name>Applications</Name>
  <Menu>
    <Name>wine-wine</Name>
    <Directory>wine-wine.directory</Directory>
    <Include>
	<Filename>wine-Configuration.desktop</Filename>
    </Include>
    <Include>
	<Filename>wine-Browse C:\ Drive.desktop</Filename>
    </Include>
    <Include>
	<Filename>wine-Uninstall Programs.desktop</Filename>
    </Include>
  </Menu>
</Menu>

Now, just move the newly made file to the "~/.config/menus/applications-merged/" folder. Go check in the menu and there should be the minty fresh options waiting to be used!

KDE 4 Menu Fix[1]

The Wine menu items may appear in "Lost & Found" instead of the Wine menu for KDE 4. This is because kde-applications.menu is missing the MergeDir option.

Edit /etc/xdg/menus/kde-applications.menu

At the end of the file add <MergeDir>applications-merged</MergeDir> after <DefaultMergeDirs/>, it should look like this:

        <Include>
                <And>
                        <Category>KDE</Category>
                        <Category>Core</Category>
                </And>
        </Include>
        <DefaultMergeDirs/>
        <MergeDir>applications-merged</MergeDir>
        <MergeFile>applications-kmenuedit.menu</MergeFile>
</Menu>

Alternatively you can create a symlink to a folder that KDE does see:

ln -s ~/.config/menus/applications-merged ~/.config/menus/kde-applications-merged

This has the added bonus that an update to KDE won't change it, but is per user instead of system wide.

Using Wine to execute Win16 / Win32 binaries

You can execute binaries by calling wine manually

wine programsname.exe

It is also possible to tell the kernel to use wine as an interpreter for all Win16/Win32 binaries. First mount the binfmt_misc filesystem:

mount -t binfmt_misc none /proc/sys/fs/binfmt_misc

or add this line to your /etc/fstab

none  /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0

Then tell the kernel how to interpret Win16 and Win32 binaries:

echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register

You can add this line to /etc/rc.local to make this setting permanent. In this case you may want to ignore stderr to avoid error messages when changing runlevels:

{ echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register; } 2>/dev/null

Now try this:

chmod 755 exefile.exe
./exefile.exe

You can even remove the .exe extension, because the kernel doesn't identify the file by its extension.

Wine Configuration Utilities

These tools will assist in the installation of typical Windows components. In most cases they should be used as a last effort, as it may severely alter your wine configuration.


WineTricks

Winetricks is a quick (slightly dirty) script that will allow you to install base requirements needed to run some windows programs. Installable components include DirectX 9.x, msxml (office 2007 / IE requirement), visual runtimes and many more.

To install simply:

pacman -S winetricks

You can now start winetricks (as a normal user!) with:

winetricks


WineTools assistant

(currently slightly outdated, but working)

Winetools is a program (more of a script, in fact) that facilitates in the installation of some core components for wine in order to install other programs. Note this is not necessary for wine, but does help if you want to get Internet Explorer running.

WineTools Site

Keep in mind, Microsoft says you must have a license for IE6 in order to install DCOM98 or Internet Explorer 6. If you've ever owned a copy of Windows, you should be all set. Although I'm sure no one will hunt you down if you don't have the license.

Now grab the PKGBUILD from the AUR: http://aur.archlinux.org/packages.php?ID=8913

and build the package as you would any PKGBUILD (if you dont know how: ABS - The Arch Build System)


Sidenet Wine Configuration Utility

wine-config

  • Download the latest version
  • unpack it
  • READ THE README
  • execute
./setup
  • Follow the instructions

Keep in mind: Like stated on the site, you're only allowed to install DCOM98 if you possess a valid License for Windows98.


Wine-doors

Wine-doors

Wine-doors is a WineTools replacement. It features a GNOME GUI and works like a package manager. Works fine in 64bit. You can find it in the AUR.

Alternatives to Win16 / Win32 binaries

  • Cedega - Aimed at gamers
  • CVSCedega - CVS source version of cedega
  • Codeweavers - Codeweavers' Crossover Office; Aimed at Office Users

External Resources