marcan changed the topic of #asahi to: Asahi Linux: porting Linux to Apple Silicon macs | General project discussion | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Topics: #asahi-dev #asahi-re #asahi-gpu #asahi-offtopic | Keep things on topic | Logs: https://alx.sh/l/asahi
<marcan>
https://mrcn.st/p/bIqri9OV <- this is as far as xnu under m1n1 hv gets (then pmgr kills my USB link, next up hooking that)
<marcan>
looking good :)
<kettenis>
let the mmio tracing begin!
<marcan>
(also want to figure out why ACTLR faults in the guest; if I really am required to trap that, that emu code needs to move into the C side for performance)
phire has quit [*.net *.split]
phire has joined #asahi
jottr has joined #asahi
adamcstephens has joined #asahi
<marcan>
figured out the hypervisor pauth thing that was breaking; now I can disable almost all traps and it runs super fast (until it breaks me as above)
<jottr>
I have a naive questin I couldn't find answered anywhere yet: How likely is it, that we will see full support of the Mac Mini M1 hardware at some point in time? I.e. will it be possible to dual-boot both Macos and a into a fully working linux desktop that works as a daily driver?
<sven>
very likely i'd say
<jottr>
sven: what makes you think that exactly?
<pipcet[m]>
jottr: most stuff already works with the drivers we can use as documentation to write the real ones, and the rest does not seem too terrible to figure out.
<Shiz>
aaa, both sven and svenpeter here is confusing :p
<Shiz>
will the real sven p. eter please stand up
<jottr>
Interesting
<sven>
Shiz: svenpeter is just my alter ego :P
<pipcet[m]>
jottr: my MBP's perfectly usable, for example, the one big thing missing (for me) is audio.
<Shiz>
:p
<jottr>
haha. so a core functionality is missing
<sven>
Shiz: (svenpeter uses matrix and the irc bridge. sven uses an irc bouncer)
<sven>
there's also the GPU left which will require a lot of work. but bloom et al. have been making quite some amazing progress there already
<pipcet[m]>
sven: don't play 3D games, code, it's fast enough for that :-)
<jottr>
What about Wifi? This is still not working on the 2016 macbooks even five years after their release. Is it more likely to get this working on m1 hardware?
<jottr>
Or, let me rephrase my question: Which hardware in the M1 Mac Mini and Macbooks is causing the greatest headaches when it comes to driver support/reverse engineering?
<pipcet[m]>
the wifi driver's working and doesn't make any major changes, but right now you have to copy a firmware blob from the macos install.
<Shiz>
random macbooks from the past are little use for the present :p
<Shiz>
(and more generallly, bad predictors)
<jottr>
Ok, I'm looking at the M1 MBPs. They seem to still come with a TouchBar -.- Has anyone tried to talk to that hardware yet?
<pipcet[m]>
yes, I have. I can hijack it from macos and put stuff on the screen, but I really need mmiotrace to make further progress on that :-)
<jottr>
nice
<marcan>
jottr: that requires display controller support, which we don't have yet
<marcan>
(hijacking the framebuffer in macos does not count :p)
<marcan>
but it should come with the other DC stuff once it's done, I think
<pipcet[m]>
it's a variation of a documented chip, though, synergy mipi-dsi(m)
<marcan>
that's just the phy, no?
<pipcet[m]>
oh, sorry, the display controller itself is also there :-)
<jottr>
Is there a big difference in display drivers for the strip when it comes to 2016 hardware and the current M1 chip?
<pipcet[m]>
and another device that's on the i2c bus that I hope we won't need.
<marcan>
jottr: yes
<marcan>
they have nothing to do with each other
<marcan>
on intel hardware the touch bar is driven by bridgeos
<marcan>
that has already been reverse engineered
<marcan>
basically ~none of our work is going to be useful on 2016 macboos, because the stuff that doesn't work well on those is precisely the stuff driven by bridgeos
<marcan>
*macbooks
<marcan>
and thus, even if it's the same underlying hardware, is not driven the same way from the main OS
<marcan>
however, userspace support (i.e. figuring out what to *do* with the touchbar) can be shared
<marcan>
just not the drivers
<sven>
asahi linux to replace bridgeos when? :-P
<jottr>
good to know.
<marcan>
sven: probably already runs tbh
<marcan>
someone should try it
<jottr>
I really applaud your effort. It would be awesome to have access to the M1 macs without being locked into MacOS.
<marcan>
also fyi, dual boot already works fine
<marcan>
that's a built in feature
<ar>
i wonder if the lack of dp-mst support on m1 macs is, like it was with x86 macs, just a macos limitation, or is it actually limited in DC this time around
<marcan>
yeah, I wonder about that one too
<jottr>
are the some videos that demonstrate the current state of asahi?
<marcan>
there isn't much to show on video
<marcan>
there will be a demo video when there's something worth showing :-)
<j`ey>
jottr: just imagine white text on a black background
<marcan>
I mean I have plenty of youtube streams where I boot it to a fbcon many times
<marcan>
:p
<ar>
jottr: or white text on black background in terminal emulator on another computer ;)
<jottr>
Ah, true. The GPU needs to be reversed first
<marcan>
well the GPU needs to be reversed to make it fast
<j`ey>
there's a framebuffer, so seomthing could blit to that
<marcan>
I could boot to a desktop today if I felt like it, sticking it all into an initramfs and doing SLIP over serial with barrierd or something silly like that
<marcan>
but that would be a waste of time
<j`ey>
jottr: correlium posted some pics of a ubuntu desktop booted
<marcan>
let's leave the demo video for when cool stuff works, like 3D :)
<marcan>
corellium did the moral equivalent of the above except they also have a working USB driver :P
<marcan>
their first demo was everything hanging off of USB
<pipcet[m]>
and nvme
<marcan>
not their first demo
<marcan>
their first demo was just usb, storage too
<pipcet[m]>
true
<marcan>
but I'm not interested in wasting time making demo videos that don't represent reality; let's get stuff done properly first
<marcan>
once usb and nvme are done properly and the gpu works to render an accelerated desktop would be a good time for a demo video ;)
<sven>
i really need to stop shaving random yaks and finally submit clocks, address the dart driver comments and then finish usb stuff
<pipcet[m]>
i'm quite surprised at how fast the framebuffer is even without accel
<marcan>
the cpu is fast :)
<marcan>
sven: you know if you don't get that by the time mmiotrace is working I'm going to have to do it for you :p
<sven>
:D
<sven>
so essentially i have today and tomorrow :D
<marcan>
;)
<pipcet[m]>
are you planning to emulate the actual mmio insns, or is there a trick to let the CPU do that for you? mapping the page and single-stepping, maybe?
<pipcet[m]>
not that aarch64 loads and stores are that complicated, particularly not the ones we actually need...
<kettenis>
Bastian: the block diagram presented in that video isn't accurate though
<artemist>
pugguu[m]: The method we use for getting Linux to boot is not through hacking. It's something that Apple has spent a lot of engineering time developing so that you can securely boot both macOS and other operating systems
<artemist>
It's extremely unlikely that apple would remove that
<Bastian[m]>
<kettenis "Bastian: the block diagram prese"> I don't think the target audience will mind too much
<phire>
is there an accurate block diagram somewhere?
VinDuv has quit [Quit: Leaving.]
choozy has joined #asahi
M0[m] has joined #asahi
raster has quit [Quit: Gettin' stinky!]
m0drobert has joined #asahi
modrobert has quit [Ping timeout: 252 seconds]
jottr has quit [Ping timeout: 260 seconds]
<artemist>
The apple device tree gives you a very good idea but it's definitely not designed to be human readable