debian | ||
patches | ||
.gitignore | ||
DEVELOPER.md | ||
LICENSE.md | ||
precommit-hook.sh | ||
README.md |
What is Wine-Compholio?
The Wine "Compholio" Edition is a special patched version of Wine that includes both patches written by our team directly and specific patches by third party developers that we consider good enough for inclusion. This can be seen as a testing version in preparation for patches to be submitted to upstream Wine - don't be surprised if you encounter additional bugs, which are not present in regular wine, and always report such issues to us (via github), so we can improve our fixes even further. Thanks!
Included bugfixes and improvements
Wine-Compholio contains fixes for the following Wine bugs:
- ATL IOCS data should not be stored in GWLP_USERDATA (Wine Bug #21767)
- Add Dynamic DST exceptions for Israel Standard Time (Wine Bug #36374)
- Add implementation of WTSEnumerateProcessesW (Wine Bug #29903)
- Add support for extra large and jumbo icon lists in shell32 (Wine Bug #24721)
- Allow special characters in pipe names. (Wine Bug #28995)
- Fix for ConnectNamedPort return value in overlapped mode (Wine Bug #16550)
- Fix race conditions and deadlocks in strmbase/quartz (Wine Bug #31566)
- GetSecurityInfo returns NULL DACL for process object (Wine Bug #15980)
- Implement a Microsoft Yahei replacement font (Wine Bug #13829)
- Implement an Arial replacement font (Wine Bug #32323)
- Make it possible to change media center / tablet pc status (Wine Bug #18732)
- Need for Speed 3 installer requires devices in HKEY_DYN_DATA (Wine Bug #7115)
- Old games cannot locate software-only renderer (Wine Bug #32581)
- Return correct IMediaSeeking stream positions in quartz (Wine Bug #23174)
- SHCreateSessionKey not implemented (Wine Bug #35630)
- Support for AllocateAndGetTcpExTableFromStack (Wine Bug #34372)
- Support for GetSystemTimes (Wine Bug #19813)
- Support for Junction Points (Wine Bug #12401)
- Support for PulseAudio backend for audio (Wine Bug #10495)
- Support for TOOLTIPS_GetTipText edge cases (Wine Bug #30648)
- Support for TransmitFile (Wine Bug #5048)
- Support for [Get|Set]SystemFileCacheSize (Wine Bug #35886)
- Support for inherited file ACLs (Wine Bug #34406)
- Support for interface change notifications (Wine Bug #32328)
- Support for process ACLs (Wine Bug #22006)
- Support for stored file ACLs (Wine Bug #31858)
- Support for ws2_32.inet_pton (Wine Bug #36713)
- Use manual relay for RunDLL_CallEntry16 in shell32 (Wine Bug #23033)
- Workaround for TransactNamedPipe not being supported (Wine Bug #17273)
Besides that the following additional changes are included:
- Add default ACLs for user shell folders
- Add support for Dynamic DST (daylight saving time) information in registry
- Lockfree algorithm for filedescriptor cache (improves file access speed)
- Other Pipelight specific enhancements
- Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
- SO_CONNECT_TIME returns the appropriate time
- Support for GetVolumePathName
- Workaround for shlwapi URLs with relative paths
- XEMBED support for embedding Wine windows inside Linux applications
How to install Wine-Compholio
Ready-to-use packages for Wine-Compholio are available for a variety of different Linux distributions directly for download. Just follow the instructions below to install it (and all required dependencies). After the installation, please take a look at the next section for instructions how to use it in order to run your desired application.
Important: If you already have installed 'pipelight' on your system, there is a good chance that you already have Wine-Compholio. Take a look at the next section on how to find out if this is the case.
If your distribution is not listed below, feel free to add a feature request - if the demand is high enough we might consider packaging it for additional distributions.
Ubuntu / Linux Mint
Please run the following commands from a terminal, one line after each other.
sudo add-apt-repository ppa:pipelight/stable
sudo apt-get update
sudo apt-get install --install-recommends wine-compholio
Arch Linux
As a first step you have to import the key for our repository, and set the trust level to trusted:
sudo pacman-key -r E49CC0415DC2D5CA
sudo pacman-key --lsign-key E49CC0415DC2D5CA
Afterwards you have to add the following lines to /etc/pacman.conf
:
[compholio]
Server = http://cdn.fds-team.de/stable/arch/$arch
Now you can install Wine-Compholio directly using pacman
:
sudo pacman -Syu wine-compholio
Debian Jessie/Sid
(Instructions for Debian Wheezy can be found below)
In order to install i386 packages on a 64-bit system, you have to run the following command as a first step:
sudo dpkg --add-architecture i386
Afterwards import the key for our repository:
wget http://repos.fds-team.de/Release.key
sudo apt-key add Release.key
And add our repository at the end of your /etc/apt/sources.list
file:
# For Debian Jessie add the following line:
deb http://cdn.fds-team.de/stable/debian/ jessie main
# For Debian Sid this one:
deb http://cdn.fds-team.de/stable/debian/ sid main
Afterwards update the package cache and install it:
sudo apt-get update
sudo apt-get install wine-compholio
Debian Wheezy
In order to install i386 packages on a 64-bit system, you have to run the following command as a first step:
sudo dpkg --add-architecture i386
Afterwards import the key for our repository:
wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/Release.key
sudo apt-key add Release.key
And add our repository at the end of your /etc/apt/sources.list
file:
# For Debian Wheezy add the following line:
deb http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/ ./
Afterwards update the package cache and install it:
sudo apt-get update
sudo apt-get install wine-compholio
OpenSUSE
All the following steps have to be executed as root user. As a first step you have to add the repository - this step depends on the openSUSE version you're using.
openSUSE version | Path component |
---|---|
openSUSE 12.2 | /openSUSE_12.2/ |
openSUSE 12.3 | /openSUSE_12.3/ |
openSUSE 13.1 | /openSUSE_13.1/ |
openSUSE Factory | /openSUSE_Factory/ |
openSUSE Tumbleweed | /openSUSE_Tumbleweed/ |
The following commandline is an example for openSUSE 13.1, for a different version just replace the path component according to the table above:
zypper ar --refresh http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/openSUSE_13.1/home:DarkPlayer:Pipelight.repo
Afterwards just run the following commands to install it:
zypper ref
zypper install wine-compholio
Fedora
Warning: In contrary to other distributions, its not possible to have both
a regular wine version and Wine-Compholio installed at the same time - using
the instructions below will replace your regular version. Moreover it will
be installed to /usr/bin/wine
in contrary to /opt/wine-compholio/bin/wine
.
As a first step you have to add the repository - this step depends on the Fedora version you're using.
Fedora version | Patch component |
---|---|
Fedora 18 | /Fedora_18/ |
Fedora 19 | /Fedora_19/ |
Fedora 20 | /Fedora_20/ |
The following commandline is an example for Fedora 19, for a different version just replace the path component according to the table above:
sudo wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Fedora_19/home:DarkPlayer:Pipelight.repo -O /etc/yum.repos.d/pipelight.repo
Afterwards run the following command to install the package:
sudo yum install wine-compholio
Please note that you might run into trouble if the official Fedora package (without compholio patches) is newer than the one from the repository above, so if something doesn't work, always make sure that you have installed our version. To do that just run:
/usr/bin/wine --patches
When you're using Wine-Compholio this will show to a list of all patches included, for an unpatched version this command will fail.
Mageia 4
As a first step please add the key for our repository
wget http://repos.fds-team.de/Release.key
rpm --import Release.key
If you're using a 32-bit version of Mageia just add the repository for 32-bit packages:
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
For a 64-bit version of Mageia you'll need both the 32-bit and the 64-bit repository:
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
sudo urpmi.addmedia "Compholio 64-bit" http://cdn.fds-team.de/stable/mageia/4/x86_64/
Afterwards run the following commands to install the package:
sudo urpmi.update -a
sudo urpmi wine-compholio
Using Wine-Compholio
Since we don't want to duplicate a lot of information here, we recommend to take a look at the official Wine FAQ for general information about how to use Wine. The following part will mainly concentrate on the differences between wine and Wine-Compholio.
Running Wine-Compholio
Using multiple Wine versions: Unless you specify a special WINEPREFIX
environment variable, Wine-Compholio will use the same wineprefix ~/.wine
(in your home directory) like regular wine. This allows you to use your
already installed programs directly, without much effort or reinstalling
them. Often you have both regular wine and Wine-Compholio installed at the
same time, which is absolutely no problem - by typing in either wine
(=regular wine) or /opt/wine-compholio/bin/wine
you can decide, which
wine version you want to run. You can switch between versions as often as
you like - just make sure that all Windows programs have terminated before
starting them with a different version.
To run Wine-Compholio always type /opt/wine-compholio/bin/wine
, for example:
cd ~/.wine/drive_c/<your path>/
/opt/wine-compholio/bin/wine game.exe
You also have to add /opt/wine-compholio/bin/
when running other wine
related programs, here are some additional example:
# Initialize the wine prefix
/opt/wine-compholio/bin/wineboot
# Open the wine configuration
/opt/wine-compholio/bin/winecfg
# Run winepath to convert paths
/opt/wine-compholio/bin/winepath --unix 'c:\Windows'
# Kill the running wineserver instance
/opt/wine-compholio/bin/wineserver -k
...
If you're an experienced user, and always want to use Wine-Compholio, you
can also add /opt/wine-compholio/bin
to your bash profile. We will not
go into detail here, because such a setup has the big disadvantage, that
it hides which version you're using - which is very important for getting
support or reporting bugs.
Submitting bugs
Warning: Do not submit bug reports at bugs.winehq.org when using this version!
If you encounter any issues, the first thing you should do is to try it with regular wine. We're only a very small developer team, and although we would like to do that, we probably cannot really solve all your Wine bugs. When it turns out that the official Wine version also doesn't work, you can file a bugreport at the official Wine bugtracker. Feel free to mention that you also tested with Wine-Compholio, but all bugreport related information (logs, crashdumps, ...) should concentrate only on upstream wine.
If it turns out, that it works with upstream wine, but not with Wine-Compholio, then it might be a regression caused by our patches. We would like you to report this issue to us, so we can fix it in future versions. You can also report issues, when testing with upstream Wine is impossible or it crashes with a different error (for example much earlier).
When submitting a application related bug here on github, please make sure to include at least the following information. Generally its always a good idea to provide as much information as possible, since this will significantly increase chances to provide support and to fix it.
-
Which application triggers the bug
- Application name and version number
- How to obtain it (download URL + checksum if public available)
-
What exactly doesn't work
- Log of the terminal output of the application
- For visual issues please additionally attach a screenshot, and describe what it should look like
- Optionally: If you already know whats going wrong, please attach
appropriate
WINEDEBUG
logs or excerpts showing the issue.
-
Details about your WINEPREFIX
- Recommended: Test it in a new wine prefix, and report if this works
- Did you install any overrides? (for examples by using
winetricks
) - Did you change any settings by running
winecfg
?
-
Information about your Wine-Compholio version
- Recommended: Test with regular wine, and report if this works
- Version number (
/opt/wine-compholio/bin/wine --version
) - Patches in your build (
/opt/wine-compholio/bin/wine --patches
) - Installed optional libraries (
/opt/wine-compholio/bin/wine --check-libs
)