6 ms·
“With those changes we're up to a 94% pass rate for dEQP-GLES2”
- gjsman-1000 5y ago"Implementing the GPU is the hard part." "It will take Asahi Linux years to get graphical acceleration." "Maybe they'll have graphics figured out by 2024 if they are lucky." Doubters gonna doubt. OpenGLES 2 for Asahi Linux on the M1, 94% conformity, just 1 year later.
- rrss 5y agothis is great progress and Alyssa Rosenzweig is awesome, but afaik the gpu is not usable from Linux yet because the kernel driver is not yet written. the asahi team is very talented, but I don’t think their progress means building a software stack for an undocumented gpu is not difficult.
- gjsman-1000 5y agoAccording to Hector Martin, writing the kernel driver will be easy as "all the magic happens in userspace." So even though the driver is running in userspace on macOS it won't be that much work to run in Linux, apparently.
- deleted 5y ago[deleted]
- londons_explore 5y agoI'm sure there will still be tricky bits to figure out in kernel mode... Like how to partition and schedule GPU work so one user can't read and write another users rendered stuff...
- whateveracct 5y agoLaymen programmers vastly overestimate systems work because they mythologize it. It's just attitude & elbow grease at the end of the day, and Asahi Linux clearly had plenty of both of those! Cheers.
- nend 5y agoMaybe, but layman programmers also tend to vastly underestimate the work needed to finish projects, because "it's easy, you just need to..." I would assume the last 10% is going to be just as hard as the first 90%, just like most engineering projects.
- derefr 5y agoSure, but you probably need less than 100% support to find things very usable for everyday applications. An asymptote isn't so asymptotic if you don't need it to intercept the origin. :)
- londons_explore 5y agoBut when this test suite hits 100%, then comes the optimization work. Just getting it working is still far from getting all the performance out of the hardware.
- sudosysgen 5y agoI fear you may be overly optimistic. Open source community graphics drivers are not a first, and you can go out and see how much success they have without corporate support. Writing a truly high performance modern graphics drivers is really no small task. There is a reason why NVidia, AMD and Intel employ large teams to the task.
- jchw 5y agoI think the truth is in the middle. The folks working on Asahi are terrific, and deserve credit where it’s due—most would have trouble contributing, especially at the pace they’re working at. They are experienced, driven, creative and overall good at what they do. However, I think it’s also instructive to realize that ultimately, there really are plenty of top-tier developers out there who aren’t working on cool things like this, for one reason or another. Asahi at least has funding. And while Patron funding isn’t new, it is relatively underutilized for open source. I believe the Patron model is the most promising avenue for open source projects to route money from willing participants. I may only contribute a relatively tiny amount, especially when you consider the wages you can get working for a well-funded SV company, but when you pool it altogether, it’s still nothing to sneeze at. So in my mind, Asahi achieves success in the face of skepticism because it has the combination of great engineers and enough funding to meaningfully help the effort. P.S. Even though I do that most graphics vendors have huge teams and Asahi is a strong outlier in this case, they probably have a lot of fish to fry that doesn’t yet or may never apply to the M1 graphics drivers. Valve has found success in writing their own Vulkan drivers; I’d love to know how much engineering effort went into that, both people and time. It might be a somewhat closer comparison. (Well.. not really, because it’s not taking into account the impressive reversing effort needed for M1, but perhaps in terms of actually writing the high level graphics drivers.) P.P.S.: and also, I firmly believe that the ambition and drive to work on such hard problems is what breeds impressive engineers. In my opinion, you shouldn’t feel intimidated; you should feel inspired. Go out there and hack some hardware for yourself.
- sudosysgen 5y agoI think that's pretty consistent? If it takes one year for OpenGL ES2 coverage, not even optimization, it will probably take two more years at least for proper optimized Vulkan/SPIR-V/OpenGL 4 support along with accelerated vidéo encode and decode support.
- gjsman-1000 5y agoTrue - but the 2024 cynics (as seen primarily on forums like Phoronix) doubted that there would be OpenGLES in this time frame.
- opencl 5y agoThose last few percent are a huge amount of work, they were at 93% in July. https://twitter.com/alyssarzg/status/1414354306157875204 https://twitter.com/alyssarzg/status/1414354306157875204
- gjsman-1000 5y agoThat is true and still concerning. The Asahi Linux defense is that only Rosenzweig has been working on it so far, while Martin and Sven have been working on other drivers. They will, in a few months, finish those up (or close enough) and then begin also attacking the GPU, which should then be a lot of progress quickly.
- coldtea 5y agoThey don't implement OpenGL ES2, they figure out the GPU / graphics drivers interfaces / etc, and OpenGL ES2 then works as more features are made available. If they have coverage of the GPU, then Vulcan and so on will play for the features ES2 does. Besides you don't need support for all exotic features to run Linux with hw acceleration.
- sudosysgen 5y agoI'd say usable desktop hardware acceleration requires accelerated rendering in the browser and video decode acceleration. These tend to require pretty exotic features and still aren't implemented in a few PC graphics driver. OpenGL ES 2.0 is pretty simple in comparison, and you won't have to deal with undocumented features and so on. It's also not as simple as coverage, you also need good performance, which means you need a good optimizing compiler for the GPU architecture, and that's not obvious either. Unless they are using Apple's drivers? I don't know that they are. From reading her website it seems they are not.
- phkahler 5y agoI'm still concerned about that weird back and forth between driver and firmware that she talked about in one of the blog posts. Not really a stable API it seems.
- gjsman-1000 5y agoThey said it's no problem - just use a fixed version of the macOS Display Controller firmware of your choice. For example, they might target the macOS 12.1 version of the firmware, maybe upgrade to the macOS 12.4 version a year later... It's not stable but it's easily made stable.
- phkahler 5y ago>> They said it's no problem - just use a fixed version of the macOS Display Controller firmware of your choice. Is that really an option? Can we drop in the binary blob at will, or will it break if Apple pushes an update?even if that's the case, dual booting may be impossible then. Unless that firmware is downloaded every boot.
- garaetjjte 5y agoFirmware is stored per-OS installation. (also DCP is unrelated to GPU)
- acchow 5y agoWill this follow the 80/20 rule?
- ZiiS 5y agoYes they have done 94% of the work, only another 94% to completion.
- still_grokking 5y agoSo why it's so hard to have open-source drivers for say Nvidia GPUs? If you can reverse-engineer Apple's completely new chips it should be a breeze to do the same with already very well know chips form Nvidia, isn't it? What's the difference? Is there any difference at all?
- sudosysgen 5y agoThe big issue with NVidia GPUs is that NVidia won't allow opensource drivers to set the clock rate on newer graphics cards. However even on older cards where this is not an issue, community drivers tend to lag behind. It is far for a breeze. So far they are leveraging the Mesa driver infrastructure to implement OpenGL ES 2.0, which is a good beginning. The really hard part is supporting all of the latest technologies at a good performance. It's too early to know if that will be a breeze or not.
- still_grokking 5y agoSo this sound like the people who say we will be able to run first real tests by 2024 are likely right. From there it's then "only" as much work as with Nvidia. So maybe by 2032 we will have some M1s with somehow HW accelerated graphics. At least it looks like that given the history of Nouveau. I don't want to put the work down those people are doing! But the truth is likely that without vendor support this will never fly beyond some tech demos.
- sudosysgen 5y agoI'm not sure I'd be so pessimistic either. Perhaps they'd be able to use the open source AMDGPU drivers as inspiration, or perhaps there is something else I'm not thinking about. I think there's a solid chance they get it usable for basic use within a few years. In any case, I truly wish them the best of luck.
- piinbinary 5y agoWhat does a "discard if <condition>" instruction actually do?
- deleted 5y ago[deleted]
- etaioinshrdlu 5y agoIt allows a pixel shader to basically return fully transparent, letting previously drawn objects show through.
- GeekyBear 5y agoAccording to Hector Martin in the last progress report, the Wifi driver is up next, then some not terribly demanding work on various drivers (like adapting the NetBSD driver for the real time clock, and getting the M1 iMac SKU with four USB ports to see all four) after which he will tackle the kernel driver for the GPU. https://asahilinux.org/2021/12/progress-report-oct-nov-2021/ https://asahilinux.org/2021/12/progress-report-oct-nov-2021/ As an interesting aside, in the progress report he mentions that after he installed Arch Linux, even without support for the hardware GPU: >glxgears has no right to run at >60FPS with software rendering, but it does
- Klinky 5y agoWhen has glxgears ever been demanding[1]? I would hope a modern CPU could handle a few hundred vertices(guessing) at 60fps. 1. https://wiki.cchtml.com/index.php/Glxgears_is_not_a_Benchmark https://wiki.cchtml.com/index.php/Glxgears_is_not_a_Benchmar...
- mappu 5y agoOn an Intel 7700k, using `LIBGL_ALWAYS_SOFTWARE=1` to force llvmpipe, glxgears reports ~3900fps, compared to ~20000fps on GPU (RX570 amdgpu).
- sudosysgen 5y agoHeck, a 3990X can run Crysis using software rendering.
- gpm 5y agoHe was livestreaming the wifi work today: https://www.youtube.com/watch?v=7kOlrBUKAfM https://www.youtube.com/watch?v=7kOlrBUKAfM I only glanced at the last minute, sounds like it's not working, but pretty close (I could have interpreted his comments wrong though).
- drewg123 5y agoWhat functionality remains to make it a viable alternative to MacOS on an M1 13" MBP or MBA? It seems like wifi is the biggest remaining hurdle?
- tttyyyttt 5y agoImpressive work from a very talented guy. Nice to see such good progess on this.
- dimensi0nal 5y agoreally? making an account just to post this?
- tttyyyttt 5y agoRelax, I'm just complimenting his fine work.
- selectodude 5y agoAnd making the decision to be a prick about her gender.
- tttyyyttt 5y agoIt's simply an honest compliment.
- ncmncm 5y agoWe don't deserve Alyssa.