ChanServ changed the topic of #asahi-dev to: Asahi Linux: porting Linux to Apple Silicon macs | General development | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Logs: https://alx.sh/l/asahi-dev
<jannau> https://github.com/jannau/linux/tree/asahi-dcp - experimental, I could not mount the root fs with macos 12.0.1 for errors which looked like memory corruption
<jannau> probably works only on mac minis
yuyichao has joined #asahi-dev
<jannau> porting involved just updating the API to the one documented in m1n1's tracer and powering the output on
yuyichao_ has quit [Ping timeout: 480 seconds]
<marcan> _jannau_: it should work with bputil -r (or whatever the reduced mode option was)
<marcan> bputil will *create* the boot policy for you
<marcan> and do a bunch of what startup disk does
<marcan> I'm going to add that to the installer since it's required to insulate us from the phone home requirement
<marcan> just haven't gotten around to it yet
<marcan> and yes, I did confirm that the API didn't change in 12.0 final
<jannau> now that the dcp driver "works" on 12.0 final and 12.1 my interest in 12.0 beta releases has vanished
<jannau> I tried with to create the boot policy but I don't think I tried bputil -r
<marcan> jannau: you can't go to permissive mode in 12.x without being paired, but you can go into reduced mode
<marcan> hence why it's a two-step process
<marcan> either way last night I think I understood the IPC call stack for the iBoot/disp0 endpoint well enough
<marcan> going to try writing a python client today
<marcan> leave it to apple to require 5 protocol layers on top of a mailbox to *turn on the screen from the bootloader*...
<marcan> (mailbox -> ring buffers -> EPIC header -> sub header -> command header -> shared memory buffers containing commands
<marcan> )
<marcan> and for the other endpoints there's like an extra ipcx header layer, but I *think* iBoot doesn't do that? need to look at that function again, I spent all my time figuring out what layer of the protocol stack it sat at
<marcan> I also found a lot of juicy low level commands in the other endpoints; this is, apparently, how you do things like configure audio modes, send InfoFrames, handle HDCP, DisplayPort training and configuration and link width, etc
<marcan> so we're probably going to have to implement this EPIC thing in Linux too
<jannau> sigh, so the complexity might a valid reason to remove hdmi initialization from iboot
<jannau> experiments/dcp.py probably misses just a setPowerState to work with 12.0 final and 12.1
yuyichao has quit [Ping timeout: 480 seconds]
user982492 has joined #asahi-dev
h_ is now known as hays
hays is now known as h_
h_ is now known as hays
Emantor has quit [Quit: ZNC - http://znc.in]
Emantor has joined #asahi-dev
m42uko has quit [Quit: Leaving.]
m42uko has joined #asahi-dev
phiologe has quit [Quit: No Ping reply in 180 seconds.]
bluerise has quit [Remote host closed the connection]
bluerise has joined #asahi-dev
phiologe has joined #asahi-dev
yuyichao has joined #asahi-dev
kov has quit [Quit: Coyote finally caught me]
kov has joined #asahi-dev
PhilippvK has joined #asahi-dev
phiologe has quit [Ping timeout: 480 seconds]
Dcow has joined #asahi-dev
user982492 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<marcan> jannau: nah, iboot still talks to the other endpoints, and it needs to do that on the laptops anyway
user982492 has joined #asahi-dev
yamii has quit [Quit: WeeChat 3.3]
yamii has joined #asahi-dev
user982492 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
user982492 has joined #asahi-dev
user982492 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
aleasto has joined #asahi-dev
Dcow_ has joined #asahi-dev
Dcow has quit [Remote host closed the connection]
<jannau> the xorg modesetting driver causes swaps without surface which dcp doesn't seem to like
MajorBiscuit has joined #asahi-dev
MajorBiscuit has quit []
<kettenis> the terminology always confuses me, but what is it (the xorg modesetting driver) trying to achieve with that?
<jannau> I would guess it tries to clear the screen or it's simply how it works. I'm not really familiar with drm/kms internals
<kettenis> and unfortunately the whole drm/kms interface is woefully underdocumented and its internals are changing at a crazy pace
<jannau> hmm, I think the problem is that it tries to set the current mode again and the dcp driver does a swap if the mode does not change
<sven> there’s #dri-devel on this server fwiw
gladiac has quit [Ping timeout: 480 seconds]
gladiac has joined #asahi-dev
<jannau> Xorg working as well now. the modesetting driver selects a random mode without EDID. for some reason 1400x1050 and setting that mode fails
<jannau> avoided by marking the best scored mode as preferred
<marcan> < 02:0x50000000000000
<marcan> [syslog] * [PIbootInterface.cpp:254]setPowerRequest
<marcan> > 02:0x50000000000000 (TYPE=0x5, INDEX=0x0)
<marcan> ok, getting *somewhere* with the iBoot interface
<marcan> still no video, probably need to work out the setvideomode thing
<marcan> night, hopefully I can wrap this up tomorrow (at least the prototype, but doing the proper m1n1 version shouldn't be that hard)
Dcow_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
akemin_dayo has joined #asahi-dev
Gaspare has joined #asahi-dev
user982492 has joined #asahi-dev
aleasto has quit [Quit: Konversation terminated!]
user982492 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
aleasto has joined #asahi-dev
Gaspare has quit [Ping timeout: 480 seconds]
user982492 has joined #asahi-dev
aleasto has quit [Quit: Konversation terminated!]
alyssa has joined #asahi-dev