= Wine

http://winehq.org/[Wine] is an open source implementation of the Windows
API on top of X and OpenGL.

Wine emulates the Windows runtime environment by translating Windows 
system calls into POSIX-compliant system calls, recreating the directory
structure of Windows systems, and providing alternative implementations 
of Windows system libraries, system services through https://wiki.winehq.org/Wineserver[wineserver].

== Packages

Fedora's Wine packages are split up to allow for smaller installations.
The `wine` meta package will bring with it the most important components
of Wine.

Expert users may want to pick specific components from the list
https://packages.fedoraproject.org/pkgs/wine/[here].

The current versions of the Wine packages can also be seen on the https://packages.fedoraproject.org/pkgs/wine/wine/[Fedora packages application].

[[configuration-files]]
== Configurations files

The default wine configuration files is stored in your `$HOME` directory:

```
~/.wine
```

TIP: but different and multiple prefixes can be used as descibed in the
section wine prefix.

[[wine-desktop-files]]
== Wine desktop files

https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables[_Wine_ respect The XDG Base Directory Specification which is
based on the following concepts]


```
$XDG_DATA_HOME defines the base directory relative to which 
user-specific data files should be stored. If $XDG_DATA_HOME is either 
not set or empty, a default equal to `$HOME/.local/share` should be used.

```

[[gui-configuration-register]]
== GUI for configure _wine_ Register (winecfg)

Winecfg is a GUI configuration tool for Wine, designed to make life
a little easier than editing the registry.

This *wine-utils* is provide by `wine-common`

What can you do with it?

It can do the following tasks:

* Windows Version, it comes with a default windows version
* Libraries
* Graphics
* Desktop Integration
* Drivers
* Audio

WARNING: Some aplication don't allow/accept working with the default
Windows version which wine offer by default like -> **Amazon Kindle 
Desktop Edition**.

[[wine-script]]
== Gui _wine_ script (winetricks)

Winetricks is a helper script to download and install various
redistributable runtime libraries needed to run some programs in Wine.
These may include replacements for components of Wine using closed
source libraries.

It not installed by default so:

```
sudo dnf install winetricks
```

It can install aplication and libraries and work's with register, 
stored and compiled by wine team, for example **Adobe Digital Edition**.

[[working-with-prefix]]
== Wine prefix

A WINE prefix is a folder that contains all of the WINE configurations
as well as all of the Windows pieces that WINE uses for compatibility, 
including libraries and a registry.

Some aplication need's 32 or 64 wine prefix, this can be done in the 
following way:

- Create a clean wine32/64 prefix:

* Where `xx` is 32 or 64 bits.
* `.directory` is the directory which you can store the wine environment.

```
WINEPREFIX="$HOME/.directory" WINEARCH=winxx wine wineboot
```

- Use the wine prefix created before:

```
export WINEPREFIX=~/.directory
```

WARNING: This is just an example used as your needed.

- Install the aplications.

NOTE: as you can see you can have as many directories with diferents
configuration (_wine_ prefix).

[[install-basic-aplications]]
== Install some basics/util's aplications

How to install the follow aplications under wine?

1. Adobe Digital Edition 4.5

* use `winetrick` as descibed before and select **install aplication** in 
the _MENU_ What you do you want to do?
* in Which package(s) would you like to install? then select 
`adobe_diged4` 
* DONE!

2. Kindle Desktop Edition

* download from -> https://www.amazon.com/Amazon-Digital-Services-LLC-Download/dp/B00UB76290[Amazon Kindle]
* install it
* use winecfg to change the default windows version so is 7 to a higher
version
* DONE!

[[bugs-and-problems]]
== Bugs and problems

Before reporting bugs against Wine please make sure your system is fully
up to date.

....
dnf upgrade
....

Also check if a newer version is available in the https://fedoraproject.org/wiki/QA:Updates_Testing[updates-testing] repository.

....
dnf --enablerepo=updates-testing update wine
....

If you are using the proprietary graphics drivers please remove them
from your system and try again, as they are known to cause problems.

When debugging Wine, your goal is to determine if the issue is one of
_code functionality_ or _packaging in Fedora_.

Check the http://appdb.winehq.org[Wine Application Database] to see if
your application is supported, or if there are known issues that match
yours. Anything that falls into this category is a bug in upstream code
functionality.

The next step is to see if the problem persists with a clean ~/.wine
folder. To try this without losing your old configuration:

....
mv ~/.wine ~/.wine-save
....

Afterwards try to trigger the bug again. Your original wine folder can
be restored with:

....
rm -fr ~/.wine; mv ~/.wine-save ~/.wine
....

If your application still does not work but has been working in a
previous version of wine it is probably a regression. Consider filling a
bug in the upstream https://bugs.wine-staging.com/[Wine-staging bug
tracking system].

IMPORTANT: Do not file bugs in the Winehq.org bugzilla unless told to do so.

If you really think that your bug is Fedora-related, file a bug against
the Wine component in https://bugzilla.redhat.com[Fedora's bug tracking
system].
