{"id":545,"date":"2022-03-18T21:43:24","date_gmt":"2022-03-18T21:43:24","guid":{"rendered":"https:\/\/alterego.cc\/wp\/?p=545"},"modified":"2022-10-17T20:10:53","modified_gmt":"2022-10-17T20:10:53","slug":"dexter-stardust-on-m1-macbook","status":"publish","type":"post","link":"https:\/\/alterego.cc\/wp\/2022\/03\/18\/dexter-stardust-on-m1-macbook\/","title":{"rendered":"Dexter Stardust on M1 MacBook"},"content":{"rendered":"\n<p>Playing this amazing game on my Apple MacBook Air M1 2020 and I am totally lovin&#8217; it. Before being able to play it however, I had to fight with a small error message (note that if you run the game from the UI you won&#8217;t see anything, just its icon flashing and then the game shutting down itself)<\/p>\n\n\n\n<center>\n\n\n\n\n\n<\/center>\n\n\n\n<p>By opening the terminal and trying running the game with<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>open DexterStardust.app<\/code><\/pre>\n\n\n\n<br>\n\n\n\n<p>The following error is thrown<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The application cannot be opened for an unexpected reason, error=Error Domain=NSOSStatusErrorDomain Code=-10810 \"kLSUnknownErr: Unexpected internal error\" UserInfo={_LSFunction=_LSLaunchWithRunningboard, _LSLine=2732, NSUnderlyingError=0x600001902250 {Error Domain=RBSRequestErrorDomain Code=5 \"Launch failed.\" UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x6000019021f0 {Error Domain=NSPOSIXErrorDomain Code=1 \"Operation not permitted\" UserInfo={NSLocalizedDescription=Launchd job spawn failed}}}}}<\/code><\/pre>\n\n\n\n<br>\n\n\n\n<p>Note this should be version 1.1 of the game. I downloaded it a few hours after it became available on <a href=\"https:\/\/itch.io\" data-type=\"URL\" data-id=\"https:\/\/itch.io\" target=\"_blank\" rel=\"noreferrer noopener external\" data-wpel-link=\"external\">itch.io<\/a><\/p>\n\n\n\n<p>In my case the application is already copied in the \/Applications folders of my macOS drive. To make it run, I executed, from within the \/Applications directory, the following commands<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>xattr DexterStardust.app\nxattr -r -d com.apple.quarantine DexterStardust.app<\/code><\/pre>\n\n\n\n<br>\n\n\n\n<p>The first command confirms that the file has the extended attribute <strong>com.apple.quarantine<\/strong> (just for you do see, not actually necessary to make it work) and the second removes it from the file. At this point a simple<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>open DexterStardust.app<\/code><\/pre>\n\n\n\n<br>\n\n\n\n<p>runs the game!<\/p>\n\n\n\n<center>\n\n\n\n\n\n<\/center>\n\n\n\n<p>Basically the <strong>com.apple.quarantine<\/strong> is an extended attribute that was added at some point, somehow by something, for some reasons, and that&#8217;s what is preventing the game to run. <strong><a href=\"https:\/\/ss64.com\/osx\/xattr.html\" target=\"_blank\" rel=\"noreferrer noopener external\" data-wpel-link=\"external\">xattr<\/a><\/strong> is a command to manipulate extended attributes, <strong>-r<\/strong> removes the attributes from all the files within the package (the .app file is a package), and <strong>-d<\/strong> deletes the given attribute<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I learned how to do it stuff by trying to make games work on my Olivetti M24 (circa 1990). Fast forward to 2022 and I learn new stuff by trying playing games on an Apple M1<\/p>\n","protected":false},"author":1,"featured_media":547,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[32,72,64,71,73,48,70],"class_list":["post-545","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-apple","tag-dexter-stardust","tag-english","tag-gaming","tag-m1","tag-macos","tag-videogames"],"_links":{"self":[{"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/posts\/545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/comments?post=545"}],"version-history":[{"count":0,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/posts\/545\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/media\/547"}],"wp:attachment":[{"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/media?parent=545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/categories?post=545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/tags?post=545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}