Howto: Using EAC (Exact Audio Copy) on Wine
For those that don't know, Exact Audio Copy is a Windows cd ripping tool. So far I haven't found an equivalent for EAC on linux. From what I've read, cdparanoia messes up on drives that do audio caching. If you have damaged CDs cdparanoia may not be able to rip them properly.
I happen to have a lot of damaged CDs (tip: don't loan them to friends...) so I set out to make it work. I've searched the forums and while EAC is mentioned in some threads there isn't one that simply says "Here is how to get it to work." Hopefully this thread fixes that problem.
Note: This guide assumes that you do not have a Windows partition at all and Wine is working standalone.
Known Issues / Notes
Wine does really oddball things when trying to detect CDROM drives with ide-cd. It does not recognize I am a member of the cdrom group, it seems to only check for ownership of the device file. The only way to get it to work with EAC is for the current user to be the owner of the CDROM device file (/dev/hdc is used in this example.) Before you run Wine, you need to make sure that you are the owner:
Code: Select all
computer ~ $ ls -l /dev/hdc
brw-rw---- 1 danomac cdrom 22, 0 Jan 10 17:57 /dev/hdc
Code: Select all
root@computer ~ $ chown danomac /dev/hdc
If you are interested in this solution, open up /etc/udev/rules.d/50-udev.rules and search for a line similar to the following:
Code: Select all
ENV{ID_CDROM}=="?*", SYMLINK+="cdrom%e", GROUP="cdrom"
Code: Select all
ENV{ID_CDROM}=="?*", SYMLINK+="cdrom%e", GROUP="cdrom", OWNER="danomac"
Prerequisites
These are the items you will need that are not available in portage: Download these items and save them somewhere, you will need them later on.
Installing and configuring Wine
Install Wine (build 0.9.5, masked at the time of this article's writing) using portage:
Code: Select all
echo "app-emulation/wine ~x86" >> /etc/portage/package.keywords
emerge =app-emulation/wine-0.9.5
Code: Select all
winecfg
Applications tab
Under application settings choose a Windows version to emulate. I used Windows XP, although I don't think this selection is that important.
Libraries tab
Nothing needs to be set in this tab.
Drives tab
Add a new drive letter D:, set it to type CDROM and change the path to the cdrom drive. (/mnt/cdrom in my case.)
If you do not change the drive type, wine will likely hang trying to start EAC. If you don't see the Type dropdown, click the Show Advanced tab.
Audio tab
Choose the right audio driver to use.
When finished, click the Apply button then the OK button.
The rest of this guide will assume you have Wine working.
Configuring the kernel and bootloader
You will need to build the ide-cd into the kernel if you haven't already (2.6.x kernel tree shown):
Code: Select all
Device Drivers-->
ATA/ATAPI/MFM/RLL support -->
<*> Include IDE/ATAPI CDROM support
Preparing the bootloader
ide-cd doesn't need to be specified as a kernel parameter, skip to the next step.
Installing EAC
Switch to the directory that has the EAC installer and run it:
Code: Select all
wine <installerfile>
Start EAC:
Code: Select all
computer ~ # wine EAC.exe
EAC should load, detecting your CDROM drive.
Insert an audio CD and detect features like you normally would.
Note: In drive options it is important to UNCHECK Drive is capable of retrieving C2 error information! I've read reports elsewhere that this can cause problems, not only on Wine but in Windows as well.
Note 2: You can set up EAC to encode to the format of your choice. Find the windows binaries of the encoders and drop them in the Wine windows directory, then configure EAC like you normally would.
Using EAC
NOTE: As per the Known issues section, make sure you check the permissions of the CDROM device file (in this case /dev/hdc.) The current user needs to be the owner of the device file or wine will hang!
Start EAC: (it no longer requires an audio CD to be in the drive)
Code: Select all
wine EAC.exe
Problem: EAC doesn't detect my CD[/DVD] drive!
Possible solution(s): 1. Check the ownership of the CDROM device file. 2. Make sure Native Win32 interface for Win NT/2000/XP is checked under EAC Options->Interface tab, then restart EAC.
Problem:EAC hangs with 'MM' in the titlebar.
Possible solution(s): 1. The current user doesn't have ownership rights to the CDROM device file.
Closing thoughts
I have tried these steps on two PCs and they both run EAC well.
Hopefully someone will find these [new] steps useful.




