ChanServ changed the topic of #asahi-re to: Asahi Linux: porting Linux to Apple Silicon macs | Hardware / boot process / firmware interface reverse engineering | WARNING: this channel (only) may contain binary reverse engineering discussion | RE policy: https://alx.sh/re (MANDATORY READ) | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Logs: https://alx.sh/l/asahi-re
amarioguy has quit [Ping timeout: 480 seconds]
MajorBiscuit has quit [Ping timeout: 480 seconds]
doggkruse has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
doggkruse has joined #asahi-re
chadmed has joined #asahi-re
user982492 has joined #asahi-re
phiologe has joined #asahi-re
PhilippvK has quit [Ping timeout: 480 seconds]
<nicolas17> so iBoot is encrypted, keys to decrypt it are not available for M1, and the unencrypted vmapple iBoot isn't useful because it doesn't deal with hardware stuff
<nicolas17> but we do have A14 iBoot, would that give any hardware clues? https://www.theiphonewiki.com/wiki/SkySeed_19A5325f_(iPhone13,2)
doggkruse has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
doggkruse has joined #asahi-re
jakebot has quit [Quit: The Lounge - https://thelounge.chat]
jakebot has joined #asahi-re
user982492 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
doggkruse has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
doggkruse has joined #asahi-re
user982492 has joined #asahi-re
doggkruse has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
grange_c has quit [Server closed connection]
grange_c has joined #asahi-re
firefox317 has quit [Server closed connection]
firefox317 has joined #asahi-re
<Jamie[m]1> update: who knew scaling could be so complicated lmao
commandoline has quit [Server closed connection]
commandoline has joined #asahi-re
manawyrm has quit [Server closed connection]
manawyrm has joined #asahi-re
pg12 has quit [Server closed connection]
pg12 has joined #asahi-re
tired has quit [Server closed connection]
tired has joined #asahi-re
arekm has quit [Remote host closed the connection]
eloy_ has quit [Server closed connection]
eloy_ has joined #asahi-re
lonjil has quit [Server closed connection]
lonjil has joined #asahi-re
Fanfwe has quit [Server closed connection]
Fanfwe has joined #asahi-re
<rqou_> yeah this pile of "random misc" IP is _very_ complicated
rikkaa has joined #asahi-re
jannau has quit [Server closed connection]
jannau has joined #asahi-re
nicolas17 has quit [Quit: Konversation terminated!]
user982492 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
the_lanetly_052 has joined #asahi-re
user982492 has joined #asahi-re
user982492 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kameks has joined #asahi-re
MajorBiscuit has joined #asahi-re
kloenk has quit [Remote host closed the connection]
kloenk has joined #asahi-re
arekm has joined #asahi-re
<rqou_> took a quick look at prores and it seems pretty simple in terms of interfacing
<rqou_> there's some kind of ringbuffer that descriptors are added to, and then stuff happens
<rqou_> actually getting it to work would require me to get around to understanding both prores a lot better as well as the different DART
<rqou_> but otherwise you just feed the hardware frames and it gives you data back when it's done
<rqou_> (this is all from REing the driver)
<rqou_> has anybody looked at the dart,t8110 yet other than Jamie[m]1?
the_lanetly_052 has quit [Ping timeout: 480 seconds]
<chadmed> for it to be useful we'd have to add ProRes 422 support to VAAPI or something right
<rqou_> uhh i don't know anything about the linux driver side
<rqou_> worse case you can make a char/misc device or something awful like that
<marcan> yeah no
<chadmed> https://wiki.multimedia.cx/index.php/Apple_ProRes this page has some decent info on the different bitfields in the prores headers and stuff
<chadmed> including its fourccs
<marcan> we're shaving all the yaks here, no char/misc devices please
<marcan> leave that nonsense to lazy hardware vendors
<marcan> our goal is to do things right and upstream them, and that isn't upstreamable
<marcan> for video codecs there's different frameworks, stuff like v4l m2m
<marcan> something along those lines is probably the way to go, but it needs to be discussed with upstream to make sure what we're doing makes sense
<marcan> also keep in mind that "the x86 way" is often the wrong way
<marcan> e.g. the x86 world of video decoding is centered around GPUs doing it, which is not the case here
<rqou_> yeah, i'm mostly focused on RE/hardware docs and don't actually know much about linux driver dev or upstream
<marcan> and around things like keeping decode output in VRAM, which is also not the case here
<marcan> rqou_: also re compressed formats, at least some of them need additional out of band metadata beyond dimensions/pitch as usual
ChaosPrincess has quit [Quit: WeeChat 3.4.1]
<marcan> DCP has a whole bunch of that
<rqou_> huh that's interesting
<marcan> and the reason for this is so that macos can do stuff like play 4K youtube videos in safari with the GPU *off* and the video decoder feeding directly into a DCP surface with minimum memory bandwidth usage
ChaosPrincess has joined #asahi-re
<rqou_> ooh that's actually really cool
<dottedmag> marcan: how would that work? a special case in compositor if it knows that nothing has to be composited over the surface that shows the video? (presumably any overlay interface element would require GPU to be enabled)
<marcan> DCP supports alpha channels, it can composite for you
<marcan> and basic scaling
<marcan> you can put the video surface below an overlay layer with the rest of the UI
<rqou_> lol how many "scaling" blocks does this chip have?
<marcan> all display output hardware has scaling these days...
<rqou_> the jpeg block also has a scaler
<rqou_> in addition to the dedicated "scaler"
<marcan> AIUI the dedicated scaler blocks are actually useful because they're pretty fast? I don't know what apple uses them for though, but I'm guessing at least video/image scaling? would be nice to find out
<marcan> it might be mostly for stuff like huge images
<marcan> also I heard that on the Pro/Max, there is even more nonsense for HDR output
<marcan> like dedicated HDR overlay planes or something
<marcan> that all seems like a giant mess though, and Linux support for HDR is kind of a joke still
<marcan> so I wouldn't think too hard about that until people first figure out how it should all work on linux anyway
<_jannau_> I'd guess the seperate scalers are for camera input/isp
<marcan> ISP is its own thing
<dottedmag> OTOH, unless the capabilities of hardware are known, it's unclear what to expose in Linux.
<marcan> the scalers are instantiated by the AP
<marcan> so ISP probably has its own
<marcan> dottedmag: yeah but first you need to, like, figure out HDR/color management/etc at the application layer for any of this to be useful
<marcan> hasn't exactly been linux's forte ever...
<_jannau_> not sure if the isp includes it's on scaler, i.e. you would use the scaler on the isp output
<marcan> I do want to work on that, once the GPU is nice and smooth ;)
<marcan> _jannau_: could be, but ISP does more complicated stuff than scaling anyway...
<marcan> camera processing these days is magic
<marcan> so I would expect it to have a scaler
<marcan> (and possibly also a JPEG encoder)
<rqou_> lol another jpeg encoder?
<rqou_> and yeah, linux hdr support was a mess last time i poked it
<rqou_> basically the only program that seems to work properly is firefox
<marcan> that alone would be good to get working though, if it really does
<rqou_> and you have to twiddle a special setting in about:config
<chadmed> collabora is working on colour management in wayland i think
<marcan> anyway, this is all predicated on wayland for sure, and wayland is predicated on GPU because it's kind of worse than xorg without one IME :-)
<chadmed> but i mean theyre basically starting from nothing so its going to be a while before their labour bears any fruit
<marcan> yeah
<rqou_> iirc firefox color management works on xorg
<marcan> so it'd be good to talk to the people involved to be a test platform, but let's not get too carried away with it as a goal
<marcan> rqou_: I doubt HDR works on xorg as intended
<marcan> lots of things don't work on xorg as intended :p
<marcan> I shipped with xorg because the OOTB experience is better
<rqou_> hrm, "color management so that you don't get extremely intense red" did work
<rqou_> idk about the rest of HDR
<marcan> but the end goal should be wayland... I just hope they make xwayland suck less, because that one surprised me with how crappy it was
<marcan> (broken HiDPI)
<marcan> rqou_: that's not HDR
<marcan> HDR is about *brightness*
<marcan> that's just wide gamut
<marcan> mind you, not that any of this is perfect on macOS with popular applications anyway
<marcan> every time I clipboard paste an image into Discord on macOS it comes washed out due to a bad gamut conversion
<marcan> it's been broken for at least a year now
<chadmed> only niggle ive had with wayland over the last two-and-a-bit months has been the lack of blue light filtering at night, because no gamma_lut_crtc
<rqou_> oh yeah hmm i guess you can have wide gamut without hdr
<rqou_> maybe hdr is indeed broken
<_alice> i wonder if that’s just something busted with electron/Discord and colour space handling, because it works fine for me everywhere else ><
<marcan> chadmed: before release I gave it a spin to see if I should default to it, saw the cute insta-HiDPI scaling hack (except it looks ugly until you restart the apps, so not that great a user experience), and then tried firefox and cringed at the blur because apparently it runs at 1x and gets scaled up?
<marcan> in xwayland
<marcan> (guess it defaulted to X)
<marcan> I'm sure it can all be improved but the defaults were not great and I didn't have time to poke a stick at it
<marcan> and apparently xwayland HiDPI issues are a long-standing problem
<rqou_> unrelated: i just threw the scaler driver into ghidra and wao it's complicated
<marcan> lol
<marcan> sometimes reading HV logs is easier, you know
<rqou_> yeah i know
<marcan> apple like to overcomplicate code
<chadmed> oh yeah xwayland scaling is just completely borked. for firefox i just added MOZ_ENABLE_WAYLAND=1 to /etc/env and that sorted it, but its not really a shippable fix. not sure why they havent got wayland enabled by default upstream though
<rqou_> i'm just trying to figure out how to work the dart,t8110 :(
<rqou_> marcan: idk if you saw, but for some reason the m1 max has dart,t8110 for the prores, scaler, usb4, and avd blocks
<marcan> yeah I saw
<marcan> they're probably just moving to that for everything
<rqou_> wait have you already RE'd it?
<marcan> no
<marcan> I kinda feel like the t6000 DART was a hack to avoid a full SoC block upgrade
<marcan> and t8110 is the "new" upgraded DART
<marcan> anyway, that's a blocker for everything so it's a good thing to look at first
<marcan> and it *shouldn't* be too hard to figure out from HV traces
<rqou_> hmm y'know what would be really helpful in the asahi dart docs? a diagram
<Jamie[m]1> omg there are asahi dart docs?
<rqou_> well, there's mini/hw/dart.py
<Jamie[m]1> ah right
<chadmed> might be worthwhile compiling actual docs for some of this stuff at some point, once things have stabilised a bit
<marcan> PRs accepted :>
<marcan> and yes
PthariensFlame[m] has quit [Server closed connection]
PthariensFlame[m] has joined #asahi-re
<rqou_> lol, project zero actually has a diagram
<rqou_> of the DART
<rqou_> from back when they pwned the broadcom wifi
<sven> that’s probably for the DART from long before m1 was a thing :D
<sven> there’s an older version from the iPhones that only does 4K pages
<sven> and the registers look a bit different
<sven> the best DART docs we have is probably the Linux driver and that dart.py :D
<sven> I very briefly looked at that t8110 dart kext and it seems that it changed quite a bit
<sven> iirc it supports one more pagetable level now, and presumably a bigger iova space with that
bisko has joined #asahi-re
phire has quit [Remote host closed the connection]
phire has joined #asahi-re
JuniorJPDJ has quit [Server closed connection]
JuniorJPDJ has joined #asahi-re
amarioguy has joined #asahi-re
rikkaa has quit [Quit: Connection closed for inactivity]
amarioguy has quit [Ping timeout: 480 seconds]
amarioguy has joined #asahi-re
bisko has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eragon has quit [Quit: WeeChat 3.4]
chadmed has quit [Ping timeout: 480 seconds]
eragon has joined #asahi-re
yuyichao has quit [Ping timeout: 480 seconds]
alcazar has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
kameks has quit [Ping timeout: 480 seconds]
the_lanetly_052 has joined #asahi-re
amarioguy has quit [Ping timeout: 480 seconds]
bisko has joined #asahi-re
yuyichao has joined #asahi-re
amarioguy has joined #asahi-re
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
emsi has joined #asahi-re
meowmomo1[m] has joined #asahi-re
amarioguy has quit [Remote host closed the connection]
amarioguy has joined #asahi-re
MajorBiscuit has quit [Ping timeout: 480 seconds]
msmith12[m] has quit [Server closed connection]
msmith12[m] has joined #asahi-re
nicolas17 has joined #asahi-re
amarioguy has quit [Ping timeout: 480 seconds]
doggkruse has joined #asahi-re
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
emsi has quit [Quit: Textual IRC Client: www.textualapp.com]
roxfan2 has joined #asahi-re
roxfan has quit [Ping timeout: 480 seconds]
amarioguy has joined #asahi-re
<YichaoYu[m]> <marcan> "but the end goal should be..." <- Please at least keep supporting sort for a few more years…. Currently the hack it took to get input methods working in wayland is just terrible….
<marcan> we're not going to stop supporting xorg, we'll just support both and probably default to wayland at some point
roxfan2 is now known as roxfan
amarioguy has quit [Ping timeout: 480 seconds]
amarioguy has joined #asahi-re
user982492 has joined #asahi-re
unevenrhombus[m] has quit [Server closed connection]
unevenrhombus[m] has joined #asahi-re
Hinata[m] has quit [Server closed connection]
Hinata[m] has joined #asahi-re
AnalogDigital[m] has quit [Server closed connection]
AnalogDigital[m] has joined #asahi-re
davay[m] has quit [Server closed connection]
davay[m] has joined #asahi-re
BastienSaidi[m] has quit [Server closed connection]
BastienSaidi[m] has joined #asahi-re
booffo[m] has quit [Server closed connection]
booffo[m] has joined #asahi-re
daniel0611[m] has quit [Server closed connection]
daniel0611[m] has joined #asahi-re
feeleep[m] has quit [Server closed connection]
feeleep[m] has joined #asahi-re
hectour[m] has quit [Server closed connection]
hectour[m] has joined #asahi-re
javier_varez[m] has quit [Server closed connection]
javier_varez[m] has joined #asahi-re
jeh[m] has quit [Server closed connection]
jeh[m] has joined #asahi-re
josipknezovic[m] has quit [Server closed connection]
josipknezovic[m] has joined #asahi-re
kedde[m] has quit [Server closed connection]
kedde[m] has joined #asahi-re
lockna has quit [Server closed connection]
lockna has joined #asahi-re
landscape15[m] has quit [Server closed connection]
landscape15[m] has joined #asahi-re
LilleCarl[m] has quit [Server closed connection]
LilleCarl[m] has joined #asahi-re
matthewayers[m] has quit [Server closed connection]
matthewayers[m] has joined #asahi-re
DanStrong[m] has quit [Server closed connection]
DanStrong[m] has joined #asahi-re
latko[m] has quit [Server closed connection]
latko[m] has joined #asahi-re
plantaintion3[m] has quit [Server closed connection]
plantaintion3[m] has joined #asahi-re
pulpy_orange2[m] has quit [Server closed connection]
pulpy_orange2[m] has joined #asahi-re
pwn0rz[m] has quit [Server closed connection]
pwn0rz[m] has joined #asahi-re
quentin[m] has quit [Server closed connection]
quentin[m] has joined #asahi-re
Redecorating[m] has quit [Server closed connection]
Redecorating[m] has joined #asahi-re
rhys has quit [Server closed connection]
rhys has joined #asahi-re
RowanGoemans[m] has quit [Server closed connection]
RowanGoemans[m] has joined #asahi-re
ryanhrob1[m] has quit [Server closed connection]
ryanhrob1[m] has joined #asahi-re
s-urabe[m] has quit [Server closed connection]
s-urabe[m] has joined #asahi-re
shaman_br[m] has quit [Server closed connection]
shaman_br[m] has joined #asahi-re
sikkileo[m] has quit [Server closed connection]
sikkileo[m] has joined #asahi-re
simjnd[m] has quit [Server closed connection]
simjnd[m] has joined #asahi-re
JacksonR[m] has quit [Server closed connection]
JacksonR[m] has joined #asahi-re
spokv[m] has quit [Server closed connection]
spokv[m] has joined #asahi-re
sppdqd[m] has quit [Server closed connection]
sppdqd[m] has joined #asahi-re
sproede[m] has quit [Server closed connection]
sproede[m] has joined #asahi-re
svenpeter[m] has quit [Server closed connection]
svenpeter[m] has joined #asahi-re
svenpeter[m] is now known as Guest580
tophevich[m] has quit [Server closed connection]
tophevich[m] has joined #asahi-re
user1tt[m] has quit [Server closed connection]
user1tt[m] has joined #asahi-re
vimsos[m] has quit [Server closed connection]
vimsos[m] has joined #asahi-re
xorly[m] has quit [Server closed connection]
xorly[m] has joined #asahi-re
m6wiq has joined #asahi-re
the_lanetly_052 has quit [Ping timeout: 480 seconds]
Andre[m]1 has quit [Server closed connection]
Andre[m]1 has joined #asahi-re
fbd222[m] has quit [Server closed connection]
fbd222[m] has joined #asahi-re
yamii has quit [Quit: WeeChat 3.3]
yamii has joined #asahi-re
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
doggkruse has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
doggkruse has joined #asahi-re
HardWall has joined #asahi-re
m6wiq has quit []
user982492 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
amarioguy has quit [Ping timeout: 480 seconds]
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
user982492 has joined #asahi-re
user982492 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
user982492 has joined #asahi-re