Author Topic: Updated Uniaud32 build  (Read 656824 times)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2494
  • Karma: +188/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #1065 on: April 07, 2025, 10:33:01 am »
  Thanks Paul... it works well here on VBox 7.1 in hda mode. Haven't tried bare metal yet...

Thanks David - anyone on bare metal?

Eugene Tucker

  • Sr. Member
  • ****
  • Posts: 407
  • Karma: +16/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #1066 on: April 07, 2025, 12:35:44 pm »
Yes Paul working on a real piece of Iron and well to boot.

Mike Kölling

  • Full Member
  • ***
  • Posts: 140
  • Karma: +8/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #1067 on: April 07, 2025, 02:26:27 pm »
Thanks David - anyone on bare metal?

Yes, working on my TP X250 well.
Greetings, Mike

Sigurd Fastenrath

  • Hero Member
  • *****
  • Posts: 644
  • Karma: +35/-0
  • OS/2 Versus Hardware - Maximum Warp!
    • View Profile
Re: Updated Uniaud32 build
« Reply #1068 on: April 07, 2025, 07:02:52 pm »
Hi Paul,

I will give it a try on my ASUS ROG Zephyrus G14 2024 but doubt it will work.

The reason for this is:

As you may know I have a triple Boot System with Windowss 11 Pro, ArcaOS 5.1.1 and Linux Mint Cinnamon 22.1.

Even with Linux Mint Cinnamon 22.1 the Sound on this device does not work well out of the box. Standard Installation uses an 6.8.xxx Kernel, EDIT: that produces sound only on a very very low Level, it took me some time to find out how to get Sound on higher level with Linux to work.

A User in a Forum adviced me to install an OEM Kernel with at least 6.11.xxxx.

Once I did that sound works marvelous with Linux (Windows is no problem at all, no surprise here). I even figured out how to boot the Kernel 6.11.xx as the standard boot (instead using Kernel 6.8.xxx) with the rEFInd Bootmanager.

If I understand correctly the kernel you use here is some 6.6.xxx, so I guess I have to wait for a long long time....  ;) ;D

Thanks a lot for your tremendous work over the Years!!! I will report, if your driver will work on my device.

Sigurd
« Last Edit: April 08, 2025, 11:51:16 am by Sigurd Fastenrath »

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5249
  • Karma: +44/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Updated Uniaud32 build
« Reply #1069 on: April 07, 2025, 10:47:48 pm »
Thanks Paul
...https://smedley.id.au/tmp/uniaud32-linux-6.6.85-20250406.zip

It works fine, just like the last time, with the current updates to my system.

I tested it (Release version) with ArcaOS 5.1.1 (BIOS) guest on VBox 7.1.6  (Windows 11 24H2 host).
- VM ICH AC97: Works, Audio control working, no traps. Just like the included ArcaOS 5.1 Uniaud.
-- I still have an issue that the first time I play a wav, I hear it loud (100%) and the next times I play it I hear it lower respecting the volume setting. If I drag a file to force the drag sound it sound 100% again, I play another wav  and it is 100% again and the next times respects the volume control (40%). It's the same issue from 3.01.03 (5.14.7), not a new issue.
- VM Intel HD Audio: Works, Audio control working, no traps.
-- It does not has the lowering volume issue as in "ICH AC97"
-- But it still produce sounds in a lower volume. I had to rise it to a 100% to be able to hear something in my speakers, it is the same issue as the 3.01.03 (5.14.7).

For me it is working fine I'm keeping it on my VM.

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

Sigurd Fastenrath

  • Hero Member
  • *****
  • Posts: 644
  • Karma: +35/-0
  • OS/2 Versus Hardware - Maximum Warp!
    • View Profile
Re: Updated Uniaud32 build
« Reply #1070 on: April 08, 2025, 11:15:01 am »

- VM Intel HD Audio: Works, Audio control working, no traps.
-- It does not has the lowering volume issue as in "ICH AC97"
-- But it still produce sounds in a lower volume. I had to rise it to a 100% to be able to hear something in my speakers, it is the same issue as the 3.01.03 (5.14.7).


Just to let you know: I do have the same behaviour with the Linux Installation on the ASUS ROG Zephyrus.

When Linux Mint 22.1 does use the Kernel 6.8.xxx (Standard Kernel with Linux Mint 22.1) I have sound, but the volume is even at 100% so low, that it is like only a whisper.

As said before, changing the Kernel to an 6.11.XXX OEM Version just fixed it, sound works perfect.

So I guess these problems with UNIAUD are there because fo the Linux Kernel Version used. But only a thought or guess.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2494
  • Karma: +188/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #1071 on: April 08, 2025, 11:26:27 am »
As said before, changing the Kernel to an 6.11.XXX OEM Version just fixed it, sound works perfect.

So I guess these problems with UNIAUD are there because fo the Linux Kernel Version used. But only a thought or guess.

Do Asus publish patches for their OEM 6.11.xxx kernel? They readlly should as the kernel code is GPL....

Cheers,

Paul

Sigurd Fastenrath

  • Hero Member
  • *****
  • Posts: 644
  • Karma: +35/-0
  • OS/2 Versus Hardware - Maximum Warp!
    • View Profile
Re: Updated Uniaud32 build
« Reply #1072 on: April 08, 2025, 01:16:00 pm »
Hi Paul,

sorry, I have no idea about this. 

I only found a site to download different Linux Kernels: https://www.kernel.org/, that you already know, I guess.

I will try to find more information about a Kernel on Linux and what's different with an OEM one.


EDIT: For ASUS and Linux I found this page, https://asus-linux.org/, but

- the Software provided there does not work with Ubuntu
- I think it is more a privat User Project, not official ASUS, but I do not know exactly



« Last Edit: April 08, 2025, 02:18:40 pm by Sigurd Fastenrath »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2494
  • Karma: +188/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #1073 on: April 08, 2025, 10:50:22 pm »
Thanks Sigurd - where exactly are you downloading/installing this '6.11.XXX OEM Version' kernel from? I'm guessing they have created some patches which should eventually make it to an upstream kernel.

My next goal will be to try and get last year's LTS kernel (ie 6.12) working (well the sound code from this kernel). Just need a rainy day and some motivation :)

Sigurd Fastenrath

  • Hero Member
  • *****
  • Posts: 644
  • Karma: +35/-0
  • OS/2 Versus Hardware - Maximum Warp!
    • View Profile
Re: Updated Uniaud32 build
« Reply #1074 on: April 08, 2025, 11:30:57 pm »
Hi Paul,

I got the Tip for the Kernel here: https://www.linuxmintusers.de/index.php?topic=84134.msg1089651#msg1089651

Translated into english:

Hello,
That sounds like a prime example of using an OEM kernel.
You can get the OEM kernel 6.11 by installing the linux-oem-24.04b package – e.g., via Synaptic. You can then manage the kernel as usual via the kernel management in the update manager.
With a bit of luck, your sound will work by then; if not, we'll get the obviously required firmware installed as well.

Best,
vnt


I followed exactly that procedere.

I already send you a special Motivation via Arca Noae ;)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2494
  • Karma: +188/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #1075 on: April 09, 2025, 10:40:33 am »
Hey Sigurd - thanks for that information. That package is interesting - there is a source package listed at https://launchpad.net/ubuntu/noble/+package/linux-oem-24.04b but it's still not clear to me how it differs from the upstream kernel.

Anyway, at some point I'll target 6.12 and see how I go!

Motivation via the AN store wasn't what I was thinking of, but it is very much appreciated!!

It's more a matter of preparing myself for some tedious work applying diffs and implementing (or working around) missing kernel functions - and more particularly - limitiations from the ageing openwatcom compiler which doesn't support some of the newer C code styles used in the kernel.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2494
  • Karma: +188/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #1076 on: April 11, 2025, 10:35:51 am »
OK I started looking at the 6.12 kernel code. Doesn't look too nasty.. biggest challenge in terms of failed diffs is lots of changes like:
Code: [Select]
- write_lock_irqsave(&card->ctl_files_rwlock, flags);
+
+ scoped_guard(write_lock_irqsave, &card->controls_rwlock)
&
Code: [Select]
- read_lock_irqsave(&card->ctl_files_rwlock, flags);
+
+ guard(read_lock_irqsave)(&card->controls_rwlock);
&
Code: [Select]
- down_read(&snd_ioctl_rwsem);
+ scoped_guard(rwsem_read, &snd_ioctl_rwsem) {

I need to work out whether to keep the code that works (which increases complexity of applying future diffs), or work out how to implement guard() and scoped_guard().

These look like they're defined in:
https://elixir.bootlin.com/linux/v6.12.4/source/include/linux/cleanup.h#L302

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2494
  • Karma: +188/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #1077 on: April 12, 2025, 04:10:06 am »
Well, I've committed the changes in https://trac.netlabs.org/uniaud/changeset/766 - now 'just' to get it to compile/link :)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2494
  • Karma: +188/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #1078 on: April 13, 2025, 03:01:36 am »
OK, it's compiling now - but 127 link errors.

The majority are similar to:
Code: [Select]
U:\dev\uniaud\uniaud32-exp\lib\Debug\linuxlib.lib(U:\dev\uniaud\uniaud32-exp\lib32\ioctl.c) : error LNK2025: _deprecated : symbol defined more than once. Original definition in U:\dev\uniaud\uniaud32-exp\lib\Debug\linuxlib.lib(U:\dev\uniaud\uniaud32-exp\lib32\pci.c)
U:\dev\uniaud\uniaud32-exp\lib\Debug\linuxlib.lib(U:\dev\uniaud\uniaud32-exp\lib32\sound.c) : error LNK2025: _deprecated : symbol defined more than once. Original definition in U:\dev\uniaud\uniaud32-exp\lib\Debug\linuxlib.lib(U:\dev\uniaud\uniaud32-exp\lib32\pci.c)
U:\dev\uniaud\uniaud32-exp\lib\Debug\linuxlib.lib(U:\dev\uniaud\uniaud32-exp\lib32\soundmixer.c) : error LNK2025: _deprecated : symbol defined more than once. Original definition in U:\dev\uniaud\uniaud32-exp\lib\Debug\linuxlib.lib(U:\dev\uniaud\uniaud32-exp\lib32\pci.c)
U:\dev\uniaud\uniaud32-exp\lib\Debug\linuxlib.lib(U:\dev\uniaud\uniaud32-exp\lib32\soundmidi.c) : error LNK2025: _deprecated : symbol defined more than once. Original definition in U:\dev\uniaud\uniaud32-exp\lib\Debug\linuxlib.lib(U:\dev\uniaud\uniaud32-exp\lib32\pci.c)

So I imagine those will be an easy fix, once I figure out where 'deprecated' is coming from!

Edit: that was easy :P 11 symbols now..
« Last Edit: April 13, 2025, 03:03:24 am by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2494
  • Karma: +188/-0
    • View Profile
Re: Updated Uniaud32 build
« Reply #1079 on: April 13, 2025, 03:35:39 am »
OK... https://smedley.id.au/tmp/uniaud32-linux-6.12.21-20250413.zip

The good news - it doesn't trap here under virtualbox with ac97 or hda.

With ac97 sound seems to work.

With hda, there is no trap, but the system stalls with a flashing underscore. It's interesting, as the serial log seems pretty normal (see attached).

I'll have to compare it to a log with a 6.6.x driver