• Wowfunhappy 3 hours ago

    > Tessellation enables games like The Witcher 3 to generate geometry. The M1 has hardware tessellation, but it is too limited for DirectX, Vulkan, or OpenGL. We must instead tessellate with arcane compute shaders

    > Geometry shaders are an older, cruder method to generate geometry. Like tessellation, the M1 lacks geometry shader hardware so we emulate with compute.

    Is this potentially a part of why Apple doesn't want to support Vulkan themselves? Because they don't want to implement common Vulkan features in hardware, which leads to less than ideal performance?

    (I realize performance is still relatively fast in practice, which is awesome!)

    • VHRanger 2 hours ago

      > Is this potentially a part of why Apple doesn't want to support Vulkan? Because they don't want to implement common Vulkan features in hardware, which leads to less than ideal performance?

      Yes, it's a big reason.

      I tried to port the yuzu switch emulator to macos a few years ago, and you end up having to write compute shaders that emulate the geometry shaders to make that work.

      Even fairly modern games like Mario Odyssey use geometry shaders.

      Needless to say, I was not enough of a wizard to make this happen!

      • miohtama an hour ago

        Why Apple does not just implement it? They have more resources than anyone in the world. Patents?

        • Wowfunhappy 35 minutes ago

          In hardware? I would assume because it takes up space on the die, right? It's not free.

          • kelnos an hour ago

            Because they don't care. They've decided that Metal is The One True Way to write 3D-accelerated apps on macOS, so they only implement the things in hardware that Metal requires.

            • fl0id 21 minutes ago

              Because they like to be different tm

          • mandarax8 2 hours ago

            Geometry shaders are not part of base Vulkan. They're an extension.

            • ornitorrincos 2 hours ago

              they are not an extension, they are part of core 1.0 vulkan.

              Although its true that they are an optional feature (as is tessellation).

          • dcchambers 4 hours ago

            From a performance and technical perspective this is incredible. Well done!

            It will never happen, but my dream is for the Asahi devs, Valve, and Apple to all get together to build out a cross-platform Proton to emulate and play games built for Windows on both x86 and ARM hardware running Linux.

            A Steam Deck with the performance and power efficiency of an M-series ARM chip and the entire library of games that run on Proton is just...dreamy.

            • tapoxi 3 hours ago
              • dcchambers 3 hours ago

                That's awesome news!

              • alexr243 18 minutes ago

                You can play windows game with this release in Asahi Linux! So it is possible now

                • bmicraft an hour ago

                  An ARM CPU only emulating x86 isn't going to be more efficient than straight x86. ARM is barely more efficient as it is at those performance levels.

                  The real reason Apple is ahead is because they're paying for more expensive more advanced nodes for their CPUs. I you compare CPUs on similar node sizes, you'll see that AMD and Intel are basically caught up architecturally in perf/W metrics.

                  • rowanG077 3 hours ago

                    I'm not sure if you know. But Alyssa, the person who basically wrote almost the entire userspace opengl and vulkan driver, works at valve.

                    • dcchambers 2 hours ago

                      Wow! I wasn't aware, but that actually gives me a ton of confidence that Valve isn't ignoring ARM with all of their Linux + Proton work.

                      Her output is incredible.

                      • inputError 2 hours ago

                        Alyssa rules. We all love Alyssa.

                  • paulryanrogers 35 minutes ago

                    It is shocking the effort required to have a good gaming experience on Apple computers (excluding iOS). They always struck me as agnostic to games, yet in recent years it appears to border on open hostility.

                    • fl0id 18 minutes ago

                      They made gameportingkit, which got made into whisky app. So not totally hostile

                    • anotherhue 7 hours ago

                      Incredible work. May I also interest you in retrowin32 https://github.com/evmar/retrowin32/blob/main/README.md

                      Which is an attempt to collapse the stack so that fewer translation and virtualisation stages are needed.

                      • spease 7 hours ago

                        This is super cool.

                        So, wait, does this mean that gaming is better on Linux, on a Mac?

                        • hu3 4 hours ago

                          I've been gaming on Linux since Warcraft 3 days.

                          Wine is wonderful and with Valve's help it only got better.

                          But why would gaming on a mac be better? Maybe one day, but for now:

                          FTA: "While many games are playable, newer AAA titles don’t hit 60fps yet."

                          • Wowfunhappy 2 hours ago

                            I read the GP differently. I think they meant: if you are on a Mac computer, is gaming better under Linux vs macOS?

                            I think the answer might be yes, because it's possible to play so many more titles!

                            • GeekyBear an hour ago

                              Game emulation isn't a Linux only thing.

                              • Wowfunhappy 37 minutes ago

                                Is there a way to run Control or Cyberpunk on macOS?

                                • fl0id 16 minutes ago

                                  Yes. Haven’t tried those games, but on apple silicon whisky app emulates with gameporting toolkit + wine/proton. For intel silicon I think it was also possible but not sure.

                              • talldayo an hour ago

                                But if anyone can name a non-Windows platform that does it better, I'll wait!

                          • GeekyBear 3 hours ago

                            Emulation has unavoidable overhead.

                            For instance, Alyssa mentions in this post that most emulated games will need at least 16 Gigs of RAM at minimum.

                            In addition, native ARM games on MacOS don't have the additional overhead of emulating a different CPU architecture and Graphics API.

                            However, that doesn't take away from this emulated support being an amazing achievement.

                            • m463 2 hours ago

                              If you mean "I have a mac, is it better to run linux to game?"

                              Then there's a case for it, since you can run AAA games that apple + macos doesn't support / allow.

                              • GeekyBear an hour ago

                                Nothing prevents you from running games under emulation on MacOS.

                                Apple and Wine provide the tools, and apps like Whisky make them easy to use.

                                > Essentially, this app combines multiple translation layers into a single translation tool. It uses Wine, a translation layer that allows Windows apps and games to run on POSIX-based operating systems, like macOS and Linux. It also uses Rosetta and the Game Porting Toolkit, which are two official Apple tools that allow x86 programs to run on Apple Silicon and serve as a framework for porting Windows games to macOS, respectively.

                                Normally, this sort of process would require users to manually port games to Mac. But by combining Wine, Rosetta, and the Game Porting Toolkit, this can all happen automatically.

                                https://www.xda-developers.com/hands-on-whisky-macos-gaming/

                                However, as aleays, running games under emulation has a performance cost.

                                • kergonath an hour ago

                                  You’d need to compare with what can be done on macOS including with things like crossover and the GPT. AFAICT, the Linux side is making progress, but still more games can be run from macOS.

                                  • talldayo an hour ago

                                    > AFAICT, the Linux side is making progress, but still more games can be run from macOS.

                                    I don't believe that's true. According to ProtonDB, 80% of the top-1000 most-played games on Steam are confirmed working on Linux: https://www.protondb.com/dashboard

                                    I haven't seen any source documenting nearly similar success rates with Mac but I also haven't seriously tried gaming on Apple Silicon.

                                    • whimsicalism 21 minutes ago

                                      steam deck is x86

                                      • talldayo 11 minutes ago

                                        What a coincidence! So are a variety of Macs that shipped with hardware supporting Linux and Vulkan on day 1.

                                • whimsicalism 32 minutes ago

                                  I will have to check this newest development out, but as someone who dual boots Asahi and MacOS - up until now MacOS with Crossover has definitely been the best experience, if you are willing to pay

                                  • ojdon 5 hours ago

                                    Yeah it has been for a while. The steam deck runs Linux out of the box.

                                    Valve and open source devs have put a lot of effort over the years on projects like Photon which is a translation layer for Windows games.

                                    • zdragnar 4 hours ago

                                      The question was "better on Linux on a Mac", meaning specifically Asahi Linux.

                                      The correct answer is no, not yet anyway.

                                      Linux running on x86 with proton is still the bee's knees for most games though.

                                      • spease 3 hours ago

                                        > on a Mac

                                        Right. It sounds like the Asahi devs have implemented APIs which aren’t available under stock MacOS.

                                        Back when I was actively developing for Freespace, we had a Linux port that had a better framerate than Windows (the game’s original platform).

                                        • fl0id 14 minutes ago

                                          Afaik they are emulating, which you can do on macOS too. Still great that it works with Linux

                                        • theLiminator 3 hours ago

                                          Better on Linux on mac (as compared to macos) maybe?

                                        • brookman64k 4 hours ago

                                          Proton, not Photon. ;-) Here is a list with games and their support status: https://www.protondb.com/

                                      • mikhael28 7 hours ago

                                        Fantastic! A great proof of concept on Linux - lots of AAA gaming is already possible on Mac with Crossover and/or Parallels or VMWare Personal, which is free! While I have a Steam Deck, gaming on Mac works for me - I refuse to play Baldurs Gate 3 on a controller.

                                        • dcchambers 4 hours ago

                                          I know it's an extremely un-Apple-like thing to do, but I really wish Apple would team up with Valve to work on Proton, and bring full Proton support to MacOS.

                                          • jsheard 4 hours ago

                                            Bringing Proton to Mac would involve either Apple making amends with Khronos and supporting Vulkan, or Valve making the substantial effort to port Proton to Metal natively, or doing DirectX-to-Vulkan-to-Metal translation with MoltenVK. None of those sound very likely or optimal to me.

                                            Besides, the main reason Valve is investing so heavily in Linux and Proton is so their destiny isn't tied to someone else's platform. MacOS is just another someone else's platform like Windows is, with the same threat of getting rug-pulled by a first-party app store that spooked Gabe Newell[1] into investing in Linux in the first place.

                                            [1] https://www.bbc.co.uk/news/technology-18996377

                                            • wtallis an hour ago

                                              Apple already provides their Game Porting Toolkit which includes a D3D12 to Metal translation later for Wine, and it has been integrated into user-friendly Wine distributions like Crossover since last year. There's not much Proton has to offer over what's already available.

                                              • dcchambers 34 minutes ago

                                                My understanding about the game porting toolkit is that it requires developers to specifically modify their game in order to make their game compatible.

                                                The magic of Proton from a consumer point of view is that it just works for basically every game, sans those with Kernel-level anticheat stuff. This means thousands of old games that haven't been updated in years will work.any games that don't have active developers.

                                                So Apples solution works for new games but isn't a practical option for compatibility for existing games.

                                                • fl0id 13 minutes ago

                                                  There is things like whisky app which makes it a more general thing like proton

                                                  • whimsicalism 19 minutes ago

                                                    crossover experience does not require manual modification by developer

                                              • duskwuff 4 hours ago

                                                I wouldn't hold my breath. Valve is still bitter about Apple deprecating i386 support back in 2019.

                                              • zaptrem 5 hours ago

                                                Don’t forget Apple’s GamePortingToolkit based on Crossover/Wine and the open source client for it Whisky. I think it supports most games Linux Proton does now.

                                                • cherryteastain 6 hours ago

                                                  You can hook up a monitor, mouse and keyboard to your Steam Deck to be fair.

                                                • bee_rider 7 hours ago

                                                  The M-series chips from Apple have some special hardware to help emulate x86 with near-native performance, right? I wonder if they take advantage of those features (actually I forget exactly what the features were).

                                                  I mean this is an incredible achievement either way. Everything is emulated, but they are still running AAA games. Wow.

                                                  • sumuyuda 6 hours ago

                                                    They are using it:

                                                    Other than the page size issue, FEX and Rosetta are comparable technologies (both are emulators, despite what Apple marketing might have you believe). Both FEX and Rosetta use the unique Apple Silicon CPU feature that is most important for x86/x86_64 emulation performance: TSO mode. Thanks to this feature, FEX can offer fast and accurate x86/x86_64 emulation on Apple Silicon systems.

                                                    From: https://docs.fedoraproject.org/en-US/fedora-asahi-remix/x86-...

                                                    • vyskocilm 7 hours ago
                                                      • captn3m0 7 hours ago
                                                        • saagarjha 7 hours ago

                                                          No reason they can’t.

                                                          • bee_rider 6 hours ago

                                                            If every layer of abstraction and emulation is set up to allow it to pass through. It still seems really impressive to me, like lining up a bunch of targets and shooting an arrow through to get multiple bullseyes or something, haha.

                                                            • dontdoxxme 2 hours ago

                                                              Hardly, the benefit of binary is if everything lines up once, it always will. It’s not an analog world with pesky things like wind resistance.

                                                            • rowanG077 5 hours ago

                                                              Why not? In fact they are using it right now.

                                                              • bee_rider 4 hours ago

                                                                I think the comment was saying “there isn’t any reason they can’t.” Which is true in theory, but in the practice it seems to be a lot of stuff to line up.

                                                          • wly_cdgr 9 minutes ago

                                                            Ok, but why would a hardcore Linux person want to play games that embody everything they hate about Windows in their mode of production, data gathering practices, politics, etc?

                                                            • lynguist 2 hours ago

                                                              May I use this space to ask the question: is the M3 substantially different from the M1 and M2 that it is not supported?

                                                              • wmf an hour ago

                                                                The M3 GPU added a bunch of features including ray tracing. The "dynamic caching" sounds like a big change to local memory which could require serious driver changes.

                                                                https://www.theverge.com/2023/10/30/23938676/apple-m3-chip-g...

                                                                • fl0id 11 minutes ago

                                                                  Yes. And also some other peripherals are different.

                                                                  • gilgoomesh an hour ago

                                                                    I don't know how different but it apparently has dramatically improved hardware shaders compared to earlier M chips so I'm guessing that a lot of this might be different, there.

                                                                  • whimsicalism 27 minutes ago

                                                                    Wish NixOS (or at least Arch) were supported on the level that Fedora is

                                                                    • Thaxll an hour ago

                                                                      I see that they're using FEX, what about box86? Is it comparable in term of performance?

                                                                    • fl0id 19 minutes ago

                                                                      Yeah yeah great, now please m3 support, or maybe before that support for internal mic and external displays/dp-alt. Pretty please? (Not complaining happy about any progress)

                                                                      • andrewmcwatters 5 hours ago

                                                                        I think at the moment, this is probably the only way to feasibly game on a Mac. Crossover and other Wine-based apps as well as Parallels are... not really truly possible. If you bought the top-of-the-line MacBook Pro 16-inch, 2021 with M1 Max and tried to play anything reasonably modern on it, you'd find the performance is basically not playable .

                                                                        • whimsicalism 31 minutes ago

                                                                          I’ve been able to play a few games with crossover (like overwatch 2) fine. Whisky also works for some stuff.

                                                                          I also run Asahi so will have to check this out to compare

                                                                          • JeffeFawkes an hour ago

                                                                            I've been having good luck on my M1 Max MBP with Whisky, which uses Apple's game porting toolkit: https://getwhisky.app/

                                                                          • dancemethis 4 hours ago

                                                                            Where's the real inspiration for Asahi, Fandaniel in FFXIV?

                                                                            • rowanG077 3 hours ago

                                                                              > Asahi means “rising sun” in Japanese, and it is also the name of an apple cultivar. 旭りんご (asahi ringo) is what we know as the McIntosh Apple, the apple variety that gave the Mac its name.

                                                                            • hentrep 4 hours ago

                                                                              I noticed the URL was updated for this post. Previously it linked to asahilinux.org which showed an anti-HN manifesto from the HN referral. Curious as I haven’t seen this before. Seems it has been covered by previous commenters: https://news.ycombinator.com/item?id=36227103

                                                                              • fullstop 3 hours ago

                                                                                It's almost as bad as jzw's website: https://cdn.jwz.org/images/2016/hn.png (nsfw)

                                                                                • hentrep 3 hours ago

                                                                                  He does the same redirect whenever someone links to his DNA Lounge: https://dnalounge.com (NSFW)

                                                                                  • justin66 3 hours ago

                                                                                    It’s completely different. Jwz’s is funny.

                                                                                  • dang 3 hours ago

                                                                                    The URL wasn't updated. You're thinking of https://news.ycombinator.com/item?id=41799011, which was a separate post.

                                                                                    • hentrep an hour ago

                                                                                      Ah, thanks for clarifying!

                                                                                    • stepupmakeup 3 hours ago

                                                                                      The manifesto is longer than the content...

                                                                                      • ginko 4 hours ago

                                                                                        How can the site even detect where a user is coming from? Browsers leaking this information seems like a huge privacy issue to me.

                                                                                        • robin_reala 4 hours ago

                                                                                          Referer (misspelled in the spec) has been a part of HTTP from day 1.

                                                                                          • ginko 4 hours ago

                                                                                            Feels crazy this isn’t disabled by default

                                                                                            • mananaysiempre 3 hours ago

                                                                                              See[1] the Referrer-Policy header, <meta name="referrer">, <a referrerpolicy> and <a rel="noreferrer">.

                                                                                              But generally, webmasters have found it useful to know who caused their server to fall over^W^W^W^W^W^W is linking to their pages. This was even used as a predecessor to pingbacks once upon a time, but turned out to be too spammable (yes, even more so than pingbacks).

                                                                                              After the HN operators started adding rel=noreferrer to links to the Asahi Linux website, Marcan responded[2] by excluding anyone who has the HN submit form in their browser history, which feels like a legitimate attack on the browser’s security model—I don’t know how it’d be possible to do that. (Cross-origin isolation is supposed to prevent cross-site tracking of this exact kind, and concerns about such privacy violations are why SRI has not been turned into a caching mechanism along the lines of Want-Content-Digest, and so on and so forth.) ETA: This is no longer in place, it seems.

                                                                                              [1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Re...

                                                                                              [2] https://social.treehouse.systems/@marcan/110503331622393719

                                                                                              • miki123211 3 hours ago

                                                                                                > I don’t know how it’d be possible to do that

                                                                                                It isn't, at least not in the way you think.

                                                                                                Visited links have always looked different from unvisited ones, and the moment you could customize how links looked via CSS, browsers also had to implement styling for visited links specifically.

                                                                                                Modern browsers put a lot of care into making the changes to those styles observable to the user, but not to Javascript.

                                                                                                This is an extremely hard problem, and browsers have had a lot of security issues related to this behavior. Nowadays, you can only apply a very limited subset of CSS properties to those styles, to avoid side-channel timing attacks and such.

                                                                                                This means you can display a banner to anybody who has a certain URL in their browser history, but you can't observe whether that banner actually shows up with JS or transmit that information to your server.

                                                                                                • mananaysiempre 2 hours ago

                                                                                                  Ah. Ahhh[1]. I see.

                                                                                                    <!doctype html>
                                                                                                    <style>a { color: white; background-color: white; } a:visited { color: black; }</style>
                                                                                                    <body><a href="https://example.com/abracadabra" onclick="return false">you are a bad person</a>
                                                                                                  
                                                                                                  [1] https://developer.mozilla.org/en-US/docs/Web/CSS/:visited#pr...
                                                                                                  • Wowfunhappy 2 hours ago

                                                                                                    > This means you can display a banner to anybody who has a certain URL in their browser history, but you can't observe whether that banner actually shows up with JS or transmit that information to your server.

                                                                                                    How do they stop you from using Canvas to see the output and send it back?

                                                                                                    • zamadatix an hour ago

                                                                                                      Canvas can't "see the output", it only sees what is drawn in it (which is not a set of HTML tags, it's JS commands).

                                                                                                      The screen recording/screen sharing API can be used for this but security is the reason you have to give explicit permission to the site before it can do this.

                                                                                                • bigstrat2003 3 hours ago

                                                                                                  Referer does have legitimate uses. For example, back in the day people would use it to detect if someone embedded an image from their site on another site. SomethingAwful famously used to respond to any such requests with goatse, and forums I was on had very strict "don't link to SA images" rules as a result.

                                                                                                  I think that using referer to try to deliver manifestos to users of another site is kinda childish, but so it goes. Every tool can be put to good or bad uses.

                                                                                                  • dylan604 3 hours ago

                                                                                                    It's only slightly less childish than the current WP drama.

                                                                                                  • npteljes an hour ago

                                                                                                    There's a handy addon for Firefox called Privacy Settings that can take care of that. Explicitly adds and option to have the referers be not sent, and a quick way of re-enabling it, in case it breaks a website. Because of course that happens too.

                                                                                                    • paraboul 4 hours ago

                                                                                                      This is part of the web DNA. Pages linking pages and being aware about it. Origin can still disable it.

                                                                                                      • Smar 3 hours ago

                                                                                                        There is little hope to get it disabled when an ad company is running running the most popular ad platf... Erm, the world wide web browser.

                                                                                                        • jsheard 3 hours ago

                                                                                                          The Referrer-Policy header lets a server tell the browser how much referrer information to pass on when following links, all the way down to nothing at all if desired. Chrome does respect that, and they also followed other browsers in changing the default to "strict-origin-when-cross-origin" a few years ago which truncates the referrer path when leaving to a different domain, so they only see the domain the visitor came from rather than the specific page like they used to. Can't really fault Google in this case.

                                                                                                          https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Re...

                                                                                                • xbar 3 hours ago

                                                                                                  Thank you

                                                                                                      Alyssa Rosenzweig
                                                                                                      Asahi Lina
                                                                                                      chaos_princess
                                                                                                      Davide Cavalca
                                                                                                      Dougall Johnson
                                                                                                      Ella Stanforth
                                                                                                      Faith Ekstrand
                                                                                                      Janne Grunau
                                                                                                      Karol Herbst
                                                                                                      marcan
                                                                                                      Mary Guillemard
                                                                                                      Neal Gompa
                                                                                                      Sergio López
                                                                                                      TellowKrinkle
                                                                                                      Teoh Han Hui
                                                                                                      Rob Clark
                                                                                                      Ryan Houdek
                                                                                                  • dyingkneepad 2 hours ago

                                                                                                    Thank not only these people but also their employers for funding the work.

                                                                                                    • gertop 2 hours ago

                                                                                                      Marcan and asahi Lina are the same person.

                                                                                                      • preisschild 2 hours ago

                                                                                                        Is there actually any proof of that?

                                                                                                        • neoromantique 2 hours ago

                                                                                                          And we would care because...?

                                                                                                          • ashirviskas 2 hours ago

                                                                                                            Because they were mentioned twice..?