ChanServ changed the topic of #asahi-dev to: Asahi Linux: porting Linux to Apple Silicon macs | Non-development talk: #asahi | General development | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Logs: https://alx.sh/l/asahi-dev
<dylantaylor>
I made a PR to asahi-wip to enable the microphone on this device based on earlier testing, I see jannau has been maintaining this, and was hoping that everyone would be okay with this being merged. https://github.com/AsahiLinux/linux/pull/380 I think it's ready, and would love to see this land in time for F42 stable.
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
dylantaylor has quit [Quit: Leaving]
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
rrendec has quit [Ping timeout: 480 seconds]
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
pb17 has quit [Ping timeout: 480 seconds]
john-cabaj has quit [Ping timeout: 480 seconds]
tobhe has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
tobhe_ has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
pb17 has joined #asahi-dev
jmax_ has quit [Ping timeout: 480 seconds]
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nora has joined #asahi-dev
nora_ has quit [Ping timeout: 480 seconds]
aditya has joined #asahi-dev
chrisl has quit [Ping timeout: 480 seconds]
nesnas has quit [Ping timeout: 480 seconds]
chrisl has joined #asahi-dev
nesnas has joined #asahi-dev
chrisl has quit [Ping timeout: 480 seconds]
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
JayBeeFOSS has quit [Remote host closed the connection]
JayBeeFOSS has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
<chadmed>
dylantaylor: did you make any changes to asahi-audio other than relabelling the node? /
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
zumi_ has joined #asahi-dev
zumi has quit [Remote host closed the connection]
elvishjerricco has quit [Remote host closed the connection]
zumi_ is now known as zumi
elvishjerricco has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
aditya has quit [Quit: Connection closed for inactivity]
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
chaos_princess has quit [Quit: chaos_princess]
chaos_princess has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
xdbob has quit [Remote host closed the connection]
xdbob has joined #asahi-dev
pb17 has quit [Ping timeout: 480 seconds]
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
yuka has quit [Remote host closed the connection]
nesnas has joined #asahi-dev
dylantaylor has joined #asahi-dev
<dylantaylor>
chadmed: I did not need to tweak anything to get this working at all. The PR to correct the node name is just aesthetic.
pb17 has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
<chaos_princess>
i somewhat expect this to not be our best sounding machine, since the configs won't fully match the mic array parameters, but it is very cool that it works that well
<dylantaylor>
I didn't realize that tuning is needed in the configuration to match the mic array parameters. What's involved with that? In my initial testing (see the filebin link I posted earlier), I feel it was of reasonable quality.
<dylantaylor>
In mu opinion, it sounds reasonable enough to ship it. I think users of this machine will appreciate mic support earlier followed by fine-tuning down the line
<chadmed>
chaos_princess: those are the ones dylantaylor tested
<chaos_princess>
yes
<chaos_princess>
but if i understood it correct, you copied those from j313, and those arent a perfect match, right?
<chadmed>
nah those are my guesstimate based on the actual j293 mic array teardown by ifixit
<chaos_princess>
oh, wow
<chadmed>
have a look at the other commit on mics branch, j313 was wrong :p
<chaos_princess>
ah, i see it
<chadmed>
alright if we're happy ill merge dylantaylor's MR, pull those commits into main, do the same for the ucm thingy, then tag releases
<dylantaylor>
well, I'm not going to teardown my machine, but if I can tell you anything about it to help you figure out the correct parameters let me know
<chaos_princess>
chadmed: do you think the frequencies and gains are ok?
<chadmed>
chaos_princess: they sound okay in the recording that i got yesterday but ill try and source a j293 machine and fine tune things. i want to "properly" tune all the mics on all the machines with FIRs like we do for the speakers
<chaos_princess>
maybe get dylantaylor to play a frequency sweep?
<chadmed>
nah its not useful to do that for mics. all you're hearing is the speaker's frequency response
yuka has joined #asahi-dev
<chadmed>
mics have to be tuned by ear or with stupidly expensive reference gear
<chaos_princess>
ok
<chaos_princess>
its probably would be cheaper to expense you a j{2,4}93 then :P
<chadmed>
yeah. or someone else can have a crack at tuning it first :p
<chaos_princess>
i still have the dang audacity issue on my install
<dylantaylor>
I know how expensive it is acquiring hardware for developing this project is, so if I can save you several hundred USD on a used MacBook, I'd be happy to
<chadmed>
smdh before i tag another release ill try to work around this stupid shit in our vendored version of the script
<chadmed>
i blame equinix for this still being an issue
<chaos_princess>
fdo gitlab is up already, no?
<chaos_princess>
they just dont have ci runners/s3
<chadmed>
banner still says "consider repos readonly" or something to that effect
<chadmed>
im hoping we'll be back in action tomorrow
<dylantaylor>
I think they're still syncing the artifacts from the old GitLab install
<chadmed>
dylantaylor: that finished earlier today i think
<chaos_princess>
also fdo gitlab is finally no longer absurdly slow. though we shall see what will happen once they start runners
<dylantaylor>
I set up GitLab CI/CD at an old job - getting the runners up is actually really easy. I bet the historical data is the bottleneck
<chadmed>
yeah they had like 100 trillion terabytes of logs and artefacts
<chaos_princess>
probably would be faster to hire an aws snowmobile or sth at that point :P
<chadmed>
take the disks out of the equinix rack, mail them to hetzner
nesnas has quit [Ping timeout: 480 seconds]
<dylantaylor>
I saw that AWS offered to host FDO for free, I'm surprised they didn't do that. EKS would have probably been a great approach. I understand that they wanted to not have infrastructure tied to a sponsorship though.
<chaos_princess>
aws is _expensive_ if they drop the sponsorship
<chaos_princess>
and moving out of there in that case is a yikes
<dylantaylor>
Oh, I know. I'm a DevOps engineer professionally and manage AWS at work. I've seen our cloud bills. :)
<chadmed>
yeah migrating off AWS or Azure services is just.... so painful
<dylantaylor>
It is very easy to get vendor-locked too.
<chadmed>
oh dont i know it :)
<chadmed>
the flog at work i replaced was a full azure+power apps shill
<chadmed>
got "asked to leave" from here, went to another place promising to replace their entire ESM platform with fucking power automate, got fired after like 8 months
<chaos_princess>
hahaha
<chaos_princess>
i dont get people who use azure tbh
<chadmed>
ms graph is a _really_ nice API to be fair, and if youre a legacy business with a whole bunch of microsoft services its a really easy migration
<chadmed>
AD->Entra is so easy
<chadmed>
unfortunately in a lot of established businesses that have existed longer than like 15-20 years, whatever microsoft is offering is just the default and youre "wrong" if you suggest using anything else
<chaos_princess>
nobody got fired for suggesting msft, and so on?
<chadmed>
but yeah its basically that. no one gets fired for deploying exchange or o365 even if it costs $5,000,000 and takes 18 months
nesnas has joined #asahi-dev
<dylantaylor>
Where I work, we've gone through some mergers, so we have multiple competing solutions in the same org. For instance, for business intelligence, it's SAP or Power BI. Last I heard, we want to evaluate also having QuickSight. You mentioning power apps reminded me of how annoying the administration component of that mess is. I don't love the Windows server requirement, and of course none of it supports WS core or
<dylantaylor>
containerization.
<sven>
also, #asahi-offtopic please
<chadmed>
sorry
<jannau>
sven: approved
<sven>
and merged :)
<dylantaylor>
jannau, would you be good with approving https://github.com/AsahiLinux/linux/pull/380 too? That should probably be coordinated with merging the mics branches of the other projects into main.
<dylantaylor>
Full disclosure, I've never written a proper kernel patch, but this is straight-forward enough that I don't have any worries about breakage.
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
<jannau>
dylantaylor: we can change the kernel only after the working user space is deployed
<dylantaylor>
Oh, that makes sense. I'm not familiar with the development process.
<jannau>
plan is to revert the commits adding the "apple,no-beamforming;" first and then to drop them on the next rebase
<dylantaylor>
That makes sense. In which case, my PR isn't needed. No big deal. Having a small commit with my name on it would have been neat from a vanity point of view, but your approach sounds better.
<dylantaylor>
The way you're doing it sounds cleaner and therefore easier to upstream, which I understand is a big priority now.
<chadmed>
all these commits will be squashed/lost on upstreaming anyway. this is just so we can control the rollout
<dylantaylor>
Makes sense.
<jannau>
recordings with j493 sound compared to j314 comparison if it could use more tuning. (or beamforming changes). not sure how they sound in macos though
<chadmed>
it's probably both
<chadmed>
on one hand, the mics are probably just worse but also i did basically guess for the parameters so....
nesnas has quit [Remote host closed the connection]
nesnas has joined #asahi-dev
<dylantaylor>
I don't know how you guys keep track of all of these codenames. I have to pull up https://en.wikipedia.org/wiki/List_of_Apple_codenames just to tell what device you're chatting about. I guess after a while it becomes second nature?
<sven>
yeah, same thing usually happens at $work with domain specific language and abbreviations. At the beginning you’re completely lost but after working for a few months you end up speaking in the same code
<sven>
i'd put the M3 device below the other M3s instead of at the end of the list
<dylantaylor>
Oh, alright. I'll update it
<sven>
might even be sorted by release date or something like that? dunno
<dylantaylor>
well if it is by release date, the M3 ultra Mac Studio just came out this year
dylantaylor has quit [Remote host closed the connection]
dylantaylor has joined #asahi-dev
<sven>
as i said, i dunno if there's any specific order to the list more than "keep M3s together"
<sven>
or put differently: please briefly check if there's any additional order in that table. if there's nothing obvious i'm happy with "keep the M3 studio below the other M3 machines"
pb17 has joined #asahi-dev
dylantaylor has quit [Remote host closed the connection]
<chadmed>
i really really dont any excuses for a v5 since i already need to rewrite large chunks of macaudio to accommodate the requested changes as it is
nesnas has quit [Ping timeout: 480 seconds]
<chadmed>
a couple of the patches in the series got pulled for stable so ill wait for those to work their way in before resubmitting anyway
<dylantaylor>
Huh. I think in this case, it makes sense as it is not a multi-line string - just a short literal. | makes sense if you have a whole block of text
<dylantaylor>
For the longer one, | should be okay
<dylantaylor>
"Apple is not unique, special or exceptional." Ouch, that feels personal lol
nesnas has quit [Remote host closed the connection]
nesnas has joined #asahi-dev
opticron has quit [Read error: Connection reset by peer]
opticron has joined #asahi-dev
dylantaylor has joined #asahi-dev
mischa85 has joined #asahi-dev
<mischa85>
well i'm on t6041 duties again. fresh start. BRINGUP trying to see what's going on in cpu_init(). already freezes when we try to set SYS_IMP_APL_EHID4 / SYS_IMP_APL_HID4 which seemingly works on every other soc m1n1 has ever seen? is t6041 just an exception to the rule or is there something else going on?
<mischa85>
also freezes on the NEX powergating part: SYS_IMP_APL_HID13 / SYS_IMP_APL_HID14
<chaos_princess>
yea, you might want to skip SYS_IMP_APL_EHID4, SYS_IMP_APL_HID4, SYS_IMP_APL_CYC_OVRD, and probably a few more
<chaos_princess>
(and nex powergating)
<mischa85>
yeah it's frustrating. i'll see if *anything* in chickens.c works on t6041
pb17 has quit [Ping timeout: 480 seconds]
<sven>
realistically the only way to get the chickens is to grab them from xnu
<mischa85>
just trying to fix this stupid pyserial thing which somehow doesn't work on linux but does on macos
<nicolas17>
I was going to submit the newest devices but I waited until we actually knew details on M3 Ultra, then I forgot >.>
<mischa85>
so i can actually use the cs on my main rig and test to see if hv works
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
catred has quit [Remote host closed the connection]
nesnas has quit [Ping timeout: 480 seconds]
zumi_ has joined #asahi-dev
zumi has quit [Remote host closed the connection]
zumi_ is now known as zumi
nesnas has joined #asahi-dev
<dylantaylor>
oh, cool to see that's up already. I guess it's just staticly published to github pages. Pretty clean design.
<fl0_id>
mischa85 which thing are you having trouble with? the pyserial that the proxyclient uses with picocom or which part? Pretty sure I used it from Linux and it worked, maybe I can check it there
<mischa85>
yeah it's probably an rtscts or dsrdtr thing, but i just cannot get my head around the python code in proxy.py, where does it even open the port and how are the settings parsed
<mischa85>
minicom works totally fine
<mischa85>
every 4 tries it receives some data but the checksum is wrong
nesnas has quit [Ping timeout: 480 seconds]
<mischa85>
i cannot stand python sometimes
<mischa85>
it sets a "device =" as a environment variable but then goes on to say device = Serial(serial.devpath, baud)
<mischa85>
how does that syntax even make sense
<mischa85>
where is the pyserial open() call then
<mischa85>
so confused
mischa85 has quit [Quit: Lost terminal]
nesnas has joined #asahi-dev
nesnas has quit [Remote host closed the connection]
nesnas has joined #asahi-dev
pb17 has quit [Ping timeout: 480 seconds]
catred has joined #asahi-dev
mischa85 has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
dylantaylor has quit [Quit: Konversation terminated!]
pb17 has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
xal has quit [Quit: bye]
xal has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
nesnas has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
MountainRose has joined #asahi-dev
pb17 has quit [Ping timeout: 480 seconds]
opticron has quit [Read error: Connection reset by peer]
opticron has joined #asahi-dev
greguu has quit [Ping timeout: 480 seconds]
zerozerozero has joined #asahi-dev
pb17 has joined #asahi-dev
<fl0_id>
mischa85 there is this... https://www.mypy-lang.org/ - it's like static types based on python type hints
ddxtanx has quit [Remote host closed the connection]
<fl0_id>
mischa85 prob you are a bit further now, but pyserial docs say "The port is immediately opened on object creation, when a port is given. It is not opened when port is None and a successive call to open() is required." so the open() is in pyserial presuambly
<mischa85>
yes i am back on my trusty macbook which consistently gave me errors on the cleaned up m1n1 i had. only wanted to work on 115200 kbps. now back on the mess i made which is working fine. probably still not on my main rig on linux but i can't have too many variables right now
<mischa85>
at least i can now get to disabling enough m1n1 so i can run xnu kernel on hv
<mischa85>
it's consistenly booting on cpu4
<mischa85>
still waterfalls after Mapping MMIO range so let's see what's causing that
<mischa85>
at least now i can run it on 1.5 mbaud again which will come in handy once we're actually goint to transfer that xnu blob
<fl0_id>
sounds good :)
<fl0_id>
out of context waterfalling sounds nice haha
<PaulFertser>
Good old strace can give a quick hint about the differences between minicom and pyserial, sometimes it's faster to view the log of syscalls to see what exactly happens there.
<mischa85>
that's a nifty idea
<mischa85>
i just gotta accept my m1n1 branch is a total mess for now
<chaos_princess>
imo, skip memory mapping too, and launch xnu as-is
<chaos_princess>
it will most likely blow up, but hopefully you will be able to capture msr write traces before it does
<mischa85>
ack, on it
nesnas has quit [Ping timeout: 480 seconds]
balrog has joined #asahi-dev
balrog_ has quit [Ping timeout: 480 seconds]
nesnas has joined #asahi-dev
<mischa85>
alright progress. i can get to to the Loading kernel image (0x6dd0000 bytes)... part
<mischa85>
had to disable amx and guest ap keys part tho
<mischa85>
but now i'm getting a serialexception from serialposix.py
<chaos_princess>
amx problably no longer exists on m4, since they have sme
<chaos_princess>
can you modify the upload code to give you percentage process, to see when exactly it goes wrong
pb17 has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-dev
<mischa85>
first try stopped at 0x2187450, going to try a second time to check if it's consistent
<mischa85>
again, 0x2187450
nesnas has quit [Ping timeout: 480 seconds]
<chaos_princess>
out of?
<mischa85>
0x6dd0000
<chaos_princess>
hmm
<chaos_princess>
can you generate a random file of that length and try uploading that?
<mischa85>
sure
zerozero1 has joined #asahi-dev
zerozero1 has quit []
<mischa85>
construct.core.StreamError: Error in path (parsing) -> cmds -> args
nesnas has joined #asahi-dev
<mischa85>
the random file doesn't upload at all as it fails some parsing (makes sense)
<chaos_princess>
Right, i think it has to be a mach-o
<chaos_princess>
Ok, can you find a different kernel image
<chaos_princess>
different version or something
zerozerozero has quit [Ping timeout: 480 seconds]
<chaos_princess>
want to figure out if it is a uart problem and some pattern in the file breaks it, or m1n1 crashes due to some other reason
<chadmed>
i had trouble with m1n1's heap not being big enough for certain payloads a while ago but i dont think it's that unless the kernel is now 1 GB
<mischa85>
the one i use right now matches the one on the macos partition m1n1 is running from
<mischa85>
but lemme gather a different one for science
<mischa85>
i still have a seperate partition on 15.1 because anything newer bootloops before m1n1 even loads