Wine

From miki
Jump to navigation Jump to search

This page is dedicated to Wine, the implementation of Windows API under Linux, and to applications running under Wine.

Tools

  • MUST HAVEWineTricks, a quick and dirty script to easily install redistributable runtime libraries (DLL), instead of using Wine ones.
For instance, to install VB6 Runtime:
sh winetricks vb6run

Applications

CUE Tools and CUE Ripper

Alternative CD Audio ripper, seems faster than Exact Audio Copy, with same quality.

Install under PlayOnLinux:

  • Pick latest Wine 1.7.x, 32-bit
  • Install components: dotnet20sp2 (.NET Framework 2.0 SP2), vcrun2008 (Visual C++ 2008 runtime (x86)).
  • CUE Ripper starts, but fails at some point with error
Exception: Error reading CD: IoctlFailed
  • Benchmark with Bee Gees — 1998 - One Night Only, DELL with Intel GPU.
Exact Audio Copy flac 557 008 584 bytes ~26 min
CUERipper Cuetools 556 666 807 bytes ~13 min
CUERipper FLACCL 556 490 316 bytes ~12 min

Exact Audio Copy

v1.1 / v1.0 beta 3 / v1.0 beta 1
If after installation we get the following error:
at 0207ADF0 -> ACCESS_VIOLATION
then run the following workaround (WineHQ):
cd ~/.wine/drive_c/Program\ Files\ \(x86\)/Exact\ Audio\ Copy/
regsvr32 sql*
The CUETools CTDB plugin does not work (even after installing the dependencies, both tried in PlayOnLinux and with winetricks).
v0.99 prebeta5
Just run the installer under Wine.

Internet Explorer 6

The best solution is to use the automated installer from IEs4Linux:

  • First install Wine and cabextract- Careful, under Ubuntu Lucid 10.04, IEs4Linux does not work with wine1.2~1.2-0ubuntu6~lucid5. So you'll need to force the version of Wine:
sudo aptitude install wine1.2=1.1.42-0ubuntu4
sudo aptitude install cabextract
  • Disable any AdBlocker proxy (or the installer will potentially fail downloading ADVAUTH.CAB)
  • Download and run IEs4Linux. Use --no-gui to avoid the segmentation fault in Python:
wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
tar zxvf ies4linux-latest.tar.gz
cd ies4linux-*
./ies4linux --no-gui
  • Restore wine to its latest version (however this triggers some error dialog boxes when launching ie6 the next time):
sudo aptitude install wine1.2
  • That's it! Use the desktop icon (chmod +x ~/Desktop/ies4linux.desktop if needed), or type ie6 in a terminal.

Status:

  • (+) Rendering excellent
  • (+) ASP, ActiveX works
  • (?) Error while flash install, but install completes. Not tested.
  • (?) JavaScript not tested
  • (-) Heavy CPU load, hangs after exit — do killall -9 iexplore wineserver to kill the offending process)
  • (-) Sometimes mouse cursor disappears
  • (-) Privoxy interferences. It seems that Privoxy interferes with ActiveX, ASP... even when AdBlocking is disabled!

Internet Explorer 7

  • See some instructions here. The HTML rendering seems to work fine, but ASP, ActiveX, JavaScript does not work.
  • Note that IEs4Linux is also working on IE7. They have a Beta available (only HTML rendering engine works).

System

USB

See USB device support in Wine - winehq.org

  • How to install USB patch (for USB dongle support)
  • How to install manually USB drivers

Tips

Setup custom WinePrefix for Garmin Connect

Here an example on how to setup a wineprefix for Garmin Connect [1]:

# Setup wineprefix
WINEARCH=win32 WINEPREFIX=/home/$USER/GarminExpress winetricks dotnet452 vcrun2010 corefonts
WINEARCH=win32 WINEPREFIX=/home/$USER/GarminExpress winetricks win7

# Install / Start Garmin Connect
WINEPREFIX=/home/$USER/GarminExpress wine explorer /desktop=garmin,1366x768 /home/$USER/Downloads/GarminExpress.exe

Then edit the wine shortcut to execute the following command:

WINEPREFIX=$HOME/GarminExpress wine explorer /desktop=garmin,1366x768 $HOME'/GarminExpress/drive_c/Program Files/Garmin/Express/express.exe'

Setup custom WinePrefix for Siemens SolidEdge -- FAILED

Following the same tips as Garmin Connect, but with more recent VC++ runtime:

WINEARCH=win32 WINEPREFIX=/home/$USER/GarminExpress winetricks dotnet452 vcrun2015 corefonts
WINEARCH=win32 WINEPREFIX=/home/$USER/GarminExpress winetricks win7

The startup screen shows up, but when selecting solid edge, nothing pops up...

Start an .msi installer

Two solutions [2]:

wine msiexec /i whatever-filename.msi

# Or

wine start whatever-filename.msi

Troubleshooting

Wine doesn't run program without executable bit

Error message:

The file '/home/user/Downloads/program_name.exe' is not marked as executable.
If this was downloaded or copied form an untrusted source, it may be dangerous to run.
For more details, read about the executable bit.

Solution:

  • Change permission of the program to flag it as executable
  • The previous solution is not always possible if say the program is on a read-only source. If so, one can run the program with wine explicitly:
wine program_name.exe
  • Or edit the launcher, and remove the cautious-launcher:
gksu gedit /usr/share/applications/wine.desktop
Change from
Exec=cautious-launcher %f wine start /unix
onto
Exec=wine start /unix %f

CDROM not visible/mounted in Wine

Some miscellaneous notes:

  • In Linux, audio CD are not mounted on mount points. This is because they don't have any real filesystem that can be browsed. So trying to auto-detect CDROM drive with an audio CD will likely fail.

Some workarounds:

  • Insert a data cd. Rune winecfg. This will detect the CDROM. Leave the CD in and start the wine application. When application is started, insert the audio CD. Wine application should see the new CD (see [3])

Other references:

  • Another solution would be to add a mount point for the cd in /etc/fstab (pay attention to rights, etc.). Even though the audio cd is not mounted, winecfg should be able to see the cd (ref [4]). Candidate line ([5]):
/dev/sr0         /media/cd   auto    ro,user,noauto,unhide   0      0

Win16 apps not launching (Euroglot)

Error message:

err:module:attach_process_dlls "krnl386.exe16" failed to initialize, aborting
err:module:LdrInitializeThunk Main exe initialization for L"C:\\windows\\system32\\winevdm.exe" failed, status c0000005

Solution is to enable back 16-bit segment (although might leak kernel stack address information) [6] [7].

Fix:

sudo sysctl abi.ldt16=1         # Or echo 1 > /proc/sys/abi/ldt16

To have at each boot:

echo "abi.ldt16=1" | sudo tee /etc/sysctl.d/20-wine-ldt16.conf

Euroglot - winevdm.exe has encountered a serious issue

The fix is to use PlayOnLinux:

  • Use Wine 32-bit
  • Use Wine 4.0.2
  • Copy euroglot in Program Files.
  • Create a shortcut from playonlinux.

Also:

  • Cd to euroglot directory before launching euroglot.

Miscellaneous