ChanServ changed the topic of #asahi to: Asahi Linux: porting Linux to Apple Silicon macs | General project discussion | GitHub: | Wiki: | Topics: #asahi-dev #asahi-re #asahi-gpu #asahi-offtopic | Keep things on topic | Logs:
DragoonAethis has quit [Quit: hej-hej!]
DragoonAethis has joined #asahi
<citizen1[m]> i hope no one mind my question but if Linux alreaddy works on ARM and m1 is ARM why do we need special work to be done for Asahi to work on m1?
<sorear> linux supports the arm instruction set but a platform is more than an instruction set. it's true that 80-90% of the work is already done for us
<krbtgt> drivers, basically
<krbtgt> and the infrastructure for the drivers
<citizen1[m]> oh ok i see
<citizen1[m]> thanks
<citizen1[m]> what is asahi based on? debian?
<citizen1[m]> thanks
<alyssa> stream read less than specified amount, expected 2181038092, found 4104
<alyssa> 🤔
<alyssa> DCP crashes so easily >_>
PhilippvK has joined #asahi
yuyichao has quit [Ping timeout: 480 seconds]
marvin24_ has joined #asahi
marvin24 has quit [Ping timeout: 480 seconds]
yuyichao has joined #asahi
jbowen has joined #asahi
<marcan> alyssa: at least you get crash dumps!
jbowen has quit [Ping timeout: 480 seconds]
jeffmiw has quit [Ping timeout: 480 seconds]
lethalnyan has quit [Remote host closed the connection]
lethalbit has joined #asahi
<jn> citizen1[m]: as others hinted at, the big difference between ARM-based SoCs is in the parts that are not specified by the ARM instruction set, i.e. the on-chip peripherals. these are often reinvented by the particular hardware vendor (Apple in this case), and new drivers have to be written for them
<j_ey> or like the uart, a current driver had to be adapter
<j_ey> *adapted
<sven> and then apple also ignores part of the arm specifications and does their own thing (like the FIQs or that stuck VHE bit)
<maz> their usage of FIQs is actually legal. just pretty uncommon.
<maz> the E2H bit is another story altogether.
<j_ey> SCR_EL3 has a bit that routes FIQs to EL3, I guess that's normally used, if FIQs are used
<maz> that's assuming that EL3 exists. there are at least another example of a system without EL3.
<j_ey> but either it doesnt use linux or it doesnt use fiqs :P
<maz> and VMs are, by definition, systems without EL3.
<maz> it does run Linux, and you have one in the office.
<j_ey> office... yes, I remember now what an office is. I used to go to one of those.. :D
<chadmed> apple has an architecture license which means they can produce any design they like but it has to be compliant with the ISA spec. impl dep stuff has existed since the dawn of time on commercial riscs, you just dont usually get to see the result of it in the consumer space because we are spoonfed drivers and software
<chadmed> sparc for example has entire chapters of its manual dedicated to different valid ways of implementing the same thing, all of which need different drivers and firmware to talk to the chip properly
<maz> chadmed: IMPDEF stuff is all fine. things that actively break the architecture, less so. somehow, Apple is allowed to do that, while it is frowned upon for most other architecture licensees.
jbowen has joined #asahi
<landscape15[m]> <jn> "citizen1: as others hinted at..." <- So this is the reason why other computer vendors won't switch to ARM for laptops and desktops. They should create a new standard (such as UEFI+ACPI) for all ARM chips right?
<chadmed> ah yes the best way to unify standards -- create a new standard :D
<chadmed> (fwiw i agree the glut of arm init systems and fw interfaces and stuff is deeply troubling and only serves to hinder interoperability)
<jn> UEFI+ACPI for ARM exists, but i don't think it can alleviate the need for matching drivers
<landscape15[m]> Yes, and as i know even if this standard exist, it is not implemented by OEM. I'm thinking about all those 2 in 1 laptops which run Windows 10 on Arm.
jbowen has quit [Ping timeout: 480 seconds]
<jn> i think the big compatibility advantage of x86 is that there are only two (important) vendors - Intel and AMD
<j_ey> windows requires ACPI afaik
<landscape15[m]> jn: Sure it is. But i think we won't see ARM Intel and AMD cpus for at least two/three years. After this time something will start to change.
<chadmed> this is contingent on the nvidia acquisition being blocked too
<chadmed> if that goes through its riscv all the way baby
<sven> ah yes, because linux runs totally fine on every x86 machine you can find
<jn> landscape15[m]: Intel/AMD ARM SoCs wouldn't solve anything, i think. the advantage right now is that they have a high market share (due to excluding everyone else) and (can afford to) contribute most of the necessary drivers to linux directly -- at least as far as SoC drivers are concerned, with peripherals it can get a little broken too
<jn> that said, i like that there are many ARM vendors, it's just that i'd hope they'd share a few more hardware interfaces, so that more drivers could be shared
<landscape15[m]> Yes i also think this is the only way they have. And it surely takes a lot of time.
<landscape15[m]> * Yes also i think this is the only way they have. And it surely takes a lot of time.
<chadmed> jn: that would require them to _want_ to share code and promote compatibility
<chadmed> the only reason the PC platform is so "open
<chadmed> is because the US courts allowed PC clones to continue to be manufactured, and intel were slugged with heaps of antitrust suits in the 90s that forced them to open up the platform to competitors
<chadmed> and by now its just expected that these systems can work with each other. dont forget that many of the standards we take for granted now were originally just intel's specs, even things down to how PC motherboard VRMs talk to the chips they power
<chadmed> the reason the courts cant force this for ARM is because its not a unified platform. or rather, the computer manufacturers have convinced governments that it shouldnt be considered a unified platform.
<chadmed> i was at one point not that long ago working on a proposal for a sort of interoperable PC-like platform for ARM or RISC-V (it didn't matter which at the stage i got to working on it) with prescribed I/O, firmware interfaces and sockets, but i had to return to my studies in a completely unrelated field and dropped it.
<chadmed> theres no commercial interest in such a proposal anyway since the trend in the industry now is vendor lockin
<JTL> I guess you could say the relative "openness" of x86 and the PC is an artifact of the time period involved and a bunch of happy accidents :)
<j_ey> woot, hacked up a serial driver, so now I have a shell over the hv uart
<jn> \o/
<pipcet[m]> j_ey: did you add interrupts or is it polled? sounds very useful, in any case :-)
<j_ey> polled
<j_ey> the ""proper"" thing might be to actually emulate the samsung tty enough in hv_vuart.c
<j_ey> then you dont need a fake serial driver
<pipcet[m]> can't wait to try it! (I actually think polled is better when it comes to interaction, because IRQs always break when you need them, but that might just be me)
<j_ey> the good thing about emulating the proper tty is it would just work with whatever kernel
<j_ey> sven just had an idea to emulate another driver that doesnt use interrupts, rather than writng a new one
<j_ey> (if only he had that idea before I started writing a new one)
<j_ey> cos I think all that we need then is an option to overwrite the serials compatible in the dtb
kettenis has joined #asahi
phiologe has joined #asahi
PhilippvK has quit [Ping timeout: 480 seconds]
<cgv[m]> do CMOs work as expected? i'm not able to observe any timing effect of DC CVAU & co
<cgv[m]> CLIDR correctly shows separated L1, and unified L2; although CSSIDRs give a dummy value (0x70ffe07b)
<cgv[m]> if I fill the cache to force evictions then I get timing differences, meaning that the measurement works
<maz> cgv[m]: it has FEAT_SWB, so it is likely that clean to the PoU are implemented as NOPs (the i-side can snoop the d-side).
<maz> s/SWB/FWB/
<maz> actually, s/SWB/S2FWB/
<maz> cgv[m]: what does CLIDR_EL1.LoUIS report?
<cgv[m]> maz: ok, that makes sense. both LoUU and LoUIS are 0
<maz> cgv[m]: right. that's totally expected, and inline with the architecture. you should observe timing differences with cleans to the PoC though, unless that one also reports 0...
<maz> you may also see different behaviours if you run in a guest where the hypervisor has set FWB.
<j_ey> I dont think m1n1 sets it
<maz> fair enough. KVM uses it extensively, as it makes everything much simpler when dynamically mapping/unmapping guest pages. for the m1n1 case, it probably doesn't have any advantage.
<cgv[m]> LoC is 1, which means that only cleans/invalidates L1? if the latency is hidden by barrier that could explain that i do not observe the differences between L1 hit and L2 hit
<maz> cgv[m]: you can't really directly associate what is reported by CLIDR_EL1 to actual cache levels. all you know is that it is ordered before something that would report '2'. And yes, I would fully expect the DSB to be where the cost can be measured.
<cgv[m]> maz: i see. then i don't know whats going on, i dropped the barriers and can see a 1 cycle delay with data dependencies, the L1 miss should show up.
yuyichao has quit [Quit: Konversation terminated!]
<marcan> j_ey: interrupts aren't hard to emulate
<marcan> just use the AIC sw irq bits
<marcan> you don't need to emulate AIC, just inject them
<j_ey> marcan: I may or may not have a look later, what I just did is working well enough and uses an upstream driver
<marcan> sure
<marcan> I'll get to it eventually if nobody does :p
etsukata[m] has joined #asahi
jbowen has joined #asahi
jbowen has quit [Quit: leaving]
jbowen has joined #asahi
bps has quit [Ping timeout: 480 seconds]
stblassitude has quit [Read error: Connection reset by peer]
brinly has quit [Remote host closed the connection]
sorear has quit [Remote host closed the connection]
sorear has joined #asahi
desairc has quit [Quit: desairc]
stblassitude has joined #asahi
brinly has joined #asahi
<alyssa> marcan: sometime ater reversing AGX i hope? o;)
bps has joined #asahi
<citizen1[m]> i don't mean to sound like a smart alec but can't others help Marcan to reverse engineer or make linux work on M1? or he is the only one with the know how who can do this
<j_ey> citizen1[m]: others are helping!
bps has quit [Ping timeout: 480 seconds]
marvin24_ has quit [Ping timeout: 480 seconds]
marvin24 has joined #asahi
jbowen has quit [Ping timeout: 480 seconds]
<citizen1[m]> oh ok i thought everyone is just waiting for him to get the job done
<TheLink> I am
<TheLink> :P
<sven> he's the only one working full time on it, so especially very time-intensive tasks can realistically only be done by him
kwilczynski has quit []
sirn- has joined #asahi
bps has joined #asahi
sirn has quit [Ping timeout: 480 seconds]
sirn- is now known as sirn
bps has quit [Ping timeout: 480 seconds]
<citizen1[m]> 8 billion people in the world only one can afford to do this full time, shame on us
<marcan> sven: not quite full time, we never reached that patreon goal, but I try to make it most of the way to full time :)
<marcan> but I think I see my job here as doing whatever nobody else wants to do, and building tools to make everyone else's lives easier
<marcan> you all get to pick what to work on, I need to work on whatever's left :-)
<citizen1[m]> i am honored to meet you
<citizen1[m]> you are a tech. super hero
<sven> speaking of whatever nobody else wants to do... how are those clocks coming along? :P
<marcan> let me sleep okay :p
<marcan> I was thinking of poking around i2c and that next week
<sven> sounds good :-)
<marcan> citizen1[m]: tbh though, open source software is woefully underfunded in general
<alyssa> citizen1[m]: sven and kettenis and maz and arnd and dougall and i do stuff!
<steev> if that were true, they would get credit in articles and not just you alyssa :P
<alyssa> steev: journalists don't read the details. it really bugs me
<steev> i know, same here, i was just teasing
<alyssa> sven: is the unsung hero of asahi linux
<alyssa> so i wrote a song about him to fix that
<alyssa> it's very bad.
<steev> fortunately his work is better than the song
<marcan> alyssa: and then I had no choice but to score it
<marcan> (yes this really happened)
<marcan> (now you know how kernel work doesn't get done)
* marcan hides
<jn> now i'm curious
bps has joined #asahi
<nico_32> the patreon goal is at 67% :(
jbowen has joined #asahi
<marcan> nico_32: actually 57%. patreon has a stupid bug with currency conversions, try switching your currency to $ in an incognito window
<marcan> but there's GitHub sponsors too
<marcan> it's indeed about 67% if you add GH in
<marcan> but that's okay, that still means I can spend most of my time on the project :)
<marcan> I really can't complain about how supportive people have been so far
<citizen1[m]> <marcan> "citizen1: tbh though, open..." <- that's true and this is why i say shame on us. Society wants to break from corporate clutches but too stingy to donate few dollars
<citizen1[m]> but the foss community is to be blamed too. So many forks of the same software and all requesting donations makes efforts and money distributed all around and lose its power
<citizen1[m]> if we all donated to 3-4 linux distros instead we can see things much better
<marcan> multiple competing forks aren't really a thing the vast majority of the time, much less soliciting donations
<marcan> it's just that there is a lot of software
<citizen1[m]> in the case of asahi it's doing something different but xubuntu kubuntu ubuntu mint zorin pop os , mx linux, debian elementary slackware , garuda , manjaro... idk , do we really need this much? like 85% of pcs run windows 10 which is good for all
<marcan> distros aren't really forks though... and that's also not where most of the work is
<marcan> distros just package software, and most of those are derivatives of each other so don't duplicate work
<j_ey> and if people didnt work on those distros, doesnt mean they'd work on whatever 3-4 ""blessed"" disros there are
<citizen1[m]> yea but if all resources get poured in one, we can have something much more effective or a replacement for windows and me office maybe
<marcan> like we're going to be releasing images of an Asahi version of Arch Linux ARM that a lot of people will probably call Asahi Linux, but the amount of work going into "having a distro" will be tiny for us, compared to everything else we do
<marcan> same for many of those variant distros, they focus on specific things that matter to them, they don't duplicate work
<alyssa> jn: I can confirm marcan scored it.
<marcan> also what j_ey said :)
* marcan off to sleep
<marcan> alyssa: you have permission to share it *if* you want :p
<alyssa> marcan: That's a big ol' pile of "if"
<j_ey> please do
<j_ey> >:D
<citizen1[m]> my point is foss efforts and money is too distributed, meanwhile on the proprietary side its concentrated mainly in 4 companies: Apple, Microsoft, facebook, and Google
<sven> am i allowed to object to sharing it? :D
<alyssa> sven: >:)
<alyssa> who can prove it's about you
<alyssa> and not about some reindeer named Sven who happens to hack on the Linux kernel with his buddy Kristoff
jbowen has quit [Ping timeout: 480 seconds]
<marcan> alyssa: sven is a famous bobsledder, not a reindeer though
<alyssa> the reindeer can sled too
jbowen has joined #asahi
jbowen has quit [Ping timeout: 480 seconds]
s-h-i-n-o-b-i_ has quit []
jbowen has joined #asahi
jbowen has quit [Ping timeout: 480 seconds]
jbowen has joined #asahi
jbowen has quit [Quit: leaving]
<dottedmag> There still seems to be no good business model around free software, for individuals and small shops, unfortunately. Would I work on Wayland full time? Sure. Is it Patreon'able? No. Are free software companies paying competitive salaries? Not really, no. Can you build a business around it? Hardly.
<alyssa> dottedmag: Wayland, you say?
<citizen1[m]> i think what we can do is promote donation culture and make people understand there is no such thing as free lunch. The good thing is that small numbers are very effective $3 * million donors= $3M!
<citizen1[m]> i also think a way to make money is to charge businesses for foss software
<alyssa> Maybe -> #asahi-offtopic
<citizen1[m]> indeed
<landscape15[m]> citizen1[m]: Perrhaps at first you should include donation informations into the asahi-installer (only for reference).
jeremiah has joined #asahi
marvin24_ has joined #asahi
marvin24 has quit [Ping timeout: 480 seconds]
robinp has quit [Read error: Connection reset by peer]
robinp has joined #asahi
Graypup_ has quit [Quit: meow]
Graypup_ has joined #asahi
Graypup_ has quit []
analoq has joined #asahi
Graypup_ has joined #asahi
<citizen1[m]> there is no 1 time donation option for asahi except you have to contact marcan personally... people don't like commitment
<citizen1[m]> if there is 1 time donation maybe more money pours in
<analoq> i just saw that 5.13 has seemingly pretty good M1 support already. at what stage is video acceleration at the moment? i want to feed 4k h264/265 to a tv via hdmi. I assume that's not (yet) doable due to the missing gpu support?
linearcannon has quit [Remote host closed the connection]