Author Topic: Updated Uniaud32 build  (Read 371136 times)

Mark Szkolnicki

  • Sr. Member
  • ****
  • Posts: 433
  • Karma: +18/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #945 on: October 05, 2022, 10:44:19 pm »
Heh Paul!

Hope your having a fine week.

Temps today are into fall normals here (ie. cold) so had some time this morning to spend a little more time on having a look at the SB Recon3D.

Again thanks for giving us some access to your historic TRAC files.

I've narrowed down when it started to work as to within the 5.10.x UniAud32 series.

5.10.45 20210619 produces no sound and you get the window attached below, when accessing PMUnimix, which states:

uniaud_mixer_get_ctls_number:error $00000000

Testlog for this version is also attached

5.10.50 20210721, your next build, is where you get the Recon3D to work, with the current state we've observed (cold boot / warm boot from other partitions, a single Master Playback sound section, which does not control the mixer).

Testlog for this version also attached.

As the GIT changelog I originally attached said 4.18 RC1 was released in June 2018, and thats where the ca0132 changes were supposedly committed, I'm wondering whether that patch I attached previously was ever committed to the source files you used, for some strange reason - I noted that  a 4.17.19 build of UniAud32 and a 4.19.163 build were released - I tested both and got the same window as described about, moving upward until 5.10.50 - I suspect some other support function is causing it to function there - hopefully there were not too many commitments between 5.10.45 and 5.10.50.

Anyway, just thought I'd let you know what I discovered, as it was interesting and Best!

M
Vincit Que Se Vincit - "He Who Conquers Self Succeeds"

Mark Szkolnicki

  • Sr. Member
  • ****
  • Posts: 433
  • Karma: +18/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #946 on: October 05, 2022, 10:57:56 pm »
Heh Eugene!

To all, I got PM123 working. Thanks again to Mark f9rt his suggestions.

Hope your having a fine day.  8)

As you know I only started using PM123 v1.43 a couple of days ago - but I may have run into the condition you described, and it seems to be related to v1.43 (although I haven't tested it on v1.41 or v1.37 yet).

I was running the music player, and then opened the MahJongg game that came with ArcaOS. Switching to PM123 to load a new song, which started playing, then switching back to Mahjongg, the sound cut out - upon closing Mahjongg the sound returned, but then cut out after a few seconds.

I think something similar happened with Daves latest version of Seamonkey and PM123 when both were running - but it seems changing focus to another ArcaOS program and then back may trigger it.

Will have to test this a little more with other PM123 versions and Best!

M
Vincit Que Se Vincit - "He Who Conquers Self Succeeds"

Eugene Tucker

  • Sr. Member
  • ****
  • Posts: 369
  • Karma: +12/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #947 on: October 06, 2022, 04:39:28 am »
Mark, yep i have gone a few days with out it happening. but I bet it strikes again.

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: Updated Uniaud32 build
« Reply #948 on: October 06, 2022, 07:55:29 am »
Quote
I was running the music player, and then opened the MahJongg game that came with ArcaOS. Switching to PM123 to load a new song, which started playing, then switching back to Mahjongg, the sound cut out - upon closing Mahjongg the sound returned, but then cut out after a few seconds.

Mahjong, and Klondike solitaire, use sound to time the game, even when sound is turned off. Depending on the capabilities of the sound driver, that can, or might not, cause sound problems.  Usually, the "music" that you are listening to stops. When you close the game, the "music" should continue. It is very common for the sound to have trouble getting started again. That has been a serious flaw in UniAud, since day one.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #949 on: October 06, 2022, 10:51:43 am »
Hey Doug,
Mahjong, and Klondike solitaire, use sound to time the game, even when sound is turned off. Depending on the capabilities of the sound driver, that can, or might not, cause sound problems.  Usually, the "music" that you are listening to stops. When you close the game, the "music" should continue. It is very common for the sound to have trouble getting started again. That has been a serious flaw in UniAud, since day one.

Agreed. Unfortunately the problem there is likely to lie in the uniaud16 code which is voodoo to me.

Cheers,

Paul.

Lars

  • Hero Member
  • *****
  • Posts: 1271
  • Karma: +65/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #950 on: October 06, 2022, 01:19:27 pm »
There are two aspects to this "sound stop / sound restart" problem:

1) if the sound driver and HW are capable of playing multiple sound streams concurrently: I do not know of UNIAUD but for the USB sound drivers I had to define a configuration and had to implement the runtime capability check correspondingly (there is an IOCTL to the audio driver to check how many streams it can play concurrently), so that only one stream can be played at any time because that is all that the USB audio HW supports. Consequently, if I play a sound file and switch to another one while the first one is still playing, the first will get interrupted until the second has been played to completion or aborted. It will then continue to play the first. At least for the USB sound drivers, that now works very well. The UNIAUD MMPM config claims it can handle up to 32 streams concurrently but the implementation of the sound driver (yes: very likely a part of UNIAUD16.SYS) might not properly report back its capabilities (if at all capable to play multiple streams concurrently).

2) "hiccup" of Chris Wohlgemuths audio classes: if you have these classes installed and if you double click on a sound file to have it play, if something goes wrong (for example, your default sound driver is set to USB driver but you have no USB audio device attached), you will not be able to have that sound file play again until you have done at least a WPS reset. That's a problem in how these audio classes integrate into the WPS but not with any sound driver as such. Easy enough to test: if you load that sound file into say PM123, it will play even if it failed before.

« Last Edit: October 06, 2022, 01:22:56 pm by Lars »

Mark Szkolnicki

  • Sr. Member
  • ****
  • Posts: 433
  • Karma: +18/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #951 on: October 06, 2022, 05:11:03 pm »
Hey gentlemeen!

Hey Doug,
Mahjong, and Klondike solitaire, use sound to time the game, even when sound is turned off. Depending on the capabilities of the sound driver, that can, or might not, cause sound problems.  Usually, the "music" that you are listening to stops. When you close the game, the "music" should continue. It is very common for the sound to have trouble getting started again. That has been a serious flaw in UniAud, since day one.

Agreed. Unfortunately the problem there is likely to lie in the uniaud16 code which is voodoo to me.

Cheers,

Paul.

Interesting discussion.

Before reading this this morning I tried PM123 v1.41 last night and found the same issue, so as you say it may be endemic - I found it interesting mainly because it seemed to be a new problem based on Eugene's report, but perhaps it has been there all along, and I never noticed it.

These are the Glassman versions, and I seem to recall back in one of the change logs that he had put a fix in allowing concurrent sound to occur (ie. more than one application using sound at the same time - I have no idea how he would have done that, if it was even possible, and my dusty memory may be faulty).

I don't have sound enabled in either Mahjongg or Solitaire, so it didn't think it would be an issue - but if Doug is correct and its used as a timer in the apps, that would explain it.

To be thorough I will try v1.35 and v1.37 as well later today - taking my lovely wife out for breakfast at a new place for us - Headquarters Restaurant located in Sherwood Park, our nearest large centre, west of us and east of Edmonton.

M
« Last Edit: October 06, 2022, 05:12:41 pm by Mark Szkolnicki »
Vincit Que Se Vincit - "He Who Conquers Self Succeeds"

Eugene Tucker

  • Sr. Member
  • ****
  • Posts: 369
  • Karma: +12/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #952 on: October 06, 2022, 08:12:23 pm »
I agree with Mark thank yo for the discussion. I will only expect so much for the uniaud32.sys.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #953 on: October 07, 2022, 04:19:34 am »
Hey Lars!!
There are two aspects to this "sound stop / sound restart" problem:

1) if the sound driver and HW are capable of playing multiple sound streams concurrently: I do not know of UNIAUD but for the USB sound drivers I had to define a configuration and had to implement the runtime capability check correspondingly (there is an IOCTL to the audio driver to check how many streams it can play concurrently), so that only one stream can be played at any time because that is all that the USB audio HW supports. Consequently, if I play a sound file and switch to another one while the first one is still playing, the first will get interrupted until the second has been played to completion or aborted. It will then continue to play the first. At least for the USB sound drivers, that now works very well. The UNIAUD MMPM config claims it can handle up to 32 streams concurrently but the implementation of the sound driver (yes: very likely a part of UNIAUD16.SYS) might not properly report back its capabilities (if at all capable to play multiple streams concurrently).

My understanding with respect to Uniaud and multiple streams is that whilst uniaud16 in theory allows up to 32 streams; in practice; only the SB32 cards  using the emu10k1 code actually support multiple streams. All HDA hardware only supports a single stream.

Cheers,

Paul.

Lars

  • Hero Member
  • *****
  • Posts: 1271
  • Karma: +65/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #954 on: October 07, 2022, 09:41:40 am »
It's a general shortcoming of the audio driver design that makes a "one size fits all" solution difficult to implement. The design started off in the 90's where an audio driver was created for exactly one specific audio device (honestly, there is a "device ID" that can take values "PAS16", "SOUND_BLASTER" etc., but also "MINIDD". The first two indicate what I said, the latter already shows that the concept was falling short of reality, it just stands for "mini device driver", whatever that means in MS talk, they obviously where implementing much of the MMPM subsytem).

So, for UNIAUD, the "largest common denominator" is to report back capability for 1 playback and 1 recording stream or for UNIAUD32.SYS to report back to UNIAUD16.SYS if the specific card supports more than one stream and have UNIAUD16.SYS report back the proper number during runtime (on the "IOCTL_Capability" call).

But if the specific HW/FW only supports 1 playback stream, then it is natural for the MMPM subsystem to interrupt a playing stream if another sound file is selected.

Thank god, I have never seen any USB audio HW that would be able to support more than 1 concurrent (playback) stream. I think, the USB audio spec does not even allow that.
« Last Edit: October 07, 2022, 01:35:44 pm by Lars »

Mark Szkolnicki

  • Sr. Member
  • ****
  • Posts: 433
  • Karma: +18/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #955 on: October 07, 2022, 05:15:53 pm »
Heh Paul!


New builds at https://smedley.id.au/tmp/uniaud32-linux-6.0-20221003.zip

Cheers,

Paul

BTW, related to the SB Recon3D working starting at build 5.10.50, I was curious so I pulled the change log from Linux for kernel build 5.10.50 and skimmed through it.

Like every Linux change log, its a long document, but near the bottom I noted the ALSA changes - there were 13 committed of which 3 or 4 were USB audio related.

It included a number of changes related to the codecs for the ALC236 and 285 chipsets, and a number of general changes - nothing directly related to ca0132 boards.

So I suspect that the Recon3D working as of that build in ArcaOS is a bit of a fluke, which would explain why it shows up and works but no mixer support directly through Unimix. Reading up on it today, supposedly it uses a quad core sound processor, which I suspect is a much more complex technology to program for.

I hope to get around to seeing when the SB Xi-Fi Titanium started showing up sometime this month as well but not this weekend - Canadian Thanksgiving this Monday, and we're feasting with the stepson and girlfriend (Anne's son), and friends coming in from Saskatchewan (next province to the east) on Saturday.

Best of the weekend to you!

M
« Last Edit: October 07, 2022, 07:55:25 pm by Mark Szkolnicki »
Vincit Que Se Vincit - "He Who Conquers Self Succeeds"

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
Re: Updated Uniaud32 build
« Reply #956 on: October 07, 2022, 09:02:39 pm »
Hello
Yesterday testing this version I was very pleasantly surprised.
Version:
https://smedley.id.au/tmp/uniaud32-linux-6.0-20221003.zip


On the other hand, this same version of a PC at work was installed and when restarting it,
 he gave me this failure. I attach a photo. Return to the original version.In a Lenovo i3.
I think I put the release version.
Saludos

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #957 on: October 07, 2022, 11:01:01 pm »
Hey Mark,
BTW, related to the SB Recon3D working starting at build 5.10.50, I was curious so I pulled the change log from Linux for kernel build 5.10.50 and skimmed through it.

Like every Linux change log, its a long document, but near the bottom I noted the ALSA changes - there were 13 committed of which 3 or 4 were USB audio related.

It included a number of changes related to the codecs for the ALC236 and 285 chipsets, and a number of general changes - nothing directly related to ca0132 boards.

So I suspect that the Recon3D working as of that build in ArcaOS is a bit of a fluke, which would explain why it shows up and works but no mixer support directly through Unimix. Reading up on it today, supposedly it uses a quad core sound processor, which I suspect is a much more complex technology to program for.

Much simpler explanation... See https://github.com/psmedley/uniaud32/commits/uniaud32-next?after=716c19a32ab8e49891508fdf0a92dcb769ad69d9+34&branch=uniaud32-next&qualified_name=refs%2Fheads%2Funiaud32-next

(this is a github mirror of the netlabs svn - the netlabs trac interface is a bit clunky). Simply put, the patch_ca0132 backend code was only compiled in to uniaud AFTER the update to 5.10.50.

Cheers,

Paul

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4714
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Updated Uniaud32 build
« Reply #958 on: October 09, 2022, 05:08:17 am »
New builds at https://smedley.id.au/tmp/uniaud32-linux-6.0-20221003.zip
Hi Paul

I tested it (Release version) with OS/2 Warp 4.52 (14.106) guest on VBox 6.1.38 (Windows 10 21H2 host).
- VM ICH AC97: Works, Audio control working, no traps.
- VM Intel HD Audio: Works, Audio control working, no traps.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4714
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Updated Uniaud32 build
« Reply #959 on: October 09, 2022, 05:13:15 am »
New builds at https://smedley.id.au/tmp/uniaud32-linux-6.0-20221003.zip
Hi Paul

Today I also tested it on the Thinkpad L420.
- Works. No trap. Master volume working. Works good here.
Thanks
Martin Iturbide
OS2World NewsMaster
... just share the dream.