Hi Alexandre,
Just wanted your opinion on the following:
VMware Workstation officially only supports MIDI output via the synthesizer device. The problem I'm having with several of my VMware boxes (and from the looks, Francois' boxes have the same issues) is that the midi tests hang (not on all OS's btw!).
There are 2 ways (I can see) to fix this issue:
1. Get rid of (or disable) the sound device on the failing boxes. This means of course far less coverage of tests. 2. There is an option in the Audio control panel to only use the default devices. This doesn't prevent the 'enumeration' from listing the failing device but we could have the tests skip 'non default' devices. The attached patch is a first attempt and does work on my XP box.
I've discussed this issue already with Jörg but as said VMware says it's not supported but there is no way you can tell by looking at what the driver returns (it's a normal Creative driver not intercepted in some way by VMware AFAIK).
Paul Vriens paul.vriens.wine@gmail.com writes:
- There is an option in the Audio control panel to only use the
default devices. This doesn't prevent the 'enumeration' from listing the failing device but we could have the tests skip 'non default' devices. The attached patch is a first attempt and does work on my XP box.
Sure, if that works it's fine with me.
Hi Paul,
Paul Vriens wrote:
There are 2 ways (I can see) to fix this issue:
- Get rid of (or disable) the sound device on the failing boxes. This
means of course far less coverage of tests. 2. There is an option in the Audio control panel to only use the default devices. This doesn't prevent the 'enumeration' from listing the failing device but we could have the tests skip 'non default' devices. The attached patch is a first attempt and does work on my XP box.
A third option could be to try a different driver. The hardware VMware emulates. SB PCI128, doesn't have any MIDI capabilities as far as I know. The original Windows driver contained a software sequencer to support MIDI. (Different from the one Windows started to include later itself.)
Maybe using a different driver from the Creative site could let things work better.
Regards, Julius
On 03/02/2010 11:47 AM, Julius Schwartzenberg wrote:
Hi Paul,
Paul Vriens wrote:
There are 2 ways (I can see) to fix this issue:
- Get rid of (or disable) the sound device on the failing boxes. This
means of course far less coverage of tests. 2. There is an option in the Audio control panel to only use the default devices. This doesn't prevent the 'enumeration' from listing the failing device but we could have the tests skip 'non default' devices. The attached patch is a first attempt and does work on my XP box.
A third option could be to try a different driver. The hardware VMware emulates. SB PCI128, doesn't have any MIDI capabilities as far as I know. The original Windows driver contained a software sequencer to support MIDI. (Different from the one Windows started to include later itself.)
Maybe using a different driver from the Creative site could let things work better.
I already tried a few, any suggestions?. I'm stuck with drivers for either that PCI128 (also tried the Ensoniq driver). The strange thing is that is works fine on some OS's but fails on others (my XP fails for example, but W2K3 succeeds) with what appears to be the same driver.
Paul Vriens wrote:
On 03/02/2010 11:47 AM, Julius Schwartzenberg wrote:
Hi Paul,
Paul Vriens wrote:
There are 2 ways (I can see) to fix this issue:
- Get rid of (or disable) the sound device on the failing boxes. This
means of course far less coverage of tests. 2. There is an option in the Audio control panel to only use the default devices. This doesn't prevent the 'enumeration' from listing the failing device but we could have the tests skip 'non default' devices. The attached patch is a first attempt and does work on my XP box.
A third option could be to try a different driver. The hardware VMware emulates. SB PCI128, doesn't have any MIDI capabilities as far as I know. The original Windows driver contained a software sequencer to support MIDI. (Different from the one Windows started to include later itself.)
Maybe using a different driver from the Creative site could let things work better.
I already tried a few, any suggestions?. I'm stuck with drivers for either that PCI128 (also tried the Ensoniq driver). The strange thing is that is works fine on some OS's but fails on others (my XP fails for example, but W2K3 succeeds) with what appears to be the same driver.
I think some versions of the drivers come with with the required wavesets for the software synthesizer, while with others you had to get it from the original CD. You should make sure this ecw file is also present I guess. There seems to be some more information here: http://en.wikipedia.org/wiki/Ensoniq_AudioPCI
If it turns out it's hard to get hold of these wavesets, I'll try to put them online.
Julius
On 03/02/2010 01:33 PM, Julius Schwartzenberg wrote:
I think some versions of the drivers come with with the required wavesets for the software synthesizer, while with others you had to get it from the original CD. You should make sure this ecw file is also present I guess. There seems to be some more information here: http://en.wikipedia.org/wiki/Ensoniq_AudioPCI
If it turns out it's hard to get hold of these wavesets, I'll try to put them online.
So you are saying I should try with the Ensoniq driver and all the (3) wavesets installed?
This driver is superseded by the Creative PCI128 one and thus all of my boxes have the creative one.
Paul Vriens wrote:
On 03/02/2010 01:33 PM, Julius Schwartzenberg wrote:
I think some versions of the drivers come with with the required wavesets for the software synthesizer, while with others you had to get it from the original CD. You should make sure this ecw file is also present I guess. There seems to be some more information here: http://en.wikipedia.org/wiki/Ensoniq_AudioPCI
If it turns out it's hard to get hold of these wavesets, I'll try to put them online.
So you are saying I should try with the Ensoniq driver and all the (3) wavesets installed?
This driver is superseded by the Creative PCI128 one and thus all of my boxes have the creative one.
No, I was just pointing to the Wikipedia page because it had some info on the wavesets. The Creative drivers use similar (the same) wavesets as the Ensoniq ones. You should need only a single waveset. It's just that when you use the Creative drivers you need to check to make sure a waveset is present, is found and loaded by the driver.
Because not all Creative drivers ship with a waveset, even though they need one, this could be the cause of the problem. You need to install the waveset manually separately then.
Regards, Julius
On 03/02/2010 02:27 PM, Julius Schwartzenberg wrote:
Paul Vriens wrote:
On 03/02/2010 01:33 PM, Julius Schwartzenberg wrote:
I think some versions of the drivers come with with the required wavesets for the software synthesizer, while with others you had to get it from the original CD. You should make sure this ecw file is also present I guess. There seems to be some more information here: http://en.wikipedia.org/wiki/Ensoniq_AudioPCI
If it turns out it's hard to get hold of these wavesets, I'll try to put them online.
So you are saying I should try with the Ensoniq driver and all the (3) wavesets installed?
This driver is superseded by the Creative PCI128 one and thus all of my boxes have the creative one.
No, I was just pointing to the Wikipedia page because it had some info on the wavesets. The Creative drivers use similar (the same) wavesets as the Ensoniq ones. You should need only a single waveset. It's just that when you use the Creative drivers you need to check to make sure a waveset is present, is found and loaded by the driver.
Because not all Creative drivers ship with a waveset, even though they need one, this could be the cause of the problem. You need to install the waveset manually separately then.
I give up. Tried several combinations on XP (old and newer driver with or without waveset files), to no avail.
Paul Vriens wrote:
I give up. Tried several combinations on XP (old and newer driver with or without waveset files), to no avail.
I found a solution. The earlier stuff I wrote here is completely unrelated. The Creative soft-synth included with the drivers using the wave sets works fine.
It's the external midi stuff that hangs. This is likely because VMware's MPU-401 emulation is non-existent. (Normally I understand this would go to the wide jack on your soundcard.)
To solve the problem you have to remove the MPU device. Open inf\wdma_ens.inf in the Windows directory and remove all lines and sections with UART in them. When using drivers from Creative, you need to extract them manually first and do the same thing with the included inf file (in addition to the one above for some reason!).
This will prevent the MPU-401 device from installing. You should have just the soft-syths which should not cause any programs to hang.
Regards, Julius
On 03/02/2010 08:47 PM, Julius Schwartzenberg wrote:
Paul Vriens wrote:
I give up. Tried several combinations on XP (old and newer driver with or without waveset files), to no avail.
I found a solution. The earlier stuff I wrote here is completely unrelated. The Creative soft-synth included with the drivers using the wave sets works fine.
It's the external midi stuff that hangs. This is likely because VMware's MPU-401 emulation is non-existent. (Normally I understand this would go to the wide jack on your soundcard.)
To solve the problem you have to remove the MPU device. Open inf\wdma_ens.inf in the Windows directory and remove all lines and sections with UART in them. When using drivers from Creative, you need to extract them manually first and do the same thing with the included inf file (in addition to the one above for some reason!).
This will prevent the MPU-401 device from installing. You should have just the soft-syths which should not cause any programs to hang.
Regards, Julius
Hi Julius,
Great!! This is exactly the behavior I was seeing. As said using the external midi also hangs Microsoft Media Player.
I will give your suggestions a try. I will also check how it influences the other sound related tests.
I didn't want to go the easy road by uninstalling/disabling sound altogether and this certainly sound good.
On 03/02/2010 08:54 PM, Paul Vriens wrote:
On 03/02/2010 08:47 PM, Julius Schwartzenberg wrote:
Paul Vriens wrote:
I give up. Tried several combinations on XP (old and newer driver with or without waveset files), to no avail.
I found a solution. The earlier stuff I wrote here is completely unrelated. The Creative soft-synth included with the drivers using the wave sets works fine.
It's the external midi stuff that hangs. This is likely because VMware's MPU-401 emulation is non-existent. (Normally I understand this would go to the wide jack on your soundcard.)
To solve the problem you have to remove the MPU device. Open inf\wdma_ens.inf in the Windows directory and remove all lines and sections with UART in them. When using drivers from Creative, you need to extract them manually first and do the same thing with the included inf file (in addition to the one above for some reason!).
This will prevent the MPU-401 device from installing. You should have just the soft-syths which should not cause any programs to hang.
Regards, Julius
Hi Julius,
Great!! This is exactly the behavior I was seeing. As said using the external midi also hangs Microsoft Media Player.
I will give your suggestions a try. I will also check how it influences the other sound related tests.
I didn't want to go the easy road by uninstalling/disabling sound altogether and this certainly sound good.
Works fine on my XP box. I'll try NT4 and W2K tomorrow.
Great solution btw!!
On 3 March 2010 06:47, Julius Schwartzenberg julius.schwartzenberg@gmail.com wrote:
Paul Vriens wrote:
I give up. Tried several combinations on XP (old and newer driver with or without waveset files), to no avail.
I found a solution. The earlier stuff I wrote here is completely unrelated. The Creative soft-synth included with the drivers using the wave sets works fine.
It's the external midi stuff that hangs. This is likely because VMware's MPU-401 emulation is non-existent. (Normally I understand this would go to the wide jack on your soundcard.)
To solve the problem you have to remove the MPU device. Open inf\wdma_ens.inf in the Windows directory and remove all lines and sections with UART in them. When using drivers from Creative, you need to extract them manually first and do the same thing with the included inf file (in addition to the one above for some reason!).
This will prevent the MPU-401 device from installing. You should have just the soft-syths which should not cause any programs to hang.
Regards, Julius
If I understand this correctly, Wine/the tests are correctly detecting an MPU-401 "hardware" synth device because the driver is loaded, but VMware doesn't emulate the hardware and ends up confusing Windows and hanging (presumably due to some I/O wait). I'd call this a bug in VMware.
On 03/03/2010 01:30 AM, Ben Klein wrote:
If I understand this correctly, Wine/the tests are correctly detecting an MPU-401 "hardware" synth device because the driver is loaded, but VMware doesn't emulate the hardware and ends up confusing Windows and hanging (presumably due to some I/O wait). I'd call this a bug in VMware.
Well, one of my statements in the very first email was:
"VMware Workstation officially only supports MIDI output via the synthesizer device."
On 3 March 2010 18:10, Paul Vriens paul.vriens.wine@gmail.com wrote:
On 03/03/2010 01:30 AM, Ben Klein wrote:
If I understand this correctly, Wine/the tests are correctly detecting an MPU-401 "hardware" synth device because the driver is loaded, but VMware doesn't emulate the hardware and ends up confusing Windows and hanging (presumably due to some I/O wait). I'd call this a bug in VMware.
Well, one of my statements in the very first email was:
"VMware Workstation officially only supports MIDI output via the synthesizer device."
Given that hardware connections to external synthesisers are, at least in the Linux-side context, considered "synthesisers", I'm not sure what you mean by this.
-- Cheers,
Paul.
On 03/03/2010 08:47 AM, Ben Klein wrote:
On 3 March 2010 18:10, Paul Vrienspaul.vriens.wine@gmail.com wrote:
On 03/03/2010 01:30 AM, Ben Klein wrote:
If I understand this correctly, Wine/the tests are correctly detecting an MPU-401 "hardware" synth device because the driver is loaded, but VMware doesn't emulate the hardware and ends up confusing Windows and hanging (presumably due to some I/O wait). I'd call this a bug in VMware.
Well, one of my statements in the very first email was:
"VMware Workstation officially only supports MIDI output via the synthesizer device."
Given that hardware connections to external synthesisers are, at least in the Linux-side context, considered "synthesisers", I'm not sure what you mean by this.
For the record, I'm running VMware Workstation 7.0.1 on Fedora 11/12 with a bunch of Windows guests and I'm by far knowledgeable on this MIDI stuff.
I'm just repeating the user manual:
== Sound support includes pulse code modulation (PCM) output and input. For example, you can play .wav files, MP3 audio, and Real Media audio. MIDI output from Windows guests is supported by the Windows software synthesizer. MIDI input is not supported, and no MIDI support is available for Linux guests. ==
As we found out, the issue is when we try to use the 'external' midi device on NT, W2K and XP. So when I open the Audio Control Panel on XP I see 2 MIDI devices listed under 'MIDI music playback. These are "Microsoft GS Wavetable SW Synth" and "Creative Sound Blaster MPU-401", it's the latter that has issues. On most systems (judging by test.winehq.org) there is only one device defined at that place.
There are no apparent issues with the external midi device on Win9x/WinMe, maybe because of a different driver/'soundcard'? (It looks like it uses the older Ensoniq driver)
On W2K3 and Vista+, VMware uses it's own driver (that doesn't include an external midi device btw).
On 3 March 2010 19:26, Paul Vriens paul.vriens.wine@gmail.com wrote:
On 03/03/2010 08:47 AM, Ben Klein wrote:
Given that hardware connections to external synthesisers are, at least in the Linux-side context, considered "synthesisers", I'm not sure what you mean by this.
For the record, I'm running VMware Workstation 7.0.1 on Fedora 11/12 with a bunch of Windows guests and I'm by far knowledgeable on this MIDI stuff.
I'm just repeating the user manual:
== Sound support includes pulse code modulation (PCM) output and input. For example, you can play .wav files, MP3 audio, and Real Media audio. MIDI output from Windows guests is supported by the Windows software synthesizer. MIDI input is not supported, and no MIDI support is available for Linux guests. ==
Keyword there being "software", right before synthesiser.
It also implies that setting up Timidity or Fluidsynth is not supported on a Linux guest.
Doesn't change the fact that drivers in VMware shouldn't be supplying hardware ports that don't exist.
On Tue, Mar 2, 2010 at 3:07 AM, Paul Vriens paul.vriens.wine@gmail.com wrote:
On 03/02/2010 11:47 AM, Julius Schwartzenberg wrote:
Hi Paul,
Paul Vriens wrote:
There are 2 ways (I can see) to fix this issue:
- Get rid of (or disable) the sound device on the failing boxes. This
means of course far less coverage of tests. 2. There is an option in the Audio control panel to only use the default devices. This doesn't prevent the 'enumeration' from listing the failing device but we could have the tests skip 'non default' devices. The attached patch is a first attempt and does work on my XP box.
A third option could be to try a different driver. The hardware VMware emulates. SB PCI128, doesn't have any MIDI capabilities as far as I know. The original Windows driver contained a software sequencer to support MIDI. (Different from the one Windows started to include later itself.)
Maybe using a different driver from the Creative site could let things work better.
I already tried a few, any suggestions?. I'm stuck with drivers for either that PCI128 (also tried the Ensoniq driver). The strange thing is that is works fine on some OS's but fails on others (my XP fails for example, but W2K3 succeeds) with what appears to be the same driver.
VMware can also emulate a Soundblaster 16. Does that have the MIDI capabilities needed? You need to change sound.virtualDev = "es1371" to sound.virtualdev = "sb16" in the .vmx file.
On 03/02/2010 07:03 PM, Lei Zhang wrote:
VMware can also emulate a Soundblaster 16. Does that have the MIDI capabilities needed? You need to change sound.virtualDev = "es1371" to sound.virtualdev = "sb16" in the .vmx file.
Tried that, but then I have no device. The log shows:
vcpu-0| SB16 doesn't have ALSA sound support. Falling back to OSS: /dev/dsp.
and of course being on Fedora 11(+) I don't have OSS by default.
I'll give it a try/thought though.
Hi Paul,
On 02-03-10 11:28, Paul Vriens wrote:
Just wanted your opinion on the following:
VMware Workstation officially only supports MIDI output via the synthesizer device. The problem I'm having with several of my VMware boxes (and from the looks, Francois' boxes have the same issues) is that the midi tests hang (not on all OS's btw!).
There are 2 ways (I can see) to fix this issue:
- Get rid of (or disable) the sound device on the failing boxes. This
means of course far less coverage of tests. 2. There is an option in the Audio control panel to only use the default devices. This doesn't prevent the 'enumeration' from listing the failing device but we could have the tests skip 'non default' devices. The attached patch is a first attempt and does work on my XP box.
I've discussed this issue already with Jörg but as said VMware says it's not supported but there is no way you can tell by looking at what the driver returns (it's a normal Creative driver not intercepted in some way by VMware AFAIK).
Instead of trying to work around the problem, could you try to find out exactly where and why it is hanging first?
Cheers, Maarten.
On 03/02/2010 04:05 PM, Maarten Lankhorst wrote:
Instead of trying to work around the problem, could you try to find out exactly where and why it is hanging first?
Hi Maarten,
I've been in talks with Jörg for several weeks now trying to figure out why it fails. I tried dozens of combinations of OS and drivers.
The hang is at the midiOutReset() call in test_midiOut_device(). Commenting that one makes it hang in midiOutClose(). Or at least the last ok() message was just before those (as can be seen with WINETEST_REPORT_SUCCESS enabled). This as said is not for the synthesizer but for the 'real' device.
I always try to find out where things go wrong before trying to invent a work around. At this point in time I can only point the finger at VMware in combination with NT/W2K/XP (and the standard Creative driver).
W2K3 and Vista+ use a VMware audio driver and don't exhibit this issue. Not sure why win9x doesn't have an issue.
My workaround works only for XP btw. so it seems that also needs a re-think.
On to more testing.
On 03/02/2010 04:19 PM, Paul Vriens wrote:
On 03/02/2010 04:05 PM, Maarten Lankhorst wrote:
Instead of trying to work around the problem, could you try to find out exactly where and why it is hanging first?
Hi Maarten,
I've been in talks with Jörg for several weeks now trying to figure out why it fails. I tried dozens of combinations of OS and drivers.
The hang is at the midiOutReset() call in test_midiOut_device(). Commenting that one makes it hang in midiOutClose(). Or at least the last ok() message was just before those (as can be seen with WINETEST_REPORT_SUCCESS enabled). This as said is not for the synthesizer but for the 'real' device.
I always try to find out where things go wrong before trying to invent a work around. At this point in time I can only point the finger at VMware in combination with NT/W2K/XP (and the standard Creative driver).
W2K3 and Vista+ use a VMware audio driver and don't exhibit this issue. Not sure why win9x doesn't have an issue.
My workaround works only for XP btw. so it seems that also needs a re-think.
On to more testing.
FWIW, this already fails:
START_TEST(midi) { MMRESULT rc; HMIDIOUT hm;
rc = midiOutOpen(&hm, 1, 0, 0, CALLBACK_NULL); ok(!rc, "midiOutOpen(dev=%d) rc=%s\n", 1, mmsys_error(rc)); rc = midiOutReset(hm); ok(!rc, "midiOutReset rc=%s\n", mmsys_error(rc)); rc = midiOutClose(hm); ok(!rc, "midiOutClose rc=%s\n", mmsys_error(rc)); }
it hangs (doesn't return) in the midiOutReset() call.
Hoi Paul,
On 02-03-10 17:38, Paul Vriens wrote:
On 03/02/2010 04:19 PM, Paul Vriens wrote:
On 03/02/2010 04:05 PM, Maarten Lankhorst wrote:
Instead of trying to work around the problem, could you try to find out exactly where and why it is hanging first?
Hi Maarten,
I've been in talks with Jörg for several weeks now trying to figure out why it fails. I tried dozens of combinations of OS and drivers.
The hang is at the midiOutReset() call in test_midiOut_device(). Commenting that one makes it hang in midiOutClose(). Or at least the last ok() message was just before those (as can be seen with WINETEST_REPORT_SUCCESS enabled). This as said is not for the synthesizer but for the 'real' device.
I always try to find out where things go wrong before trying to invent a work around. At this point in time I can only point the finger at VMware in combination with NT/W2K/XP (and the standard Creative driver).
W2K3 and Vista+ use a VMware audio driver and don't exhibit this issue. Not sure why win9x doesn't have an issue.
My workaround works only for XP btw. so it seems that also needs a re-think.
On to more testing.
If you remove the midiOutReset call it works? What happens if you try to play a single note first?
Cheers, Maarten.
On 03/02/2010 06:51 PM, Maarten Lankhorst wrote:
If you remove the midiOutReset call it works? What happens if you try to play a single note first?
Hi Maarten,
I will give that a try although I know I tried to use Microsoft Media Player 10 with that device and it hung as well.
Removing the midiOutReset, hangs in midiOutClose btw.
I guess we have to live with the fact that some stuff is really unsupported on VMware.