This commit is contained in:
2026-10-18 00:49:38 +07:00
parent 62d56962e0
commit 7f2a02b69f
8 changed files with 71 additions and 12 deletions
+30 -1
View File
@@ -83,7 +83,11 @@ macOS нет. Этот стенд не подтверждает Ubuntu/Debian,
Прежние ограничения GUI-стенда сохраняются: Linux x64, синтетический внешний
дисплей, тестовые no-sandbox/mute-audio/disable-gpu. Новых аппаратных результатов нет.
## Исправление запуска на Manjaro XWayland (2026-10-17)
## Диагностика запуска на Manjaro XWayland (2026-10-17)
Вывод о видимости окна ниже опровергнут 2026-10-18: снимок страницы и
isVisible() подтвердили внутреннее состояние Electron, но окно не было
зарегистрировано в KWin. Прежний обход GPU-композиции удалён; исправление ниже.
- Обычный запуск исходников с чистым профилем воспроизвёл три падения GPU-процесса
с exit_code=139. Coredump указывает на libGLESv2/ANGLE, EGL_CreateWindowSurface
@@ -108,6 +112,31 @@ macOS нет. Этот стенд не подтверждает Ubuntu/Debian,
SCREEN-001/008 остаются IN_PROGRESS. Diff проверен вручную по применимому
стандарту; нарушений не найдено. Коммиты и push агент не выполнял.
## Исправление невидимого окна (2026-10-18)
- Без раннего X11-флага Electron возвращал native handle `1` и isVisible=true,
но `_NET_CLIENT_LIST` KWin оставался пустым. DOM пульта был загружен. Это
объясняет ложноположительные прежние проверки снимком страницы и GUI smoke.
- С CLI-флагом `--ozone-platform=x11` до запуска процесса native handle стал
настоящим X11 ID `0x1200004`; тот же ID появился в `_NET_CLIENT_LIST`.
Пульт загружен, падений GPU и XGetWindowAttributes нет, GPU не отключён.
- Причина: Electron выбирает Ozone до main.js. Поздний appendSwitch менял
параметры дочернего GPU, сохраняя Wayland-окно основного процесса.
[Порядок инициализации Electron 42](https://github.com/electron/electron/blob/v42.0.0/shell/browser/electron_browser_main_parts.cc).
- npm dev/smoke/acceptance теперь запускают Electron через scripts/start.cjs,
передающий X11 заранее только на Linux и сохраняющий код завершения процесса.
Обычный Linux-запуск без раннего X11 перезапускается с ним до создания окон.
Отключение GPU-композиции и поздний appendSwitch удалены; sandbox сохранён.
- 77 тестов, type-check, ESLint, Stylelint, сборка и GUI smoke с mute-audio — PASS.
В smoke добавлена проверка native X11 ID; внешний дисплей синтетический.
Полный diff проверен вручную по применимому стандарту; нарушений не найдено.
- Именно `npm run dev` запущен на обычном профиле: KWin зарегистрировал окно
`0x1200004`. Linux x64 пересобран, состав и распакованный архив проверены;
обновлены build-info, SHA256SUMS-linux-x64 и запись в общем manifest.
Остальные архивы не пересобирались.
- SCREEN-001/008 остаются IN_PROGRESS: реальный проектор, системный звук,
аппаратный p95, час офлайн и матрица ОС не подтверждены. Коммитов и push нет.
## Отчёт одного стенда
- Дата, версия приложения и SHA-256 архива: