Apple M1 (ARM) architecture demos

category: general [glöplog]
To spell it out: the consequence of NOT signing a Mac OS executable with a developer ID is that instead of double-clicking to run it, your users have to right click, select Open, and click OK on a scary-looking dialog box. For a commercial product, this would be unacceptable; for a demo it's just fine. As a barrier to people running it, it's somewhere below "my antivirus has blocked this exe as dangerous".
added on the 2021-01-04 13:22:22 by gasman gasman
... also Windows does the same thing (SmartScreen. Blocks all executables that are not on a whitelist. Users can circumvent it with two clicks. Digitally signing your exes helps but only if your cert has built a positive reputation).
added on the 2021-01-04 13:39:52 by kb_ kb_
This. Most people claiming that Windows isn't as hostile towards unknown publishers probably subconsciously disabled SmartScreen right after installing Windows.
But it would be interesting to see how much more likely each of the two variants is to drive away new people from running an executable. The Windows variant at least isn't hidden in a context menu.
Whenever I see someone say/write "demosceners make demos to push the hardware to its limits" the internalized version looks like this:

"deMoScEnerS PuSh thE hArDwarE tO thEiR LiMitS!!111"

demoscene do nothing to "push hardware to limits"
lots of linear mathematic and API usage is a very simple task that any schoolboy can do

but most people stop at school in making their "kid ideas real" by building sand-castles at it max
only autistic people making their "creative ideas" to reality
added on the 2021-01-04 14:02:37 by Danilw Danilw
But it would be interesting to see how much more likely each of the two variants is to drive away new people from running an executable.

Right, so my stats are that it is basically a showstopper on MacOS userbase (not mentioning the fact that the user might not have anything to click on in the first place in some cases).

And yes FWIW Windows is getting shittier in that regard every year either, and yes it would be interesting if we would still call latest Win10 "free to do whatever" if the demoscene would have wider exposure nowadays and also if people wouldn't watch demos on Youtube - and so we would get feedback from more that 100 people who actually run the software.
added on the 2021-01-04 15:21:39 by ton ton
from more that 100 people who actually run the software.

my statistic is 1 of 100 youtube viewers click on download(exe)
and 1 of 10 visitors click on "play" for Web-based-demo on page that has this game

so for 1500 visitors for my Web-based demo I have 150 launches
and for 700 youtube viewers I have 7 downloads
added on the 2021-01-04 15:49:04 by Danilw Danilw
Not sure why you had to write all that, but hope it was good for you.

However, after you do that all stuff on Sierra and above, your users will start to complaint that they can't run your software.
And it will be so until the software is notarized with particular developer id, but I see now - doing that would be a mistake. One just should inform them that the software works just fine, according to user hollowone on pouet net site.

So you're an idiot... I'm fine with that.
added on the 2021-01-04 16:50:37 by hollowone hollowone
Pouet rarely disappoints! <3
User hollowone overtakes the thread with the classic shit punch.
I gotta see myself out, good luck with maintaining your apps on MacOS everyone.
added on the 2021-01-04 17:13:18 by ton ton
Also, i'm not going to participate in this discussion, i had enough - but if any gloperator passing by can I request a user ban because of insulting for no reason?

I don't feel good after this and not sure why should i leave it as it is actually. Was i impolite?
I mean the person certainly don't care to read what I am talking about, and bringing me some shit I wasn't asking for whatsoever.
Can we exchange insults here? Cross our shit sabers? What ETHICS say about it?
added on the 2021-01-04 18:22:10 by ton ton
To spell it out: the consequence of NOT signing a Mac OS executable with a developer ID is that instead of double-clicking to run it, your users have to right click, select Open, and click OK on a scary-looking dialog box. For a commercial product, this would be unacceptable; for a demo it's just fine. As a barrier to people running it, it's somewhere below "my antivirus has blocked this exe as dangerous".

This actually is very similar with Windows and its virus scan. "This program will harm your computer".
added on the 2021-01-05 11:08:56 by mayor mayor
Correct, in this matter MacOs is very similar to Windows. Development-wise, it's of course a different platform, but this is up to learn or to cover up by a middleware libraries/engines.

SDL is there. SMFL is there. Unity is there, UE is there, just to provide simple examples.

Plain bare metal coding addressing system libraries is there obviously as well. Mac Os bundles several dlls together into a Framework concept. To make a proper demo you just need to master a few. DirectX12 on Mac is even called Metal. Vulkan wrappers are there. OpenGL up to 4.1 is still there. It's deprecated, meaning that Apple won't invest into higher version compatibility for sure, but it also doesn't mean that you can't run OpenGL apps on the platform already.

Visual Studio on Mac is called Xcode, looks completely different than many other integrated dev tools but there is no problem to use Sublime, Visual Studio Code, and other editor that embeds terminal/cmdline to master your cmakes,makefiles, whatever scripting you like to get from source code to binary.

One thing that is cool in Mac is how apps are bundled. There is a folder that in Finder (file explorer alternative for Mac) is shown as app (icon, click to launch). but inside this special app folder there is a structure that you can add your exe, dlls and other code-driven dependencies + data/content. Such package must be only copied/downloaded to run. To install apps on Mac you just drag and drop such isolated app package to app repo, to uninstall you just delete it.

Majority of the apps are installed this clean way. Only some low-level system apps require additional installation steps build into a form of traditional installer, which is not a case for a demo.

If you don't know/want to distribute .app bundle then just like in any linux/unix environment, you can build your exe with posix supported set of command line tools, provide instruction how to download all the dependencies (instead of sudo apt-get install *, you have brew install *), if something is not natively available then you can use app called mac-ports which brings lots of missing goodies from linux into the command line and system folders (remember, at the end this is freeBSD branch with different windowing system than x11, but x11 can optionally be added to the stack as well, if you want).

Such package either raw or .app bundled can be zipped and provided to party orgs with instruction how to run and I believe it should not be a problem to find a way how to launch it.

There are some breaking changes between versions of OSX/MacOS that may impact compatibility over time, but it's nothing that cannot be handled and nothing unique to MacOs only. Obviously you can't launch old OSX PPC apps on Intel Macs anymore as well as I believe there will be no way to launch intel apps on M1 computers in a perspective of 2-3 years (assumption based).

But within the boundaries of a particular CPU compatibility issues can be compared to some older Windows 9x demos not working modern WinNT (7-10) anymore.

All that is 101 for anybody who at least once touched Mac computer in his/her life, so forgive me for preaching the basics, but it seems that for all other users Mac platform seems to be a mystical dragon that flies backward, which is not a case.

And I'm sorry for calling you an idiot ton, with all that trolling above, you're actually a moron. learn the difference between shit punching and cutting the crap. Learn also basics about the platform you're babbling about instead of obviously exposing yourself being lame.

added on the 2021-01-05 11:40:41 by hollowone hollowone
So you're sorry but not so sorry since you continue the name calling?
added on the 2021-01-05 11:45:08 by El Topo El Topo
Oh how far this thread has come. Now, I'll make an offer: send me a M1 equipped mac and I'll port a demofriendly synth to it. I'll promise to use some M1-only instructions; I hear it is somehow DSP friendly so I assume there's some usable instructiona for that.
added on the 2021-01-05 11:46:33 by pestis pestis
What's the point of bickering about all these platform details? At the end of the day, your computer is what it is. If it's a Mac, write Mac software. If it's a Windows PC, write Windows software. Sheesh.
added on the 2021-01-05 14:57:23 by absence absence
That was my original point as well, but it all turned into debunking the myth that MacOs as a desktop platform is a closed platform that you need to pay to develop and distribute your software on and there is no other way.

Which is all untrue and I've tried to explain it. Then the trolling and provoking started that can be easily skipped as adds nothing to the thread and original question in subject.
added on the 2021-01-05 15:13:55 by hollowone hollowone
hollowone: ton was just stating the unavoidable fact that whoever tries to run an executable on mac (that is not digitally signed) needs to know the secret handshake to run things, while on windows they just click "run anyways" on mac you need to know the secret key combination which a lot of (non dev) users on mac dont know about. no need to insult him for believing that makes the platform purposefully more closed from indie devs.
added on the 2021-01-05 17:20:17 by psenough psenough
perhaps I was too emotional, but I'm a bit allergic to BS these days and I understood the statement little bit different. Nevertheless this is no secret handshake just a standard system security feature called GateKeeper. Anybody who uses the platform should know how to handle it without any sorcery.
added on the 2021-01-05 19:02:58 by hollowone hollowone
(ok you can always override it, granted.)
added on the 2021-01-05 19:27:23 by kb_ kb_
Gargaj, kb: and that's the topic worth discussing, separately, to judge your opinion about a platform. Privacy concerns I mean.

But it's a different topic than "I need to pay to get some dev id to distribute software on a platform".

Worth creating different thread, as it's very interesting to have a demoscene opinion about it.

I personally believe we're all as users becoming commodities in this computing world not the devices we use, but we as demoscene don't have mandate any more to have any empowerment to change it, even influence it.

There are stronger communities to drive this issue forward, even in the underground.
added on the 2021-01-06 00:24:09 by hollowone hollowone
just curious about WebGL support in that M1 ARM
if any Mac on M1 users there can your Mac launch thisitch.io page link
(its WebGL(GLES2), not WebGL2)

on PC AMD Vega 8 that integrated to Ryzen, this work on 60FPS
added on the 2021-01-06 19:26:44 by Danilw Danilw
Nope, still don't get it.
added on the 2021-01-06 19:32:03 by EvilOne EvilOne
OK didn't want but I gotta just add 2c because I see people spelling out stuff which I didn't care to unroll.
Following is mostly for people who would think about releasing stuff on MacOS.

For the context, about last 10 years I happened to develop and release crossplatform software (dcc stuff for) which includes builds for desktop Macs.
Big part of that is actually free and mostly released to scratch my ego and to watch people using it.

Since Apple rolled out Catalina, I used to get Mac users complains every other day until i managed to have my binaries signed.
For comparison, I had 0 complaints from Windows users about this issue binaries during all these years.

So you may call it what you want and compare it to Windows as you want, but in my world reality is this:
You gotta notarize your binaries or you'll have complaining users.
In other words, yes you gotta enroll in apple developer program to release your free software.
It's not about software being commercial, it's about software being used by actual people nowadays (well from my humble experience).

Sooo watching somebody calling this situation 'free to do what you want' was too much for me and that's the only reason I joined this thread, which I quite regret by now.
Well that and also I wanted to hear Rob's thoughts because I had a feeling me he might share mindset of an apple employee.

Now user Hollowone: dude. See: until now i didn't tell a single bad word about you personally and literally was trying to illustrate my actual problem and that you're missing it way by far
(which I might've failed to explain - but not a single bad thing ad hominem still).

To this moment, you managed to call my posts trolling, bullshit, and went personal and called me an idiot and then a moron, and it's really tempting to answer in similar style, not gonna lie.

And, I mean - even if your opinion would match the reality and I was dead wrong.
Daniel, what the hell is wrong with you, my man?
I cared to check and to my surprise you're not even a troll, you are actual person. I can see your name, I can see where you work. Does it mean you're not even trolling, you really just throw this ape shit at people you disagree with IRL? How did you even manage to survive to this day then?
Anyway, if you wanted to upset me when you were insulting me - you've succeeded. Congrats, I felt bad and then spent 20 shitty minutes of my life rewriting this and forcing myself not to insult you back. Feel yourself accomplished.
added on the 2021-01-10 20:18:47 by ton ton
Sheesh. I really caught a bait didn't i.
added on the 2021-01-10 20:24:38 by ton ton