Closed AranVink closed 3 months ago
Is there any chance this will be merged soon? Would be great for Dell Inspiron Laptops.
Merged. Sorry you had to wait so long for this. @crazii tends to have longer periods of absence from this project sometimes, which is understandable. I'll try to be more active in (co)maintaining this project, going forward. I'm not nearly as skilled in C coding as he is, but I should at least be able to review trivial merge requests like this one.
Thanks for helping maintain and improve SBEMU! :slightly_smiling_face:
Please. No need to apologise. We all have lives and priorities. Thank you for the merge. 😊
@AranVink @slikvik55 Hmmm.... Something must have gone wrong with the merge.
The following entry disappeared from the array allegro_devices[]
:
{"Solo 1 Audiodrive", 0x125D, 0x1969, 0}, // ES1938/ES1946/ES1969 Solo-1
I'm not quite sure how that happened, since I didn't see @AranVink explicitly remove this entry in this PR.
A bit puzzling. I'll try to go through the history tomorrow in more detail.
I was about to make a release based on this merge, but I'll hold off on that until this mystery is solved.
Any help you could provide me on this is welcome. Thanks! :pray:
Ah, wait. @AranVink added the Solo 1 Audiodrive
in an earlier commit in that branch and removed it in a subsequent commit. So no devices were removed in that branch that weren't already in main
. I guess it's safe to release, then.
@AranVink Can you maybe elaborate whether the Solo 1 Audiodrive
entry was added to allegro_devices[]
accidentally? Would it be worth adding it back in in a subsequent PR? Do I understand correctly that it's missing from the Linux driver? Thanks for clarifying.
@AranVink I assume you based it on the following array from sound/pci/maestro3.c in the Linux kernel sources:
/*
* pci ids
*/
static const struct pci_device_id snd_m3_ids[] = {
{PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_ALLEGRO_1, PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0},
{PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_ALLEGRO, PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0},
{PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_CANYON3D_2LE, PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0},
{PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_CANYON3D_2, PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0},
{PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_MAESTRO3, PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0},
{PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_MAESTRO3_1, PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0},
{PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_MAESTRO3_HW, PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0},
{PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_MAESTRO3_2, PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0},
{0,},
};
Indeed, the Solo 1 is not on that list.
I guess I'll just go ahead and release a version with your changes.
So the Solo 1 needs a driver other than maestro3, is that correct?
Sorry I can't help @volkertb and hopefully @AranVink checks the comments and responds for confirmation, but thanks for the merge and release.
@volkertb Indeed it wasn't on the list of the driver. The Solo chip has way better FM implementation (ESSfM) and the drivers are pretty decent too, so far that one I wouldn't use SBEMU myself.
Thanks for clarifying. :+1: One idea might be to eventually add legacy I/O port redirection support for sound cards like the Solo-1 when used in motherboards with PCI bridges that don't support subtractive decode. But that's not the highest priority right now, I think.
This PR adds ESS Maestro 3i (ES1983) support. It also tweaks AC97 default volume settings, to mute inputs like microphone and line in by default.
Maestro 3i support is tested and working on: Fujitsu Siemens Liteline Dell Latitude C810 1000X Games used: Doom, Descent, Duke3D
I've also gone ahead and added the Maestro 2, 2E, Canyon 3d 2 support. These were already part of the Linux drivers, but remain untested.