thorium-reader icon indicating copy to clipboard operation
thorium-reader copied to clipboard

feature request: support for Apple Silicone (m1)

Open ghost opened this issue 3 years ago • 10 comments

Please add arm64 binaries for the new Apple CPUs.

ghost avatar May 29 '21 23:05 ghost

Not so easy, Thorium uses native C libraries binded with Node-API. But Leveldown and sqlite (DB) will be removed in the next major release (1.8). Let's see this at this moment.

panaC avatar May 31 '21 09:05 panaC

As an alternative, R2 Swift Test App can be used on Apple Silicon.

mickael-menu avatar Jun 01 '21 10:06 mickael-menu

I have no experience with Swift and how to compile this.

ghost avatar Nov 25 '21 07:11 ghost

Any news of native arm64 for macOS?

codrutpopescu avatar May 11 '22 20:05 codrutpopescu

Thorium is only distributed as a x86_64 Electron application, which runs fine on Apple Silicon (tested with MacBook Air M1). Rosetta emulation is automatically used under the hood, with very little performance impact. What problems are you facing with the Intel / AMD builds of Thorium?

Thorium can in fact be built for arm64 targets, especially with the upcoming v2 (currently in the develop branch) which does not include LevelDown and SQLite3 native dependencies anymore. Explanation: a few versions back, the original complex DB backend was deprecated and replaced with a lightweight but adequately-efficient JSON-based persistent storage. Thorium v2 will mark the final removal of the PouchDB adapters, based on the assumption that by now most users will have had their data migrated to the new JSON store (by running previous Thorium releases which accessed the DB in read-only mode).

Development builds for Apple Silicon can quite easily be created from the develop branch, but production builds include support for LCP protected-publications, necessitating the inclusion of a native lib which is not M1-ready yet.

danielweck avatar May 12 '22 08:05 danielweck

Ok, I will try to compile it myself. Please be aware that for macOS Intel x86_64 is no longer the primary platform, in fact it is discontinued. Rosetta is just an emulation available for running old binaries. This is a very nice project, it would be nice to keep it up to date with the present.

codrutpopescu avatar May 12 '22 08:05 codrutpopescu

+1 @danielweck @panaC I am unable to install rosetta2 due to security concerns and bugs I encountered. I is not removable, and therefore I did have to reset my machine to get it off my system.

A native version would be very much appreciated. Please take a further look into it if you can.

tobomobo avatar Jun 07 '22 05:06 tobomobo

Hello @tobomobo

The Thorium dev team is tiny (less than 2 FTE software engineers) so we are currently reluctant to introduce another platform in our official build matrix (this is also why support for 32 bits Windows and Linux is not provided off-the-shelf).

What are the security concerns and bugs you encountered with Rosetta?

PS: building Thorium from this open source codebase is not too dificult, would you consider creating your own M1 / Apple Silicon build?

  1. git clone https://github.com/edrlab/thorium-reader.git
  2. cd thorium-reader
  3. npm i --arch=arm64
  4. npm run start (this step is optional, you can skip to step (5) if you do not want to try compiling and launching the app first)
  5. npm run package:mac (this creates the DMG MacOS installer)

danielweck avatar Jun 08 '22 19:06 danielweck

@danielweck

Hey Daniel,

thanks for your prompt reply. I understand that your resources are more than limited and making a universal or native macOS build is not a priority right now.

I also thank you for the tutorial you wrote me on how to build my own native release. Unfortunately, the output was still non-native release, even though I triple checked my work to the best of my knowledge.

The npm i --arch=arm64 warned me about "30 vulnerabilities (18 moderate, 12 high)" and I even tried to fix them with the recommended npm audit fix.

> [email protected] postinstall
> npm run pinCompromisedColorPackage && npm run electron-build


> [email protected] pinCompromisedColorPackage
> (npm ls colors || echo "NPM LS?") && rimraf node_modules/electron-rebuild/node_modules/colors && rimraf node_modules/dir-compare/node_modules/colors

[email protected] /Users/tg/thorium/thorium-reader
└─┬ [email protected]
  └─┬ [email protected]
    └─┬ @electron/[email protected]
      └─┬ [email protected]
        └── [email protected]


> [email protected] electron-build
> electron-rebuild --version=19.0.1 --disturl=https://electronjs.org/headers

✔ Rebuild Complete

up to date, audited 2351 packages in 9s

189 packages are looking for funding
  run `npm fund` for details

30 vulnerabilities (18 moderate, 12 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

Nevertheless, the output of the 5th command npm run package:mac was an intel binary.

npm run package:mac

> [email protected] prepackage:mac
> npm run package:build


> [email protected] prepackage:build
> npm run clean


> [email protected] clean
> rimraf dist && rimraf release


> [email protected] package:build
> cross-env PACKAGING=1 npm run build:prod


> [email protected] build:prod
> npm run lint && npm run build


> [email protected] lint
> npm run lint:editorconfig && npm run lint:ts && npm run lint:css


> [email protected] lint:editorconfig
> eclint check '**/*' '!**/package-lock.json' '!changelogs/**/*' '!.vscode/**/*' '!.git/**/*' '!node_modules/**/*' '!resources/**/*' '!src/renderer/assets/**/*' '!dist/**/*' '!release/**/*' '!**/.DS_Store' '!src/typings/en.translation.d.*' '!src/main/w3c/**' '!src/resources/**/*' '!src/**/*.bcmap' '!src/**/*.svg'


> [email protected] lint:ts
> eslint "src/**/*.{ts,tsx}"


> [email protected] lint:css
> stylelint "src/renderer/assets/styles/**/*.css"


> [email protected] build
> cross-env NODE_ENV=production webpack --config webpack.config.js && ncp src/package.json dist/package.json

PREPROCESSOR nodeEnv: production
MAIN nodeEnv: production
WEBPACK externals (MAIN): --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{
  "bindings": "bindings",
  "fsevents": "fsevents",
  "electron-devtools-installer": "electron-devtools-installer",
  "remote-redux-devtools": "remote-redux-devtools",
  "electron": "electron",
  "yargs": "yargs"
}
LIBRARY nodeEnv: production
WEBPACK externals (LIBRARY): --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{
  "bindings": "bindings",
  "fsevents": "fsevents",
  "electron-devtools-installer": "electron-devtools-installer",
  "remote-redux-devtools": "remote-redux-devtools",
  "electron": "electron",
  "yargs": "yargs"
}
READER nodeEnv: production
WEBPACK externals (READER): --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{
  "bindings": "bindings",
  "fsevents": "fsevents",
  "electron-devtools-installer": "electron-devtools-installer",
  "remote-redux-devtools": "remote-redux-devtools",
  "electron": "electron",
  "yargs": "yargs"
}
PDF nodeEnv: production
WEBPACK externals (PDF): --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{
  "bindings": "bindings",
  "fsevents": "fsevents",
  "electron-devtools-installer": "electron-devtools-installer",
  "remote-redux-devtools": "remote-redux-devtools",
  "electron": "electron",
  "yargs": "yargs"
}
PRELOAD nodeEnv: production
-------------------- LIBRARY config:
{
  entry: './src/renderer/library/index_library.ts',
  name: 'renderer index app',
  output: {
    filename: 'index_library.js',
    path: '/Users/tg/thorium/thorium-reader/dist',
    libraryTarget: 'commonjs2'
  },
  target: 'electron-renderer',
  mode: 'production',
  externalsPresets: {
    node: true
  },
  externals: {
    bindings: 'bindings',
    fsevents: 'fsevents',
    'electron-devtools-installer': 'electron-devtools-installer',
    'remote-redux-devtools': 'remote-redux-devtools',
    electron: 'electron',
    yargs: 'yargs'
  },
  externalsType: 'commonjs',
  experiments: {
    outputModule: false
  },
  resolve: {
    extensions: [
      '.ts',
      '.tsx',
      '.js',
      '.jsx'
    ],
    alias: {
      'readium-desktop': '/Users/tg/thorium/thorium-reader/src',
      '@r2-utils-js': 'r2-utils-js/dist/es8-es2017/src',
      '@r2-lcp-js': 'r2-lcp-js/dist/es8-es2017/src',
      '@r2-opds-js': 'r2-opds-js/dist/es8-es2017/src',
      '@r2-shared-js': 'r2-shared-js/dist/es8-es2017/src',
      '@r2-streamer-js': 'r2-streamer-js/dist/es8-es2017/src',
      '@r2-navigator-js': 'r2-navigator-js/dist/es8-es2017/src'
    }
  },
  stats: {},
  module: {
    rules: [
      {
        test: /\.(jsx?|tsx?)$/,
        use: [
          {
            loader: '/Users/tg/thorium/thorium-reader/scripts/webpack-loader-scope-checker.js',
            options: {
              forbid: 'reader'
            }
          }
        ]
      },
      {
        test: /\.tsx$/,
        loader: 'ts-loader',
        options: {
          transpileOnly: true
        }
      },
      {
        test: /\.ts$/,
        use: [
          {
            loader: 'babel-loader',
            options: {
              presets: [],
              plugins: [
                'macros'
              ]
            }
          },
          {
            loader: 'ts-loader',
            options: {
              transpileOnly: true
            }
          }
        ]
      },
      {
        test: /\.(png|jpe?g|gif|ico)$/,
        type: 'asset/resource',
        generator: {
          filename: 'assets/[name].[md5:hash].[ext]'
        }
      },
      {
        exclude: /node_modules/,
        loader: 'svg-sprite-loader',
        test: /\.svg$/
      },
      {
        exclude: /src/,
        test: /\.(woff|woff2|ttf|eot|svg)$/,
        type: 'asset/resource',
        generator: {
          filename: 'assets/[name].[md5:hash].[ext]'
        }
      },
      {
        exclude: /node_modules/,
        test: /\.md$/,
        use: [
          {
            loader: 'html-loader'
          },
          {
            loader: 'markdown-loader'
          }
        ]
      },
      {
        test: /\.css$/,
        use: [
          {
            loader: '/Users/tg/thorium/thorium-reader/node_modules/mini-css-extract-plugin/dist/loader.js',
            options: {
              esModule: false
            }
          },
          {
            loader: 'css-loader',
            options: {
              import: {
                filter: [Function: filter]
              },
              importLoaders: 1,
              modules: {
                localIdentName: '[local]'
              },
              esModule: false
            }
          },
          'postcss-loader'
        ]
      }
    ]
  },
  devServer: {
    static: {
      directory: '/Users/tg/thorium/thorium-reader',
      publicPath: '/',
      watch: {
        ignored: [
          /dist/,
          /docs/,
          /scripts/,
          /test/,
          /node_modules/,
          /external-assets/
        ]
      }
    },
    devMiddleware: {
      publicPath: '/'
    },
    hot: true
  },
  plugins: [
    BundleAnalyzerPlugin {
      opts: {
        analyzerMode: 'disabled',
        analyzerHost: '127.0.0.1',
        reportFilename: null,
        reportTitle: [Function (anonymous)],
        defaultSizes: 'stat',
        openAnalyzer: false,
        generateStatsFile: true,
        statsFilename: 'stats_renderer-library.json',
        statsOptions: null,
        excludeAssets: null,
        logLevel: 'info',
        startAnalyzer: true,
        analyzerPort: 8888
      },
      server: null,
      logger: Logger {
        activeLevels: Set(4) {
          'info',
          'warn',
          'error',
          'silent'
        }
      }
    },
    HtmlWebpackPlugin {
      userOptions: {
        template: './src/renderer/library/index_library.ejs',
        filename: 'index_library.html'
      },
      version: 5
    },
    DefinePlugin {
      definitions: {
        __APP_VERSION__: '"2.1.0-alpha.1"',
        __APP_NAME__: '"Thorium"',
        __GIT_BRANCH__: '"develop"',
        __GIT_DATE__: '"2022-06-08T16:40:27.000Z"',
        __GIT_SHORT__: '"fec61ed"',
        __NODE_ENV__: '"production"',
        __VSCODE_LAUNCH__: '"false"',
        __NODE_MODULE_RELATIVE_URL__: '"node_modules"',
        __DIST_RELATIVE_URL__: '"dist"',
        __PACKAGING__: '"1"',
        __RENDERER_LIBRARY_BASE_URL__: '"file://"',
        __RENDERER_READER_BASE_URL__: '"file://"',
        __RENDERER_PDF_WEBVIEW_BASE_URL__: '"file://"',
        __CONTINUOUS_INTEGRATION_DEPLOY__: 'false'
      }
    },
    ForkTsCheckerWebpackPlugin,
    MiniCssExtractPlugin {
      _sortedModulesCache: WeakMap {
        <items unknown>
      },
      options: {
        filename: 'styles_library.css',
        ignoreOrder: false,
        experimentalUseImportModule: undefined,
        runtime: true,
        chunkFilename: '[id].styles_library.css'
      },
      runtimeOptions: {
        insert: undefined,
        linkType: 'text/css',
        attributes: undefined
      }
    },
    IgnorePlugin {
      options: {
        resourceRegExp: /^devtron$/
      },
      checkIgnore: [Function: bound checkIgnore]
    },
    IgnorePlugin {
      options: {
        resourceRegExp: /^react-axe$/
      },
      checkIgnore: [Function: bound checkIgnore]
    }
  ],
  optimization: {
    minimize: true,
    minimizer: [
      TerserPlugin {
        options: {
          test: /\.[cm]?js(\?.*)?$/i,
          extractComments: false,
          parallel: true,
          include: undefined,
          exclude: /MathJax/,
          minimizer: {
            implementation: [AsyncFunction: terserMinify] {
              getMinimizerVersion: [Function (anonymous)]
            },
            options: {
              compress: false,
              mangle: false,
              output: {
                comments: false
              }
            }
          }
        }
      }
    ]
  }
}
Webpack Bundle Analyzer saved stats file to /Users/tg/thorium/thorium-reader/dist/stats_renderer-pdf.json
POSTCSS IMPORT? =====>  ./partials/variables.css false
POSTCSS IMPORT? =====>  ./partials/mixins.css true
POSTCSS IMPORT? =====>  ../partials/mixins.css true
POSTCSS IMPORT? =====>  ../partials/mixins.css true
POSTCSS IMPORT? =====>  ./partials/focus.css false
css-loader IMPORT (LIBRARY):  ./partials/variables.css undefined /Users/tg/thorium/thorium-reader/src/renderer/assets/styles/global.css
css-loader IMPORT (LIBRARY):  ./partials/focus.css undefined /Users/tg/thorium/thorium-reader/src/renderer/assets/styles/global.css
POSTCSS IMPORT? =====>  ./focus-mixin.css true
POSTCSS IMPORT? =====>  ./focus.css false
POSTCSS IMPORT? =====>  ./variable.css false
css-loader IMPORT (READER):  ./focus.css undefined /Users/tg/thorium/thorium-reader/src/renderer/assets/styles/reader-app.css
css-loader IMPORT (READER):  ./variable.css undefined /Users/tg/thorium/thorium-reader/src/renderer/assets/styles/reader-app.css
POSTCSS IMPORT? =====>  ./partials/variables.css false
POSTCSS IMPORT? =====>  ./partials/mixins.css true
POSTCSS IMPORT? =====>  ../partials/mixins.css true
POSTCSS IMPORT? =====>  ./partials/mixins.css true
POSTCSS IMPORT? =====>  ./partials/focus.css false
css-loader IMPORT (READER):  ./partials/variables.css undefined /Users/tg/thorium/thorium-reader/src/renderer/assets/styles/global.css
css-loader IMPORT (READER):  ./partials/focus.css undefined /Users/tg/thorium/thorium-reader/src/renderer/assets/styles/global.css
POSTCSS IMPORT? =====>  ../partials/mixins.css true
POSTCSS IMPORT? =====>  ./mixins.css true
Webpack Bundle Analyzer saved stats file to /Users/tg/thorium/thorium-reader/dist/stats_renderer-preload.json
POSTCSS IMPORT? =====>  ./focus-mixin.css true
POSTCSS IMPORT? =====>  ./mixins.css true
Webpack Bundle Analyzer saved stats file to /Users/tg/thorium/thorium-reader/dist/stats_renderer-library.json
Webpack Bundle Analyzer saved stats file to /Users/tg/thorium/thorium-reader/dist/stats_renderer-reader.json
Webpack Bundle Analyzer saved stats file to /Users/tg/thorium/thorium-reader/dist/stats_main.json
main:
  assets by path assets/ 10.4 MiB 256 assets
  assets by path MathJax/ 23 MiB
    assets by path MathJax/es5/ 23 MiB 106 assets
    asset MathJax/LICENSE 11.1 KiB [emitted] [from: node_modules/mathjax/LICENSE] [copied]
    asset MathJax/README.md 9.65 KiB [emitted] [from: node_modules/mathjax/README.md] [copied]
    asset MathJax/package.json 2.71 KiB [emitted] [from: node_modules/mathjax/package.json] [copied]
  assets by path ReadiumCSS/ 404 KiB 18 assets
  assets by path *.js 6.66 MiB
    asset main.js 6.65 MiB [emitted] [minimized] (name: main)
    asset 713.main.js 6.74 KiB [emitted] [minimized]
  asset external-assets/README.md 41 bytes [emitted] [from: external-assets/README.md] [copied]
  orphan modules 1.32 MiB [orphan] 756 modules
  runtime modules 3.88 KiB 10 modules
  javascript modules 8.98 MiB
    modules by path ./node_modules/ 7.74 MiB 1316 modules
    modules by path ./src/ 1.24 MiB
      modules by path ./src/main/ 23.1 KiB 2 modules
      + 2 modules
    + 26 modules
  json modules 500 KiB
    modules by path ./node_modules/har-schema/lib/ 6.93 KiB 18 modules
    modules by path ./node_modules/iconv-lite/ 86.7 KiB 8 modules
    modules by path ./node_modules/ajv/lib/ 5.58 KiB 3 modules
    modules by path ./node_modules/jsdom/ 7.38 KiB 2 modules
    modules by path ./node_modules/whatwg-encoding/lib/ 5.54 KiB 2 modules
    + 5 modules

  WARNING in ./node_modules/ws/lib/buffer-util.js 103:21-42
  Module not found: Error: Can't resolve 'bufferutil' in '/Users/tg/thorium/thorium-reader/node_modules/ws/lib'
   @ ./node_modules/ws/lib/sender.js 12:38-62
   @ ./node_modules/ws/index.js 8:19-42
   @ ./node_modules/jsdom/lib/jsdom/living/websockets/WebSocket-impl.js 7:18-31
   @ ./node_modules/jsdom/lib/jsdom/browser/Window.js 21:22-83
   @ ./node_modules/jsdom/lib/api.js 13:25-61
   @ ./src/main/w3c/audiobooks/entry.ts 2:0-30 33:14-19
   @ ./src/main/redux/sagas/api/publication/packager/packageLink.ts 8:0-101 201:50-90
   @ ./src/main/redux/sagas/api/publication/import/importFromString.ts 3:0-68 7:34-59
   @ ./src/main/redux/sagas/api/publication/import/index.ts 10:0-61 54:48-71
   @ ./src/main/redux/sagas/api/publication/index.ts 7:0-74 19:2-14 20:2-16 21:2-18
   @ ./src/main/redux/sagas/api/index.ts 1:0-30 1:0-30
   @ ./src/main/di.ts 25:0-67 27:0-46 114:65-79 116:60-69 117:65-79
   @ ./src/main/start.ts 2:0-52 9:35-44 15:16-33
   @ ./src/main.ts 9:0-37 25:2-7

  WARNING in ./node_modules/ws/lib/validation.js 109:22-47
  Module not found: Error: Can't resolve 'utf-8-validate' in '/Users/tg/thorium/thorium-reader/node_modules/ws/lib'
   @ ./node_modules/ws/lib/sender.js 11:30-53
   @ ./node_modules/ws/index.js 8:19-42
   @ ./node_modules/jsdom/lib/jsdom/living/websockets/WebSocket-impl.js 7:18-31
   @ ./node_modules/jsdom/lib/jsdom/browser/Window.js 21:22-83
   @ ./node_modules/jsdom/lib/api.js 13:25-61
   @ ./src/main/w3c/audiobooks/entry.ts 2:0-30 33:14-19
   @ ./src/main/redux/sagas/api/publication/packager/packageLink.ts 8:0-101 201:50-90
   @ ./src/main/redux/sagas/api/publication/import/importFromString.ts 3:0-68 7:34-59
   @ ./src/main/redux/sagas/api/publication/import/index.ts 10:0-61 54:48-71
   @ ./src/main/redux/sagas/api/publication/index.ts 7:0-74 19:2-14 20:2-16 21:2-18
   @ ./src/main/redux/sagas/api/index.ts 1:0-30 1:0-30
   @ ./src/main/di.ts 25:0-67 27:0-46 114:65-79 116:60-69 117:65-79
   @ ./src/main/start.ts 2:0-52 9:35-44 15:16-33
   @ ./src/main.ts 9:0-37 25:2-7

  2 warnings have detailed information that is not shown.
  Use 'stats.errorDetails: true' resp. '--stats-error-details' to show it.

  main (webpack 5.73.0) compiled with 2 warnings in 18429 ms

renderer index app:
  asset index_library.js 1.7 MiB [emitted] [minimized] (name: main)
  asset styles_library.css 51.8 KiB [emitted] (name: main)
  asset index_library.html 353 bytes [emitted]
  Entrypoint main 1.75 MiB = styles_library.css 51.8 KiB index_library.js 1.7 MiB
  orphan modules 1.55 MiB [orphan] 841 modules
  runtime modules 2.15 KiB 6 modules
  built modules 2.72 MiB (javascript) 51.8 KiB (css/mini-extract) [built]
    modules by path ./node_modules/ 1.41 MiB 230 modules
    modules by path ./src/renderer/ 1.31 MiB (javascript) 51.8 KiB (css/mini-extract)
      modules by path ./src/renderer/assets/styles/components/*.css 5.15 KiB (javascript) 36 KiB (css/mini-extract) 24 modules
      modules by path ./src/renderer/assets/styles/*.css 2.33 KiB (javascript) 14.1 KiB (css/mini-extract) 12 modules
      modules by path ./src/renderer/assets/styles/partials/*.css 1.62 KiB
        css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js!./src/renderer/assets/styles/partials/variables.css 391 bytes [built] [code generated]
        css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js!./src/renderer/assets/styles/partials/focus.css 1.24 KiB [built] [code generated]
      ./src/renderer/library/index_library.ts + 626 modules 1.3 MiB [not cacheable] [built] [code generated]
    external "util" 42 bytes [built] [code generated]
    external "path" 42 bytes [built] [code generated]
    external "tty" 42 bytes [built] [code generated]
    external "querystring" 42 bytes [built] [code generated]
  renderer index app (webpack 5.73.0) compiled successfully in 14575 ms

renderer index reader:
  asset index_reader.js 2.64 MiB [emitted] [minimized] (name: main)
  asset styles_reader.css 66.3 KiB [emitted] (name: main)
  asset index_reader.html 350 bytes [emitted]
  Entrypoint main 2.71 MiB = styles_reader.css 66.3 KiB index_reader.js 2.64 MiB
  orphan modules 3.14 MiB [orphan] 856 modules
  runtime modules 2.49 KiB 7 modules
  built modules 4.69 MiB (javascript) 66.3 KiB (css/mini-extract) [built]
    modules by path ./node_modules/ 1.81 MiB 257 modules
    modules by path ./src/renderer/ 2.88 MiB (javascript) 66.3 KiB (css/mini-extract)
      modules by path ./src/renderer/assets/styles/ 8.96 KiB (javascript) 66.3 KiB (css/mini-extract) 28 modules
      modules by path ./src/renderer/reader/ 2.88 MiB
        ./src/renderer/reader/index_reader.ts + 643 modules 2.88 MiB [not cacheable] [built] [code generated]
        ./src/renderer/reader/pdf/common/eventBus.ts 829 bytes [built] [code generated]
    external "electron" 42 bytes [built] [code generated]
    external "path" 42 bytes [built] [code generated]
    external "util" 42 bytes [built] [code generated]
    external "url" 42 bytes [built] [code generated]
    external "querystring" 42 bytes [built] [code generated]
    external "tty" 42 bytes [built] [code generated]
  renderer index reader (webpack 5.73.0) compiled successfully in 15717 ms

renderer pdf webview index:
  asset index_pdf.js 19.9 KiB [emitted] [minimized] (name: main)
  runtime modules 1.25 KiB 5 modules
  orphan modules 4.59 KiB [orphan] 4 modules
  built modules 28.7 KiB [built]
    modules by path ./node_modules/ 16.8 KiB
      modules by path ./node_modules/debug/src/*.js 12 KiB
        ./node_modules/debug/src/browser.js 5.87 KiB [built] [code generated]
        ./node_modules/debug/src/common.js 6.14 KiB [built] [code generated]
      ./node_modules/debounce/index.js 1.8 KiB [built] [code generated]
      ./node_modules/ms/index.js 2.95 KiB [built] [code generated]
    modules by path ./src/renderer/reader/pdf/ 12 KiB
      ./src/renderer/reader/pdf/webview/index_pdf.ts + 4 modules 11.2 KiB [not cacheable] [built] [code generated]
      ./src/renderer/reader/pdf/common/eventBus.ts 829 bytes [built] [code generated]
  renderer pdf webview index (webpack 5.73.0) compiled successfully in 8608 ms

renderer webview preload:
  asset preload.js 372 KiB [emitted] [minimized] (name: main)
  runtime modules 670 bytes 3 modules
  cacheable modules 562 KiB
    modules by path ./node_modules/r2-navigator-js/dist/es8-es2017/src/electron/ 377 KiB 27 modules
    modules by path ./node_modules/sentence-splitter/lib/ 31.1 KiB 10 modules
    modules by path ./node_modules/@xmldom/xmldom/lib/*.js 84.6 KiB 6 modules
    modules by path ./node_modules/debug/src/*.js 16.6 KiB 3 modules
    modules by path ./node_modules/structured-source/lib/*.js 12.5 KiB 2 modules
    + 9 modules
  external "electron" 42 bytes [built] [code generated]
  external "path" 42 bytes [built] [code generated]
  external "crypto" 42 bytes [built] [code generated]
  external "util" 42 bytes [built] [code generated]
  external "tty" 42 bytes [built] [code generated]
  external "querystring" 42 bytes [built] [code generated]
  renderer webview preload (webpack 5.73.0) compiled successfully in 8571 ms

> [email protected] package:mac
> cross-env DEBUG=* electron-builder --mac --x64 --publish never

  • electron-builder  version=23.0.3 os=21.5.0
  • loaded configuration  file=package.json ("build" field)
  • effective config  config=directories:
  output: release
  buildResources: resources
  app: dist
productName: Thorium
appId: io.github.edrlab.thorium
protocols:
  name: thorium
  schemes:
    - thorium
    - opds
afterSign: scripts/notarize.js
dmg:
  sign: false
  contents:
    - x: 410
      'y': 150
      type: link
      path: /Applications
    - x: 130
      'y': 150
      type: file
files:
  - filter:
      - node_modules/
      - external-assets/
      - assets/
      - ReadiumCSS/
      - MathJax/
      - index_pdf.js
      - index_library.html
      - index_library.js
      - index_reader.html
      - index_reader.js
      - styles_library.css
      - styles_reader.css
      - preload.js
      - main.js
      - package.json
      - fonts
asarUnpack:
  - '**/*.node'
  - '**/lcp.node'
fileAssociations:
  - ext: epub
    role: Viewer
    mimeType: application/epub+zip
  - ext: epub3
    role: Viewer
    mimeType: application/epub+zip
  - ext: daisy
    role: Viewer
    mimeType: application/daisy+zip
  - ext: lcpl
    role: Viewer
    mimeType: application/vnd.readium.lcp.license.v1.0+json
  - ext: audiobook
    role: Viewer
    mimeType: application/audiobook+zip
  - ext: webpub
    role: Viewer
    mimeType: application/webpub+zip
  - ext: lcpa
    role: Viewer
    mimeType: application/audiobook+lcp
  - ext: lcpaudiobook
    role: Viewer
    mimeType: application/audiobook+lcp
  - ext: lcpdf
    role: Viewer
    mimeType: application/pdf+lcp
win:
  target:
    - appx
    - nsis
  icon: dist/assets/icons/icon.ico
linux:
  target:
    - deb
    - AppImage
  desktop:
    MimeType: application/epub+zip
  executableName: thorium
  category: Office
mac:
  category: public.app-category.developer-tools
  target: dmg
  type: distribution
  hardenedRuntime: true
  gatekeeperAssess: false
  entitlements: ./scripts/entitlements.mac.plist
  entitlementsInherit: ./scripts/entitlements.mac.plist
appx:
  displayName: Thorium Reader
  publisher: CN=C91F86A8-45E6-48E0-8015-8A5BF2B38BD4

  • two package.json structure is used  devPackageFile=/Users/tg/thorium/thorium-reader/package.json appPackageFile=/Users/tg/thorium/thorium-reader/dist/package.json
  • writing effective config  file=release/builder-effective-config.yaml
  • installing production dependencies  platform=darwin arch=x64 appDir=/Users/tg/thorium/thorium-reader/dist
  • spawning        command=/opt/homebrew/Cellar/node/18.3.0/bin/node /opt/homebrew/lib/node_modules/npm/bin/npm-cli.js install --production --prefer-offline cwd=/Users/tg/thorium/thorium-reader/dist
npm WARN config production Use `--omit=dev` instead.
  agentkeepalive sock[0#registry.npmjs.org:443::::::::true:::::::::::::] create, timeout 300001ms +0ms
  agentkeepalive sock[0#registry.npmjs.org:443::::::::true:::::::::::::](requests: 1, finished: 1) free +461ms

> [email protected] postinstall
> npm run pinCompromisedColorPackage && npm run electron-build


> [email protected] pinCompromisedColorPackage
> (npm ls colors || echo "NPM LS?") && rimraf node_modules/electron-rebuild/node_modules/colors && rimraf node_modules/dir-compare/node_modules/colors

[email protected] /Users/tg/thorium/thorium-reader/dist
└── (empty)

NPM LS?

> [email protected] electron-build
> electron-rebuild --version=19.0.1 --disturl=https://electronjs.org/headers

⠋ Searching dependency tree  electron-rebuild rebuilding with args: [Arguments] {
  '0': {
    buildPath: '/Users/tg/thorium/thorium-reader/dist',
    electronVersion: '19.0.1',
    arch: 'arm64',
    extraModules: [],
    onlyModules: null,
    force: undefined,
    headerURL: undefined,
    types: [ 'prod', 'optional' ],
    mode: undefined,
    debug: undefined,
    prebuildTagPrefix: 'v',
    forceABI: undefined,
    useElectronClang: false,
    disablePreGypCopy: false,
    projectRootPath: '/Users/tg/thorium/thorium-reader/dist'
  }
} +0ms
  electron-rebuild rebuilding with args: /Users/tg/thorium/thorium-reader/dist 19.0.1 arm64 Set(0) {} false https://www.electronjs.org/headers [ 'prod', 'optional' ] false +1ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/bindings +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/mathjax +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/yargs +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/file-uri-to-path +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/cliui +1ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/escalade +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/get-caller-file +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/require-directory +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/string-width +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/y18n +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/yargs-parser +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/strip-ansi +1ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/wrap-ansi +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/emoji-regex +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/is-fullwidth-code-point +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/ansi-regex +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/ansi-styles +0ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/color-convert +1ms
  electron-rebuild exploring /Users/tg/thorium/thorium-reader/dist/node_modules/color-name +0ms
  electron-rebuild identified prod deps: Set(0) {
  bindings: true,
  mathjax: true,
  yargs: true,
  'file-uri-to-path': true,
  cliui: true,
  escalade: true,
  'get-caller-file': true,
  'require-directory': true,
  'string-width': true,
  y18n: true,
  'yargs-parser': true,
  'strip-ansi': true,
  'wrap-ansi': true,
  'emoji-regex': true,
  'is-fullwidth-code-point': true,
  'ansi-regex': true,
  'ansi-styles': true,
  'color-convert': true,
  'color-name': true
} +0ms
  electron-rebuild scanning: /Users/tg/thorium/thorium-reader/dist/node_modules +1ms
✔ Rebuild Complete

added 19 packages, and audited 20 packages in 1s

2 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
  • exited          command=node code=0 pid=12521
  • packaging       platform=darwin arch=x64 electron=19.0.3 appOutDir=release/mac
  • spawning        command=/Users/tg/thorium/thorium-reader/node_modules/app-builder-bin/mac/app-builder_arm64 unpack-electron --configuration [{"platform":"darwin","arch":"x64","version":"19.0.3"}] --output /Users/tg/thorium/thorium-reader/release/mac --distMacOsAppName Electron.app
  • map async       taskCount=2
  • map async       taskCount=1
  • map async       taskCount=257
  • exited          command=app-builder_arm64 code=0 pid=12607
  • spawning        command=/Users/tg/thorium/thorium-reader/node_modules/app-builder-bin/mac/app-builder_arm64 node-dep-tree --dir /Users/tg/thorium/thorium-reader/dist
  • unresolved deps  unresolved=string-widthstrip-ansi nodeModuleDir=/Users/tg/thorium/thorium-reader/node_modules round=0
  • unresolved deps  unresolved=string-widthstrip-ansi nodeModuleDir=/Users/tg/thorium/thorium-reader/node_modules round=0
  • unresolved deps  unresolved=emoji-regexis-fullwidth-code-point nodeModuleDir=/Users/tg/thorium/thorium-reader/node_modules round=0
  • exited          command=app-builder_arm64 code=0 pid=12612 out=[{"dir":"/Users/tg/thorium/thorium-reader/node_modules","deps":[{"name":"ansi-regex","version":"5.0.1"},{"name":"emoji-regex","version":"7.0.3"},{"name":"is-fullwidth-code-point","version":"2.0.0"},{"name":"string-width","version":"3.1.0"},{"name":"strip-ansi","version":"6.0.1"}]},{"dir":"/Users/tg/thorium/thorium-reader/dist/node_modules","deps":[{"name":"ansi-regex","version":"5.0.1"},{"name":"ansi-styles","version":"4.3.0"},{"name":"bindings","version":"1.5.0"},{"name":"cliui","version":"7.0.4"},{"name":"color-convert","version":"2.0.1"},{"name":"color-name","version":"1.1.4"},{"name":"emoji-regex","version":"8.0.0"},{"name":"escalade","version":"3.1.1"},{"name":"file-uri-to-path","version":"1.0.0"},{"name":"get-caller-file","version":"2.0.5"},{"name":"is-fullwidth-code-point","version":"3.0.0"},{"name":"mathjax","version":"3.2.2"},{"name":"require-directory","version":"2.1.1"},{"name":"string-width","version":"4.2.3"},{"name":"strip-ansi","version":"6.0.1"},{"name":"wrap-ansi","version":"7.0.0"},{"name":"y18n","version":"5.0.8"},{"name":"yargs","version":"17.5.1"},{"name":"yargs-parser","version":"21.0.1"}]},{"dir":"/Users/tg/thorium/thorium-reader/node_modules/string-width/node_modules","deps":[{"name":"ansi-regex","version":"4.1.1"},{"name":"strip-ansi","version":"5.2.0"}]}]
  • spawning        command=/Users/tg/thorium/thorium-reader/node_modules/app-builder-bin/mac/app-builder_arm64 decode-plist -f /Users/tg/thorium/thorium-reader/release/mac/Electron.app/Contents/Info.plist -f /Users/tg/thorium/thorium-reader/release/mac/Electron.app/Contents/Frameworks/Electron Helper.app/Contents/Info.plist -f /Users/tg/thorium/thorium-reader/release/mac/Electron.app/Contents/Frameworks/Electron Helper EH.app/Contents/Info.plist -f /Users/tg/thorium/thorium-reader/release/mac/Electron.app/Contents/Frameworks/Electron Helper NP.app/Contents/Info.plist -f /Users/tg/thorium/thorium-reader/release/mac/Electron.app/Contents/Frameworks/Electron Helper (Renderer).app/Contents/Info.plist -f /Users/tg/thorium/thorium-reader/release/mac/Electron.app/Contents/Frameworks/Electron Helper (Plugin).app/Contents/Info.plist -f /Users/tg/thorium/thorium-reader/release/mac/Electron.app/Contents/Frameworks/Electron Helper (GPU).app/Contents/Info.plist -f /Users/tg/thorium/thorium-reader/release/mac/Electron.app/Contents/Library/LoginItems/Electron Login Helper.app/Contents/Info.plist
  • map async       taskCount=8
  • exited          command=app-builder_arm64 code=0 pid=12613 out=[{"CFBundleExecutable":"Electron","CFBundleVersion":"19.0.3","LSApplicationCategoryType":"public.app-category.developer-tools","NSCameraUsageDescription":"This app needs access to the camera","CFBundleShortVersionString":"19.0.3","CFBundleName":"Electron","CFBundlePackageType":"APPL","DTCompiler":"com.apple.compilers.llvm.clang.1_0","LSEnvironment":{"MallocNanoZone":"0"},"NSPrincipalClass":"AtomApplication","CFBundleIdentifier":"com.github.Electron","NSHighResolutionCapable":true,"NSMicrophoneUsageDescription":"This app needs access to the microphone","CFBundleIconFile":"electron.icns","DTSDKBuild":"12.3","CFBundleDisplayName":"Electron","CFBundleInfoDictionaryVersion":"6.0","DTSDKName":"macosx12.3","DTXcodeBuild":"13E500a","NSBluetoothPeripheralUsageDescription":"This app needs access to Bluetooth","DTXcode":"1331","NSMainNibFile":"MainMenu","NSSupportsAutomaticGraphicsSwitching":true,"ElectronAsarIntegrity":{"Resources/default_app.asar":{"algorithm":"SHA256","hash":"c00bfa33b880e123a142938265ae353080b82dd45507be18421064e49440fa39"}},"LSMinimumSystemVersion":"10.11.0","NSAppTransportSecurity":{"NSAllowsArbitraryLoads":true},"NSBluetoothAlwaysUsageDescription":"This app needs access to Bluetooth","NSQuitAlwaysKeepsWindows":false,"NSRequiresAquaSystemAppearance":false},{"CFBundlePackageType":"APPL","DTSDKBuild":"12.3","DTXcodeBuild":"13E500a","LSEnvironment":{"MallocNanoZone":"0"},"LSUIElement":true,"CFBundleIdentifier":"com.github.Electron.helper","CFBundleName":"Electron Helper","DTCompiler":"com.apple.compilers.llvm.clang.1_0","DTSDKName":"macosx12.3","DTXcode":"1331","NSSupportsAutomaticGraphicsSwitching":true},null,null,{"CFBundleName":"Electron Helper (Renderer)","CFBundlePackageType":"APPL","DTSDKName":"macosx12.3","DTXcode":"1331","LSUIElement":true,"NSSupportsAutomaticGraphicsSwitching":true,"CFBundleIdentifier":"com.github.Electron.helper","DTCompiler":"com.apple.compilers.llvm.clang.1_0","DTSDKBuild":"12.3","DTXcodeBuild":"13E500a","LSEnvironment":{"MallocNanoZone":"0"}},{"DTCompiler":"com.apple.compilers.llvm.clang.1_0","DTSDKName":"macosx12.3","NSSupportsAutomaticGraphicsSwitching":true,"CFBundleIdentifier":"com.github.Electron.helper","CFBundleName":"Electron Helper (Plugin)","CFBundlePackageType":"APPL","DTSDKBuild":"12.3","DTXcode":"1331","DTXcodeBuild":"13E500a","LSEnvironment":{"MallocNanoZone":"0"},"LSUIElement":true},{"DTSDKBuild":"12.3","DTXcodeBuild":"13E500a","LSEnvironment":{"MallocNanoZone":"0"},"NSSupportsAutomaticGraphicsSwitching":true,"CFBundleIdentifier":"com.github.Electron.helper","CFBundleName":"Electron Helper (GPU)","CFBundlePackageType":"APPL","DTCompiler":"com.apple.compilers.llvm.clang.1_0","DTSDKName":"macosx12.3","DTXcode":"1331","LSUIElement":true},null]
  • spawning        command=/Users/tg/thorium/thorium-reader/node_modules/app-builder-bin/mac/app-builder_arm64 icon --format icns --root /Users/tg/thorium/thorium-reader/resources --root /Users/tg/thorium/thorium-reader --out /Users/tg/thorium/thorium-reader/release/.icon-icns
  • path resolved   path=/Users/tg/thorium/thorium-reader/resources/icon.icns outputFormat=icns
  • exited          command=app-builder_arm64 code=0 pid=12614 out={"icons":[{"file":"/Users/tg/thorium/thorium-reader/resources/icon.icns","size":0}],"isFallback":false}
  • spawning        command=/Users/tg/thorium/thorium-reader/node_modules/app-builder-bin/mac/app-builder_arm64 encode-plist
  • map async       taskCount=5
  • exited          command=app-builder_arm64 code=0 pid=12615
  • getPublishConfigsForUpdateInfo: no publishConfigs, detect using repository info
  electron-builder:publish getPublishConfigsForUpdateInfo: {
  electron-builder:publish   "domain": "github.com",
  electron-builder:publish   "type": "github",
  electron-builder:publish   "user": "edrlab",
  electron-builder:publish   "project": "readium-desktop"
  electron-builder:publish } +0ms
  • calling getInfo  reason=owner or project is not specified explicitly provider=github owner=undefined project=undefined
  electron-builder:publish getPublishConfigsForUpdateInfo: resolve to publish config {
  electron-builder:publish   "owner": "edrlab",
  electron-builder:publish   "repo": "readium-desktop",
  electron-builder:publish   "provider": "github"
  electron-builder:publish } +1ms
  • executing       file=security args=find-identity -v
  • executing       file=security args=find-identity -v -p 7af95cecdd0c3f541bcc912b113c3ed21ed9e4c7c32f40b73a00e2b19a9500f5 (sha256 hash)
  • executed        file=security stdout=     0 valid identities found

  • executed        file=security stdout=     0 valid identities found

  • executing       file=security args=find-identity
  • executed        file=security stdout=
Policy: X.509 Basic
  Matching identities
     0 identities found
                        Valid identities only
     0 valid identities found

  • skipped macOS application code signing  reason=cannot find valid "Developer ID Application" identity or custom non-Apple code signing certificate, it could cause some undefined behaviour, e.g. macOS localized description not visible, see https://electron.build/code-signing allIdentities=     0 identities found
                                                Valid identities only
     0 valid identities found
  electron-builder Error: Cannot find module 'scripts/notarize.js'
  electron-builder Require stack:
  electron-builder - /Users/tg/thorium/thorium-reader/node_modules/app-builder-lib/out/platformPackager.js
  electron-builder - /Users/tg/thorium/thorium-reader/node_modules/app-builder-lib/out/electron/ElectronFramework.js
  electron-builder - /Users/tg/thorium/thorium-reader/node_modules/app-builder-lib/out/packager.js
  electron-builder - /Users/tg/thorium/thorium-reader/node_modules/app-builder-lib/out/index.js
  electron-builder - /Users/tg/thorium/thorium-reader/node_modules/electron-builder/out/builder.js
  electron-builder - /Users/tg/thorium/thorium-reader/node_modules/electron-builder/out/cli/cli.js
  electron-builder - /Users/tg/thorium/thorium-reader/node_modules/electron-builder/cli.js
  electron-builder     at Function.Module._resolveFilename (node:internal/modules/cjs/loader:939:15)
  electron-builder     at Function.resolve (node:internal/modules/cjs/helpers:108:19)
  electron-builder     at resolveFunction (/Users/tg/thorium/thorium-reader/node_modules/app-builder-lib/src/platformPackager.ts:759:17)
  electron-builder     at MacPackager.doSignAfterPack (/Users/tg/thorium/thorium-reader/node_modules/app-builder-lib/src/platformPackager.ts:330:23)
  electron-builder     at MacPackager.doPack (/Users/tg/thorium/thorium-reader/node_modules/app-builder-lib/src/platformPackager.ts:314:7)
  electron-builder     at MacPackager.pack (/Users/tg/thorium/thorium-reader/node_modules/app-builder-lib/src/macPackager.ts:179:7)
  electron-builder     at Packager.doBuild (/Users/tg/thorium/thorium-reader/node_modules/app-builder-lib/src/packager.ts:441:9)
  electron-builder     at Object.executeFinally (/Users/tg/thorium/thorium-reader/node_modules/builder-util/src/promise.ts:12:14)
  electron-builder     at Packager._build (/Users/tg/thorium/thorium-reader/node_modules/app-builder-lib/src/packager.ts:376:31)
  electron-builder     at Packager.build (/Users/tg/thorium/thorium-reader/node_modules/app-builder-lib/src/packager.ts:337:12)
  electron-builder     at Object.executeFinally (/Users/tg/thorium/thorium-reader/node_modules/builder-util/src/promise.ts:12:14) +0ms
  electron-notarize notarizing using the legacy notarization system, this will be slow +0ms
  electron-notarize:legacy starting notarize process for app: /Users/tg/thorium/thorium-reader/release/mac/Thorium.app +0ms
  electron-notarize:helpers doing work inside temp dir: /var/folders/86/9gg3ppgn4gsdwq3fh0w37hvc0000gn/T/electron-notarize-rXbHUx +0ms
  electron-notarize:legacy zipping application to: /var/folders/86/9gg3ppgn4gsdwq3fh0w37hvc0000gn/T/electron-notarize-rXbHUx/Thorium.zip +1ms
  electron-notarize:spawn spawning cmd: ditto args: [
  '-c',
  '-k',
  '--sequesterRsrc',
  '--keepParent',
  'Thorium.app',
  '/var/folders/86/9gg3ppgn4gsdwq3fh0w37hvc0000gn/T/electron-notarize-rXbHUx/Thorium.zip'
] opts: { cwd: '/Users/tg/thorium/thorium-reader/release/mac' } +0ms
  electron-notarize:spawn cmd ditto terminated with code: 0 +8s
  electron-notarize:legacy zip succeeded, attempting to upload to Apple +8s
  electron-notarize:helpers work failed +8s
  ⨯ No authentication properties provided (e.g. appleId, appleApiKey)  failedTask=build stackTrace=Error: No authentication properties provided (e.g. appleId, appleApiKey)
    at Object.validateLegacyAuthorizationArgs (/Users/tg/thorium/thorium-reader/node_modules/electron-notarize/src/validate-args.ts:59:9)
    at authorizationArgs (/Users/tg/thorium/thorium-reader/node_modules/electron-notarize/src/legacy.ts:17:16)
    at Object.<anonymous> (/Users/tg/thorium/thorium-reader/node_modules/electron-notarize/src/legacy.ts:58:10)
    at Generator.next (<anonymous>)
    at fulfilled (/Users/tg/thorium/thorium-reader/node_modules/electron-notarize/lib/legacy.js:4:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
´´´
Screenshot 2022-06-10 at 08 26 28

Me being a programming rookie is no secret, and therefore it is perfectly plausible that I made a mistake. I would very much appreciate If someone could take the time and point me in the right direction.

FYI: The bugs I encountered in rosetta2 have nothing to do with your software. I experienced a phantom power drain and therefore a hotter machine with much shorter battery life. We are talking 5 hours with only a browser open or 8 hours on idle on a base 14 inch MBP.

I couldn't point a finger at it when looking at the activity monitor, and all my apps were running native except some random system processes at times. Since I reinstalled my system without explicitly installing rosetta2, these issues don't occur anymore. All programs I used then and still have open now vs are identical.

TLDR: Problems with Rosetta2 are Bugs on Apple's side, not yours and they make rosetta2 unusable for me.

tobomobo avatar Jun 10 '22 06:06 tobomobo

Sorry to be blunt, but if supporting macOS at all and only one platform, I just don't see the reason to support an old platform, the present and the future of macOS is arm64 not x86_64, x86_64 is dead from a macOS point of view.

codrutpopescu avatar Jun 10 '22 06:06 codrutpopescu

the present and the future of macOS is arm64 not x86_64, x86_64 is dead from a macOS point of view.

Bold statement :)

I use both M1 and x86 Mac computers. I love the former (performance + battery life) and it is indeed the future. However Intel arch required for my x86 hardware-accelerated virtual machines, so far from obsolete (yet) PS: I was a PowerBook user shortly before Apple moved from its own "silicon" (PowerPC G4) to Intel !! ;)

danielweck avatar Aug 26 '22 14:08 danielweck

Moving to a "discussion" (not an actionable issue right now, need to discuss ramifications with our native C/C++ lib)...

danielweck avatar Aug 26 '22 14:08 danielweck