|
Linux CD read problems.
Trying ePSXe under Linux (SuSE 7.2, kernel 2.4.17) and I'm getting abysmal CD transfer rates using a Hitachi GD2000 (it's a 2nd-gen DVD-ROM drive with 20x CD transfer speeds). It's causing game slowdown and makes FMV playback very choppy. I know that it's the CD that's the bottleneck because I didn't notice a speed difference when going from a 900Mhz mahine to a 1.6Ghz machine (Using a GeForce 3 in both cases). It's only on some games, too: MegaMan X6 is unplayable with CD skips, but Resident Evil 2 ran fine -- MDEC played properly and everything. Megaman X4 runs only if I turn on accurate CD timing, and then the background music constantly restarts after a time -- possibly something to do with sound effects in the background.
Could it be a DMA issue? I've tried it with the standard IDE CD-ROM driver and SCSI emulation, neither were any good. Anyone know any kernel settings I should be using for decent CD transfer rates?
I didn't have this problem under Windows 2000, mind you.
Using a Asus A7V266-E. CD-ROM drive is a Hitachi GD-2000. I've tried it with the drive on the default (Via, I believe) ATA66 IDE controller and the Promise ATA100 IDE controller (it's the first and only IDE device in both cases). I've used with the native Linux ATAPI CD-ROM driver and with SCSI emulation. I use "hdparm -d1 /dev/hda" (or hde if I'm using the promise controller) to enable DMA. I get no luck in either case. It's always the same: choppy CD access that slows down gameplay immensely (and when it's a game that doesn't need the CD it's fine). I've tested CD read speed with dd if=/dev/cdrom of=~/blah.iso and I was able to pull a good sized CD image in under 5 minutes. I did notice that trying dd with a PSX CD results in an input/output error -- does Linux have trouble reading Mode 2 CDs or PSX data CDs or is there a kernel option I should look for regarding that?
|