Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Bug] Black screen after upgrade to MagicMirror² 2.38.0 on Raspberry Pi 3 with Electron 44.4.5

オープン
#4,287 コメント 16 件 リアクション 3 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
43/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
electron, javascript, node.js, raspberry-pi

調査の方向性

No source file is named; start with package.json, package-lock.json, and the node --run start entry point. Reproduce the Electron 44.4.5 versus 42.6.0 comparison on the Raspberry Pi under Wayland and X11, then inspect the renderer and display behavior. Done means the supported Electron version keeps the interface visible while the HTTP service remains healthy.

索引モデルが issue の本文から書いたものです。

説明

bug ready (coming with next release)
Environment

System:

  • Raspberry Pi 3 Model B Plus Rev 1.3
  • Debian GNU/Linux 13 (trixie)
  • Architecture: arm64
  • Kernel: 6.18.50+rpt-rpi-v8
  • Time zone: Europe/Berlin

MagicMirror system information from the failing Electron 44.4.5 run:

[2026-10-01 19:29:40.974] [INFO]  [systeminformation]
####  System Information  ####
- MM:       version: v2.38.0; git: f138f5b6; branch: master
- SYSTEM:   manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 3 Model B Plus Rev 1.3; virtual: false
- OS:       platform: linux; distro: Debian GNU/Linux; release: 13; arch: arm64; kernel: 6.18.50+rpt-rpi-v8
- VERSIONS: electron: 44.4.5; used node: 24.21.0; installed node: 24.21.0; npm: 11.19.0; pm2:
- ENV:      XDG_SESSION_TYPE: wayland; MM_CONFIG_FILE: undefined
            WAYLAND_DISPLAY:  wayland-0; DISPLAY: :0; ELECTRON_ENABLE_GPU: undefined
- RAM:      total: 905.04 MB; free: 422.97 MB; used: 482.07 MB
- OTHERS:   uptime: 899 minutes; timeZone: Europe/Berlin

Full MagicMirror commit:

f138f5b690ceab6450f55c852ac81d268363f563
Which start option are you using?

node --run start

Are you using PM2?

No

Module

None

Have you tried disabling other modules?
  • Yes
  • No
Have you searched if someone else has already reported the issue on the forum or in the issues?
  • Yes
What did you do?

I upgraded an existing working MagicMirror installation from v2.37.0 to v2.38.0.

After the upgrade, the installation contained Electron 44.4.5 as specified by MagicMirror v2.38.0.

Test A - Electron 44.4.5

I started MagicMirror normally using the existing systemd user service:

systemctl --user start magicmirror.service

The underlying start command is:

node --run start

MagicMirror starts successfully on the server side. The configuration check passes, module helpers load, and the HTTP server starts on port 8080.

The local HTTP endpoint responds successfully:

HTTP 200

However, on the monitor connected directly to the Raspberry Pi:

  • a small part of the MagicMirror interface appears very briefly,
  • the display then becomes black,
  • only the mouse pointer remains visible,
  • no Electron renderer process remains.

After about one minute:

=== ELECTRON ===
44.4.5

=== HTTP ===
HTTP 200

=== RENDERER ===
KEIN RENDERER

The MagicMirror service itself remains active.

Test B - same setup with Electron 42.6.0

Without changing MagicMirror, its configuration, the OS, the display setup or the start method, I changed only Electron:

npm install --no-save --package-lock=false [email protected]

The installed Electron version was then:

42.6.0

I restarted the same MagicMirror service:

systemctl --user restart magicmirror.service

With Electron 42.6.0:

  • the MagicMirror interface appears and remains visible,
  • the HTTP endpoint returns HTTP 200,
  • the service remains active,
  • an Electron renderer process is present.

Example renderer process:

/home/remote/MagicMirror/node_modules/electron/dist/electron --type=renderer ... --ozone-platform=wayland --disable-gpu-compositing ...

I repeated the Electron 44.4.5 test afterwards by restoring the dependency from MagicMirror v2.38.0:

npm install

This restored Electron 44.4.5 and reproduced the same black-screen behavior again:

  • interface appears only very briefly,
  • screen becomes black,
  • mouse pointer remains visible,
  • HTTP still returns 200,
  • no renderer process remains.

I then changed only Electron back to 42.6.0 and the display worked again.

Comparison
MagicMirror Electron HTTP Renderer Display
2.38.0 44.4.5 200 absent black after brief flash
2.38.0 42.6.0 200 present works normally
What did you expect to happen?

MagicMirror v2.38.0 should display the interface normally on the monitor connected to the Raspberry Pi when started with the supported Wayland start path.

What actually happened?

With Electron 44.4.5, the MagicMirror backend starts successfully, but the Electron frontend does not remain visible.

The interface flashes briefly and then the screen becomes black. Only the mouse pointer remains visible.

The HTTP server continues to respond with HTTP 200 and the MagicMirror service remains active, but no Electron --type=renderer process remains.

Changing only Electron from 44.4.5 to 42.6.0 makes the same MagicMirror v2.38.0 installation work normally again.

The only recurring Electron-related log message seen during startup was:

ERROR:media/gpu/vaapi/vaapi_wrapper.cc:1801] vaInitialize failed: unknown libva error

No kernel OOM, segmentation fault or Electron/Chromium coredump was found during the failing test.

Additional comments

The issue is reproducible by changing only the Electron version on the same MagicMirror v2.38.0 installation.

Working temporary workaround:

npm install --no-save --package-lock=false [email protected]

This does not modify package.json or package-lock.json.

I also tested node --run start:x11 with Electron 44.4.5. The screen remained completely black, so in this setup the issue was not resolved by switching from the Wayland start option to X11.

The observable A/B result is:

  • Electron 44.4.5: backend works, HTTP 200, no renderer remains, black screen.
  • Electron 42.6.0: backend works, renderer is present, interface remains visible.

I have not confirmed the underlying Electron/Chromium cause.

Network / HTTP

MagicMirror is running its HTTP server on port 8080.

During the failing Electron 44.4.5 test, the local server remained reachable:

http://127.0.0.1:8080/
HTTP 200
Participation
  • I am willing to submit a pull request for this change.
主要言語
JavaScript
スター
24.1k
フォーク
4.6k
平均マージ
15時間 21分
マージ済み PR(30日)
26

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

MagicMirrorOrg/MagicMirror のほかの issue

MagicMirrorOrg/MagicMirror の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。