18 ms·
Paving the Road to Vulkan on Asahi Linux
- carlycue 4y agoIt’s kind of hilarious how the entire conversation about CPU’s have steered towards Apple’s chips. No one talks about or mentions AMD or Intel chips anymore outside of gaming circles…
- grog454 4y agoAre there server circles? I'd guess they talk about intel and AMD more than Apple.
- LeonenTheDK 4y agoDefinitely are, lots of talk of general ARM usage in the server space in those circles, particularly when it comes to AWS' Graviton, or other hardware/cloud offerings.
- sampa 4y agoyou live in a bubble
- diffeomorphism 4y agoBecause it is kinda boring? Just like M2 is much less interesting than M1. Current gen Intel or AMD chips are like 10% to 20% faster than apple (which apple acknowledges in their marketing and hence points at performance per Watt). Intel uses about the same energy at idle but about double at load. AMD has about the same efficiency (work per Watthour) under load but worse idle. And now nothing is happening until the next release. > No one talks about.. Yeah, nobody cares unless something new comes out.
- smoldesu 4y agoGood grief, HN. Downvote me too while you're at it, I wouldn't mind being karma-locked out of this site again for a few more blissful hours.
- OptionX 4y agoThis gonna sound like but I promise I'm not being facetious or trying to make a point. I'm genuinely curious. Whats the point of Asahi Linux? Why buy a Mac to run linux? If you're spending money on Mac I assume you want to buy in the whole MacOS environment, that's Apple value proposition in my eyes. Is it the M1, it that fast and better than similar priced laptops running an x86-64? Or is it the novelty of using ARM-based stuff? Is the market for ARM-based laptops still Apple only? Also is there relevant limitation on stuff you can't do on MacOS through homebrew or something and can on a Linux distro (not a mac user so I don't know).
- deleted 4y ago[deleted]
- mixmastamyk 4y agoBest hardware + most flexible OS.
- nicoburns 4y ago> Is it the M1, it that fast and better than similar priced laptops running an x86-64 That's definitely part of it. You probably need to include battery life for it to really make sense. There's nothing else that will give you that performance and close to 20 hours of battery life in a slim laptop form factor. There's also people who are mostly happy using macOS but may want to boot into Linux for specific tasks.
- flohofwoe 4y agoThe ARM Macs are seriously impressive hardware, even for just the build and tactile quality. But macOS is regressing quickly for professionals, there's too many design compromises to make the OS attractive and safe for 'casual users' but those same features are starting to become a hassle for professional users. Linux is the complete opposite of course, it's a hassle for casual users, but in exchange gives complete freedom to do what you want. Personally I'm still ok with macOS, but with each new macOS release the grass is looking greener on the Linux side ;)
- themadturk 4y agoSpeaking as a Mac M1 users, but not a Linux user (I have played with Asahi, think it's great, but don't need it right now), I think almost no one (or a very small minority of people) buys Mac hardware to run Linux. I think it's the inverse, people buy Apple hardware and then realize Linux is available and want to run it. Yes, I think the general opinion is that Apple's M1 and M2 platforms are superior to Intel, even at the Mac's (supposedly) higher price point. Though MacOS is a complete Unix system, it is still proprietary, and there's nothing wrong with wanting to do your work (or play) on a free OS running on an excellent hardware platform. Asahi is giving people the opportunity to do that. Finally, though I can't speak for the Asahi team, I think also there's an element of "because it's there". Here is a great new hardware platform offering a incredibly difficult challenge to a group of people who live for this kind of thing. Why would they not want to do it?
- brightball 4y agoIf they make it possible for me to revive old Apple hardware I’m going to be very excited about this project.
- dagmx 4y agoAsahi Linux is geared specifically for Arm based macs. There won’t be “old” hardware for another several years.
- Ruq 4y agoSometimes I really get to thinking (more than I usually do) about how much it sucks that so much hardware is completely undocumented and must be extensively reverse-engineered to even function outside of the realm of manufacturer ordained software.
- dancemethis 4y agoFandaniel is really knocking everything on its path!
- quickthrower2 4y agoAsahi means morning sun. I was curious as there is a beer with the same name.
- slikrick 4y agodisappointed in the moderators of this thread
- freedomben 4y agoEven if you don't care a lot about Apple, this is still a great read. If you're a layman it can be hard to find information on how graphics works that is technical enough (uses terms like "user space" and "kernel"), but simple and high-level enough for somebody who doesn't know much. There is stuff like that throughout the piece. Here's the first example: > In every modern OS, GPU drivers are split into two parts: a userspace part, and a kernel part. The kernel part is in charge of managing GPU resources and how they are shared between apps, and the userspace part is in charge of converting commands from a graphics API (such as OpenGL or Vulkan) into the hardware commands that the GPU needs to execute. > Between those two parts, there is something called the Userspace API or “UAPI”. This is the interface that they use to communicate between them, and it is specific to each class of GPUs! Since the exact split between userspace and the kernel can vary depending on how each GPU is designed, and since different GPU designs require different bits of data and parameters to be passed between userspace and the kernel, each new GPU driver requires its own UAPI to go along with it.
- derefr 4y agoOn a tangent from that quote, I'm curious how much extra perf we could squeeze from GPUs if the applications driving them were running in kernel mode (picture an oldschool boot-from-floppy game, but in the modern day as a unikernel), and therefore the "GPU driver" was just a straight kernel API that didn't need any context switching or serialized userspace/kernelspace protocol, but could rely on directly building kernel-trustable data structures and handing them off to be rendered. Presumably there was an era of console games that did things this way, back before game consoles had OSes — but since that would be about 10–15 years ago now (the Gamecube + PS2 era) it'd be somewhat hard to judge from that what the perf margin for modern devices would be, since the modern rendering pipeline is so different than back then.
- dijit 4y ago> On a tangent from that quote, I'm curious how much extra perf we could squeeze from GPUs if the applications driving them were running in kernel mode (picture an oldschool boot-from-floppy game, but in the modern day as a unikernel) Presumably you're quite seasoned so I would assume you'd know: but Windows itself put a lot of its graphics rendering in kernel-space, they saw considerable performance gains from doing so but suffered 2 decades of severe bugs in rendering.
- jamies 4y agoAsahi Lina is truly an inspiration for open source reverse engineering. For those not aware, they also live stream their coding sessions quite often: https://www.youtube.com/@AsahiLina https://www.youtube.com/@AsahiLina I'm excited for the day that I can easily install SteamOS (the modern one that runs on the Steamdeck) on an M2 Mac mini for an insanely powered "Steam console" for my living room TV.
- goosedragons 4y agoBuy a Ryzen mini PC with a Radeon 680M and get that now with HoloISO? M2 really isn't that fast. And as a bonus you won't have to run every game under a translation layer.
- ozarker 4y agoI wonder how long it's going to take for games to start generally supporting ARM. Getting Linux running well on M1/M2/etc.. seems like only half the battle for making a good gaming machine out of these.
- sofixa 4y agoI have Steam on a Mac, and roughly 1/3 of my library supports M1 Macs. I have some old games in my library, so that's pretty decent numbers for a relatively new platform that is 64 bit only, relatively niche in general, and extremely niche for gaming.
- nicoburns 4y agoI'd guess that will probably only happen when either windows gets widespread ARM adoption, or there's a new Xbox or PlayStation console that uses an ARM processor. Which... might be a while.
- matthoiland 4y agoI love reading things like this that reinforce my belief that I personally know very little about anything. _back to writing CSS for me :)_
- ahelwer 4y agoThe key to understanding this world is that nearly everybody does these things full time for their own interest. Trying to accumulate this level of expertise on nights & weekends is an express train to burnout. On the other hand if your financial needs are satisfied (worked at FAMANG for a decade while being frugal, doing contracts for 1/3 of the year & being frugal, married a doctor, got into cryptocurrency early, donations if you're anomalously popular) and you're reveling in the joy of self-indulging exploration, learning, and tinkering without having to worry about giving an update at daily standup tomorrow, it's amazing what you can accomplish. Knowledge is cumulative. Within a few years many people could be at this level. This is part of why UBI is so popular within software engineering circles, because you really don't need that many resources to just be in it for the love of the game. On the other hand having kids is basically anathema to being able to live this life. So you are choosing work (in a broader sense of term than conventionally used) over family.
- PaulDavisThe1st 4y agoI'm the father to a 27 year old, step-father to a 31 and 33 year old. I started my journey into audio software when my daughter was about 2 years old and I was a stay-at-home parent. I'm often considered one of the most senior people in audio software development in the world now (a bit of an illusion caused by the invisibility of people inside proprietary development processes, but I'll take it). I can take you on a deep dive into every aspect of audio software. My kids and my wife did not obstruct that, and if anything, having responsibilities towards them forced me to be even better at the process that got me to where I am today.
- ahelwer 4y agoSorry, I should have specified: my post was specifically concerning FOSS development. Of course people inside large companies developing proprietary software can attain a high level of knowledge about whatever field even if they have families, because they're working on it full time over many years and being paid for it. Although it's unclear, perhaps you are talking about FOSS development (actually looking up Ardour from your profile, yes you definitely are). That's very impressive, then! So you did manage to juggle having a full-time job, FOSS development, and a family?
- ozarker 4y ago"Since the Mesa driver no longer serializes GPU and CPU work, performance has improved a ton. Now we can run Xonotic at over 800 FPS, which is faster than macOS on the same hardware (M2 MacBook Air) at around 600*! This proves that open source reverse engineered GPU drivers really have the power to beat Apple’s drivers in real-world scenarios!" Wow that's impressive!
- dev_tty01 4y agoIt is impressive, but worth noting that the macOS version was running x86 code under Rosetta. Hmm, I guess that's also impressive...
- rubenfiszel 4y agoI have been a thinkpad + arch devoted user for the last 10 years. I just want a nice ARM machine now and it seems the best option at the moment is Macbook Air M2 + Asahi. I do not know how to feel about it, maybe a bit of sadness, but I wish great luck to Asahi. Also every blog they post are great read!
- microtonal 4y agoWhy do you feel sad? Apple Silicon Macs are fairly open hardware, I see it as a win that there are ARM64 machines now that can run Linux and are competitive with x86_64.
- pxc 4y agoAs another person who loves free software, I'm a little sad that after so much progress has been made in other areas, when it finally looks like x86's dominance of the desktop and laptop CPU markets is starting to slip, the most attractive contender for a non-x86 Linux laptop is any proprietary platform, Apple or otherwise. And I do have a distaste for putting money in Apple's pockets for various personal reasons, from the huge pile of cache they're sitting on to the way they repeatedly updated my long-dead iPod's firmware just to break its compatibility with open-source tools for syncing music to it way back in the day to the upstream-hostile forming of WebKit from KHTML to their utterly cynical use of 'open-source' as a marketing ploy when they launched OS X. So if I do get an Apple Silicon Mac, it will have to be used even though I wouldn't otherwise want it to be. Because most other hardware vendors suck, too, there are still things Apple could do, short of becoming some kind of open hardware company, that would make me reconsider that general sense of hostility I've gotten from them over the years, which I acknowledged in this other comment on this post: https://news.ycombinator.com/item?id=35233479 https://news.ycombinator.com/item?id=35233479 I just wish my interest in the Apple Silicon option could be wholehearted enthusiasm, instead of something complicated by my relationship to a company whose ethos screams that my values are unimportant on a bunch of different levels.
- rubenfiszel 4y agoI am neither an Apple lover or an Apple hater. I think Apple produces extremely well polished products thanks to their vertical integration and have innovated in hardware pushing the frontier, especially with the ARM suites. However, they also have a fairly closed ecosystem in which they are trying to overprice things when they can abusing their dominant position. I would feel sad to contribute to its success but I also selfishly really need the best tool available.
- shmerl 4y ago> We could add explicit sync to them, but that would break backwards compatibility… At some point it would be good to break it and get rid of implicit sync in the Wayland use case. Keeping it forever is not worth it.
- raphlinus 4y agoThe big question I have is whether this can possibly support mandatory Vulkan features that are not available in Metal. The one I care about most is device scoped barriers, which in turn are needed for single-pass prefix sum techniques.
- rowanG077 4y agoFrom what I read on IRC full Vulkan is definitely the goal. And with some hacks should be supported by the hardware.
- raphlinus 4y agoThe specific thing I asked for is very technically challenging. One of the things I can offer is some tests that fail in, among other things, MoltenVk, as the mapping to Metal barriers is imprecise. I'm not sure whether the Vulkan CTS test will catch it, I've seen it miss memory model failures on other hardware. I'm always happy to chat about this if someone from the team wants to reach out.
- rowanG077 4y agoAlyssa and Lina are very responsive on IRC. #asahi-gpu on OFTC IRC network. You best ask them. Whether metal or moltenVk supports it doesn't matter. The hardware is capable of more.
- nullbyte808 4y agoI think better time would be spent getting Full Vulkan on MacOS with proton support. The amount of people wanting to run Linux on Macs is waaay lower than with Windows PCs.
- p_j_w 4y agoThen go ahead and do it, but why should the Asahi Linux people take this into consideration? The entire point of the project is to get Linux running on ARM Macs. That's what they personally want and there's no reason for them to make market share considerations.
- malermeister 4y agoHard disagree. Apple Silicon is by far best in class, but the OS it ships with feels like a toy to me. Can't wait for the hardware to be liberated.
- radicaldreamer 4y agoWhy does MacOS feel like a toy? It's the primary OS for a huge number of developers (at least in the Bay Area) who are doing plenty of production work on it every day. Fully support bringing a well supported Linux distro to the hardware but MacOS is nothing like ChromeOS or some sort of thin client operating system.
- UncleEntity 4y ago> It's the primary OS for a huge number of developers (at least in the Bay Area) who are doing plenty of production work on it every day. How much of that work is being done in Electron?
- ofchnofc 4y ago[dead]
- sebzim4500 4y agoNot GP but I also believe that MacOS feels like a toy. All the icons are jumping around everywhere, everything is colourful, it's 2023 and you can't maximize a window or make it take up half the screen, etc. I also hate the touch bar but I'd probably get used to that. I used a pre-touchbar Air for a few months and going back to windows felt amazing. I am eagerly waiting for Asahi to be usable as a daily driver, my next laptop will probably run Apple silicon.
- sedatk 4y ago> Now we can run Xonotic at over 800 FPS, which is faster than macOS on the same hardware (M2 MacBook Air) at around 600*! This proves that open source reverse engineered GPU drivers really have the power to beat Apple’s drivers in real-world scenarios! > Not only that, our driver passes 100% of the dEQP-GLES2 and dEQP-EGL conformance tests, which is better OpenGL conformance than macOS for that version. But we’re not stopping there of course, with full GLES 3.0 and 3.1 support well underway thanks to Alyssa’s tireless efforts! That's very impressive work. Congrats to Asahi and Alyssa.
- mouse_ 4y agoNow that we can see Vulkan is around 4/3 more power efficient than Metal on the same hardware, I wonder if Apple will budge on their not-invented-here syndrome and allow for a real vulkan.kext on upcoming macOS versions. That would solidify it as not only the best graphical workstation OS, but also the best gaming OS, in my opinion. Part of me thinks they're avoiding this in worry of stepping on Microsoft's toes.
- babypuncher 4y agoNative Vulkan support could also pave the way for a proper Mac version of DXVK. That could make Macs a lot more viable as gaming machines than they are now, even with the Rosetta 2 overhead.
- pxc 4y agoAs much as I like the idea of Linux being in a special position w/r/t emulation layers for Windows games, this makes a lot of sense to me as something that would be desirable to Valve, and might, like the Steam Deck, help bootstrap Proton+DXVK as a worthy target platform for game developers/publishers.
- dathinab 4y agoValve supports Steam Deck/Proton that much because they are afraid of being killed by windows locking itself down, it's a live line for them, but not a supper profitable business. A Steam for iOS & Android might be worth it for Valve, but for Mac it's like not worth the money it costs. Additionally Apple is one of the main offenders pushing for a lockdown of PC platforms and one of the main lobbyist trying to prevent regulation requiring the possibility of (well working) 3rd party app stores. Which means not only would good Mac support be costly it also is constantly at risk of "defacto" being killed off. (Yes there are currently regulations for requiring 3rd party app stores, but it being theoretical possible and it being practically viable for a business are not the same.)
- endorphine 4y agoAnd the end goal is to upstream all the work so that we can run, for example, Debian in Macs? Also, is anyone else afraid of the possibility of Apple deciding to screw us up by imposing restrictions to prevent people specifically from doing this for...reasons?
- kitsunesoba 4y agoAs I understand it, while the core pieces required for Linux to run on Apple Silicon will be upstreamed, there are parts that smooth the experience out and make it more practical that are unlikely to be integrated into other distributions, which necessitates Asahi's continued existence as a distribution.
- Wowfunhappy 4y agoIt should be noted, Marcan has said that the ultimate, eventual goal is for Asahi to no longer have to exist as a distro. That may be a long way off however!
- htag 4y agoThis is a similar model to the KDE Neon distribution, which upstreams basically everything but gives some benefit to developers working on the KDE project.
- kaba0 4y ago> Also, is anyone else afraid of the possibility of Apple deciding to screw us up by imposing restrictions to prevent people specifically from doing this for...reasons? According to Marcan, Apple explicitly went out of their way to support secure booting of other OSs as well. Also, it’s hard to predict, but I think it would only increase revenue if the small, but rich linux-using software community would choose MacBooks as “the next thinkpads”, and it’s not like most people would not just have both OSs available and switch between them.
- qalmakka 4y agoNoob question: given that Zink exists and works quite well, wouldn't it been simpler to implement a Vulkan driver first and then just use Zink for OpenGL?
- wtallis 4y agoI think Zink requires a fairly feature-complete Vulkan implementation. Starting with a basic OpenGL implementation is definitely the quicker route to having a way to run and test some real applications.
- ThatPlayer 4y agoZink docs list a bunch of Vulkan extensions you need to support to be able to run Zink. The Raspberry Pi's v3dv Vulkan driver doesn't even support all the requirements, though it is only missing 1 extension. Alyssa also works on the drivers for ARM Mali GPUs, which currently don't even support Vulkan 1.0. https://docs.mesa3d.org/drivers/zink.html#opengl-2-1 https://docs.mesa3d.org/drivers/zink.html#opengl-2-1
- kitsunesoba 4y agoTo add to this, the faster route to something that runs was important because it was a goal of the devs to start dogfooding the distribution as soon as possible.
- coconut08 4y agoI THINK that I remember marcan addressing this in one of his youtube interviews: This is actually what their plan is long term. That said in the short term it's way easier to implement opengl, it gives them a simple way to explore the hardware, and it also makes it so that real people will be able to run desktop linux on apple silicon macs way sooner.
- saagarjha 4y agoI'm curious what rendering path Xonotic uses on macOS. Is it OpenGL? Apple supports that, but they run it on top of Metal, which leaves it buggy and with performance that's nothing to write home about.
- ElijahLynn 4y agoWow: > So what does this all mean for users of the Asahi Linux reference distro today? It means… things are way faster! > Since the Mesa driver no longer serializes GPU and CPU work, performance has improved a ton. Now we can run Xonotic at over 800 FPS, which is faster than macOS on the same hardware (M2 MacBook Air) at around 600*! This proves that open source reverse engineered GPU drivers really have the power to beat Apple’s drivers in real-world scenarios!
- fsiefken 4y agoDoes this mean that SteamVR can run on Asahi Linux and macbook now?
- zamadatix 4y agoSteamVR requires a Vulkan driver whereas this post is just about paving the road to build such a driver. The only working driver at the moment is the OpenGL one.
- zamadatix 4y agoAhhh this is so awesome! I'm now kicking myself for upgrading to an M2 Max thinking all M2 models were supported already, now I have to wait to see this massive performance improvement. Fantastic work by the Asahi team, it's great to see this come together and the blog posts are excellent summaries of information I otherwise wouldn't be able to grok.
- smcl 4y agoI follow Lina, Alyssa and Hector from the Asahi team on Mastodon and all three were great choices to follow. They all post interesting stuff regularly, and Lina in particular is great. She regularly livestreams her coding sessions, announcing what she'll work on ahead of time so you can set yourself a little reminder. I'm really in awe of these people.
- whatever1 4y agoDoes anyone pay these people for their awesome work ? Every time I see their progress in a such undocumented space, my jaw drops. Huge respect.
- dharmab 4y agoMost of them accept donations: > If you want to support my work, you can donate to marcan’s Asahi Linux support fund on GitHub Sponsors or Patreon, which helps me out too! And if you’re looking forward to a Vulkan driver, check out Ella’s GitHub Sponsors page! Lina also accepts donations on her streams. I think Alyssa is funded by her employer, but I'm not sure.
- Mike_12345 4y ago[flagged]
- troad 4y agoAre you sure about this? The Asahi about page (https://asahilinux.org/about/ https://asahilinux.org/about/) lists Hector Marcan and Lina as separate people. I assume Asahi Lina is a pen name, but I don't see anything to suggest it's Marcan's alter ego?
- Mike_12345 4y agoIf you took that literally, and actually believe this is a real separate individual, and believe this is their real voice, then I don't know what to say to you. https://www.youtube.com/watch?v=effHrj0qmwk https://www.youtube.com/watch?v=effHrj0qmwk This is how its done. Voidol2 https://crimsontech.jp/apps/voidol2/?lang=en https://crimsontech.jp/apps/voidol2/?lang=en Demo: https://www.youtube.com/watch?v=Wfid5kXxjY4 https://www.youtube.com/watch?v=Wfid5kXxjY4
- troad 4y agoThat’s… odd. I just figured from the name that it’s someone who wanted to protect their privacy, but that’s certainly, uh, some persona. If it is the creator, my charitable interpretation would be that it’s a form of experimenting with identity and gender. It doesn’t rub me well though when OSS projects list fake contributors. (Even projects as neat as Asahi.) I mean, morning me, afternoon me, and late night me are vastly different people, but I can’t pretend to be a three-man team just because of that!
- tomcam 4y agoSincere, not kiss-ass question here: are they low-key becoming the best communicators in the Linux world? Or are there equally well-documented projects that just aren't getting the same heat for whatever reason?
- kitsunesoba 4y agoI don't follow the space super closely so I may be mistaken, but the impression I get is that Asahi posts are more likely to be posted/shared in less niche tech-related spaces, whereas most other Linux news tends to stay firmly within the Linux/GNU sphere. So if nothing else, Asahi's communications are more generally visible.
- babypuncher 4y agoI think the Asahi Linux project rekindles some of that excitement from the earlier days of Linux on PC-compatibles in the late '90s and early '00s. Some people might not remember this, but hardware support for Linux was a real crapshoot back then, and it's only "mostly smooth" on PC today because we have a quarter century of work building out drivers and modules for the platform. It's fun watching the breakneck pace at which they are going through the same processes with a brand new and proprietary consumer-oriented computing platform.
- tomcam 4y agoYeah, I feel like they’re tackling some very hard problems with tons of enthusiasm and class.
- smoldesu 4y agoMy personal favorite is the This Week In[0] series of posts, if you want a simple way to keep track of notable changes. Technical blogposts are a pretty common practice among reverse-engineers, too; the Dolphin emulator has some great breakdowns[1], along with the people who reverse-engineered the Nintendo Switch's boot process[2] (and the rest of LiveOverflow's stuff). The Asahi writeups are great, but certainly not all there is. Tons of reverse-engineering stuff and Linux documentation gets submit to this website, it just doesn't generally do as well in the ranking system. [0] https://thisweek.gnome.org/ https://thisweek.gnome.org/ [0] https://pointieststick.com/category/this-week-in-kde/ https://pointieststick.com/category/this-week-in-kde/ [1] https://dolphin-emu.org/blog/ https://dolphin-emu.org/blog/ [2] https://youtu.be/Ec4NgWRE8ik https://youtu.be/Ec4NgWRE8ik
- deleted 4y ago[deleted]