ff5a132a9d
- firmware-loader: handle missing INIT_NOTIFY gracefully (Option<RawFd>) - driver-params: suppress ENODEV (19) on missing driver-manager scheme - compositor: add wl_seat.name + pointer capabilities for Qt6 compat - greeter: use redox QPA (libqredox.so) instead of broken Qt6 Wayland - greeter: reduce DRM wait 10s→2s, kded6 offscreen QPA to avoid crash - thermald: add CPU die temperature via MSR IA32_THERM_STATUS (Linux coretemp) - pcid: diagnostic MCFG warning with Q35 guidance, address validation - dhcpd: auto-interface detection (P0-dhcpd-auto-iface.patch wired) - procmgr: SIGCHLD EPERM→debug (kernel limitation, not a bug) - ps2d LED: warn→debug on modern hw without real PS/2 controller - ps2d mouse: 10×1s→3×250ms retry, fast-fail on unknown response - i2c RON: handle empty response from i2cd when no adapters present - base recipe: wire 6 new/improved patches - config: remove INIT_SKIP, enable all 14 previously-suppressed daemons
37 lines
1.2 KiB
C++
37 lines
1.2 KiB
C++
#include <QGuiApplication>
|
|
#include <QQmlApplicationEngine>
|
|
#include <QQmlContext>
|
|
#include <QQuickStyle>
|
|
#include <QQuickWindow>
|
|
|
|
#include "greeter_backend.h"
|
|
|
|
int main(int argc, char *argv[]) {
|
|
qputenv("QT_QUICK_CONTROLS_STYLE", QByteArrayLiteral("Basic"));
|
|
qputenv("QSG_RHI_BACKEND", QByteArrayLiteral("software"));
|
|
qputenv("QT_QUICK_BACKEND", QByteArrayLiteral("software"));
|
|
QQuickWindow::setGraphicsApi(QSGRendererInterface::Software);
|
|
|
|
// Use the Redox-native QPA plugin (libqredox.so) instead of Wayland.
|
|
// The Qt6 Wayland plugin crashes at null+8 during wl_registry init on Redox.
|
|
// The redox QPA plugin renders directly to the framebuffer via scheme:display.
|
|
if (qEnvironmentVariableIsEmpty("QT_QPA_PLATFORM")) {
|
|
qputenv("QT_QPA_PLATFORM", "redox");
|
|
}
|
|
|
|
QGuiApplication app(argc, argv);
|
|
QQuickStyle::setStyle(QStringLiteral("Basic"));
|
|
|
|
GreeterBackend backend;
|
|
QQmlApplicationEngine engine;
|
|
engine.rootContext()->setContextProperty(QStringLiteral("greeterBackend"), &backend);
|
|
engine.load(QUrl(QStringLiteral("qrc:/Main.qml")));
|
|
|
|
if (engine.rootObjects().isEmpty()) {
|
|
return 1;
|
|
}
|
|
|
|
backend.initialize();
|
|
return app.exec();
|
|
}
|