scrolling waveform broken with windows WDM-KS sound driver

Bug #1729345 reported by Sébastien BLAISOT
30
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Mixxx
2.1
Fix Released
High
Daniel Schürmann

Bug Description

Sometimes, when playing, scrolling waveform is replaced by scrolling triangles (the waveform is hidden). It appears again when you stop playing.

Seen with last master (2.1-pre-alpha) under windows.

No matter what waveform engine you use (GL, software, filtered, RGB, etc...), the result is the same.

I can't reproduce it 100% and didn't find a way to find what causes this issue.
I saw it twice : once on a computer in which mixxx was installed for the first time (no former config) and it first happenned today on my main computer after a skin switch and is now 100% reproductible (event after mixxx quit/relaunch).

video showing the problem can be found here: https://youtu.be/o-sKeq4VnK8

After further research, this always happens with windows WDM-KS audio driver.

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

Was the same song loaded on both PCs when it happened?

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

Even though you can't reproduce it 100%, can you try with the previous master build? Does it happen on another OS?

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

Also try with both Windows builds, 32- and 64-bit.

Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

this is not related to song (file)
this is not related to deck

I will try with other builds & bitwidth, and I will also try with fresh profile dir and with reinstalled software. I will also try after PC reboot (in case it's something related to graphic card/driver state)

Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

starting with a fresh settings dir on my PC (default latenight skin) doesn't show the problem.
switching back to my existing settings dir and the problem comes again. so this is related to a pref.
interresting.

Keeping searching...

Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

hey hey.
removing soundconfig.xml from the settings dir let me recover crolling waveforms.

so there is something related to soundconfig.xml that breaks scrolling waveforms...

Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

found it.
When you select windows WDM-KS audio driver, scrolling waveforms are broken.

summary: - scrolling waveform sometimes hide when playing
+ scrolling waveform broken with windows WDM-KS sound driver
description: updated
Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

well, uninstalling and reinstalling the exact same mixxx version (git6359) make it working again.
Unbelievable.

There is something weird in it but I didn't manage to find what.

keeping this bug open because the origin has not been found.

Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

I can finally reproduce 100%

1. Install Mixxx git6359 (fresh install)
2. start with a fresh profile (--settingsPath /path/to/empty/dir)
3. select library directory
4. configure sound hardware with windows WDM-KS
5. scrolling waveforms are broken.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

The scrolling waveform is synced by using latency information from the audio callback to compensate the waveform jitter.
Is there something in the mixxx.log complaining about this is not working?

I think we have to make a version with extra debug messages around the hat feature.

Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

hummm.

when it's not working, this is reproductible 100%
but when it's beginning to work again, i'm unable to reproduce.

seems like a video driver bug or something that keeps a state outside of Mixxx :(

hard to catch.

Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

I managed to have old versions not working (up to git 6150) and new versions working (up to git 6359) without being able to tell what cause it to work or not.

when not working, it's always with wdm-ks sound driver. switching to ASIO make it working, and back to WDM-KS not working again.

but sometimes (?) it works always including with wdm-ks.

Revision history for this message
Be (be.ing) wrote :

Is this an issue we can feasibly fix for 2.1? If not, I think advising users to use ASIO is a good enough workaround for 2.1. We already do this in the manual.

Be (be.ing)
Changed in mixxx:
importance: High → Medium
milestone: 2.1.0 → none
Revision history for this message
Be (be.ing) wrote :

Removing 2.1 milestone (for now). If there are any volunteers to look into this for 2.1, please assign yourself and put the 2.1 milestone back. I suspect fixing this may require some risky changes that we wouldn't want to make for 2.1 at this point anyway.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

We should investigate this before release since the majority of users are one Windows and ASIO is problematic if using ASIO4All.

Changed in mixxx:
milestone: none → 2.1.0
Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

please note that the majority of windows users without a controller don't have any ASIO driver and can't use ASIO until they install ASIO4ALL (which doesn't seem to be a good solution).

I can reproduce this so if there is any information I can grab, please let me know.

Revision history for this message
Peter Burg (wunjo) wrote :

Confirmed, win7-64, WDM-KS, AMD Radeon driver,up to date

After screen switch off, switch on again.
By changing the sound buffer value, it will be corrected (as workaround)

Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

scrolling waveforms are still broken with WDM-KS driver.
I think this is a serious downside for the beta.

Revision history for this message
Peter Burg (wunjo) wrote :

Issue appears here also after high CPU-load / high memory-load.
looks like some layer on the screen breaks

After the workaround mentioned before, it works again.

On windows you have to use ASIO or KS, other options sound really bad

Revision history for this message
Peter Burg (wunjo) wrote :

p.s I'm using now mixxx-2.2.0-alpha-pre-master-release-x64-latest
Haven't seen any changes in behavior yet

Revision history for this message
Rod Smart (rockinrod) wrote : Re: [Bug 1729345] Re: scrolling waveform broken with windows WDM-KS sound driver

Yes Waveform works fine with asio. However my ESI Maya 44 sound card locks up sometimes when using asio.

Sent from Rod Smarts iPhone

> On 2 Feb 2018, at 7:20 am, Peter Burg <email address hidden> wrote:
>
> p.s I'm using now mixxx-2.2.0-alpha-pre-master-release-x64-latest
> Haven't seen any changes in behavior yet
>
> --
> You received this bug notification because you are subscribed to a
> duplicate bug report (1745798).
> https://bugs.launchpad.net/bugs/1729345
>
> Title:
> scrolling waveform broken with windows WDM-KS sound driver
>
> Status in Mixxx:
> Confirmed
>
> Bug description:
> Sometimes, when playing, scrolling waveform is replaced by scrolling
> triangles (the waveform is hidden). It appears again when you stop
> playing.
>
> Seen with last master (2.1-pre-alpha) under windows.
>
> No matter what waveform engine you use (GL, software, filtered, RGB,
> etc...), the result is the same.
>
> I can't reproduce it 100% and didn't find a way to find what causes this issue.
> I saw it twice : once on a computer in which mixxx was installed for the first time (no former config) and it first happenned today on my main computer after a skin switch and is now 100% reproductible (event after mixxx quit/relaunch).
>
> video showing the problem can be found here:
> https://youtu.be/o-sKeq4VnK8
>
>
> After further research, this always happens with windows WDM-KS audio driver.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mixxx/+bug/1729345/+subscriptions

Revision history for this message
JosepMa (josepma) wrote :

@Peter Burg: The type of Sound API does not affect the quality of the audio. They affect the minimum latency possible and the ability of other applications to use the soundcard at the same time.

Of course, MME and Directsound also depend on the playback settings setup in Windows, including enhancements like equalizers and the likes, so the user has a higher chance of setting it incorrectly.

As for the issue, I've tested a bit, and seems that the triangle issues happen when asking for a too low latency. Audio is played back at higher latency, but it tries to sync graphics to the lower latency, and triangles start to appear.

I wonder if we could pop up a warning if the latency asked is notably different than the one obtained. (There should be margin for differences).

Revision history for this message
Be (be.ing) wrote :

I don't think there is time to implement a good solution for this for 2.1. At least we can add a section to the Troubleshooting wiki page ( https://mixxx.org/wiki/doku.php/troubleshooting ) suggesting to configure a higher buffer size or a different sound API.

Changed in mixxx:
milestone: 2.1.0 → 2.2.0
Revision history for this message
Peter Burg (wunjo) wrote :

@JosepMa: Thanks for looking into it.
The other API's should also have issues with bitrate conversions. Ks is straight, at least that's what me has been told. So I apparently hear the difference now. Of course I switched of all equalizers and stuff like that.
About latency, in my usercase, pure music broadcast piping trough Stereotool 48k, it's not really needed to get the shortest. I even use the longest to avoid hiccups while browsing on the same machine, like now.(and set mixxx up in priority)
Difference in audio and grahics could be the case, I used a full resolution 4k screen on 30Hz, brought it back to 2560x1440 to get 60Hz. Helas occasionally still occurring sometimes.

Changed in mixxx:
milestone: 2.2.0 → 2.1.1
Changed in mixxx:
milestone: 2.1.1 → 2.1.2
Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

up. Is someone taking a look at this ?

Changed in mixxx:
importance: Medium → High
Changed in mixxx:
milestone: 2.1.2 → 2.1.3
Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

During problem of interface lag under windows we had with release 2.1.2, I noted that the scrolling waveform is refreshed from time to time.

Changed in mixxx:
milestone: 2.1.3 → 2.1.4
Revision history for this message
Sébastien BLAISOT (sblaisot) wrote :

seems fixed in 2.2 builds with Qt5 \o/

Be (be.ing)
Changed in mixxx:
milestone: 2.1.4 → 2.2.0
status: Confirmed → Fix Committed
Revision history for this message
Daniel Schürmann (daschuer) wrote :

We have not actually fixed it. 2.1 is still supported so we need to keep this open.
Is it a regression from 2.0 by the way?

no longer affects: mixxx
Revision history for this message
Be (be.ing) wrote :

I don't think there's much point to fixing this for 2.1 when it is already fixed for 2.2. We still don't know what caused the bug and it may require extensive changes which would risk regressions for 2.1.

Revision history for this message
Mel Grubb (melgrubb) wrote :

I get this pretty consistently, but rebooting makes it go away. I am unable to use the ASIO drivers because the drivers are combined for the M-Audio Xponent that I use, and loading the drivers makes ASIO work, but makes the lights stop working. WDM-KS has been working for me for several versions now, and has only started acting this way in 2.1. For now, I just reboot before a gig, which is my practice anyway, but there's definitely some weirdness going on here.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

A fix is here, ready for review. https://github.com/mixxxdj/mixxx/pull/1868

Revision history for this message
Rod Smart (rockinrod) wrote :

Hi, I have recently upgraded to Mixxx 2.2.0 and I notice that this problem is still present when using WDM-KS API.
Was it supposed to be fixed in 2.2.0?

Revision history for this message
Daniel Schürmann (daschuer) wrote :

The Pull request linked above does fix the issue for me and is integrated in 2.1.5 and 2.2.0
If you still see the issue in 2.2.0 it must be a different root cause.

Since this bug is in Fix Release state, please file a new one. Please add Info about you OS tested soundcard and what exactly happens with the waveforms.

Is 2.1.8 also effected? 64 and 32 bit?
Is the issue solved if you pick other sound APIs? Does it make a difference if you select the network clock as reference?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.