emacs-application-framework
emacs-application-framework copied to clipboard
Unable to run EAF on NixOS under Sway
Describe the bug
Attempting to use EAF under NixOS results in EAF buffers appearing blank. For example, when trying to use eaf-open-browser
, the resulting buffer is blank.
To Reproduce
- Add the following to your NixOS config (derived from the wiki page):
environment.variables = {
QT_QPA_PLATFORM_PLUGIN_PATH = "${pkgs.qt6.qtwayland.outPath}/lib/qt-6/plugins/platforms";
};
environment.systemPackages = with pkgs; [
git
nodejs
wmctrl
jshon
aria
(python3.withPackages (p: with p; [
pandas
requests
pyqt6 sip qtpy qt6.qtwebengine epc lxml pyqt6-webengine
pysocks
pymupdf
markdown
]))
];
- Clone and then install EAF with
./install-eaf.py --ignore-core-deps
- Load EAF into Emacs as instructed and then
M-x eaf-open-browser
.
Expected behavior EAF renders correctly.
Versions (please complete the following info):
- Distro and DE/WM: NixOS + Sway
- Versions of Dependencies:
- Python 3.10.9
- PyQt6 6.4.0
- jshon 20131105
- wmctrl 1.07
- qtbase 6.4.1
- qtwayland 6.4.1
- M-x emacs-version: GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.35, cairo version 1.16.0)
Error logs
qt.qpa.wayland: Failed to load client buffer integration: "wayland-egl"
qt.qpa.wayland: Available client buffer integrations: QList()
qt.webenginecontext:
GL Type: disabled
Surface Type: DefaultRenderableType
Surface Profile: NoProfile
Surface Version: 2.0
QSG RHI Backend: OpenGL
Using Supported QSG Backend: yes
Using Software Dynamic GL: no
Using Multithreaded OpenGL: no
Init Parameters:
* application-name eaf.py
* browser-subprocess-path /nix/store/4wka7snl0hvapzbzskj07y99vn27crs7-qtwebengine-6.4.1/libexec/QtWebEngineProcess
* disable-features ConsolidatedMovementXY,InstalledApp,BackgroundFetch,WebOTP,WebPayments,WebUSB,PictureInPicture
* disable-gpu
* disable-setuid-sandbox
* disable-speech-api
* enable-features NetworkServiceInProcess,TracingServiceInProcess
* enable-threaded-compositing
* in-process-gpu
* use-gl disabled
QRhiGles2: Failed to create temporary context
QRhiGles2: Failed to create context
Failed to create QRhi for QBackingStoreRhiSupport
QRhiGles2: Failed to create temporary context
QRhiGles2: Failed to create context
Failed to create QRhi for QBackingStoreRhiSupport
QQuickWidget: Failed to get a QRhi from the top-level widget's window
QRhiGles2: Failed to create temporary context
QRhiGles2: Failed to create context
Failed to create QRhi for QBackingStoreRhiSupport
QQuickWidget: Failed to get a QRhi from the top-level widget's window
QQuickWidget::resizeEvent() no QRhi
QQuickWidget: Attempted to render scene with no rhi
No suitable graphics backend found
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'interest-cohort'.
QQuickWidget: Attempted to render scene with no rhi
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'interest-cohort'.
[EAF] Browser https://duckduckgo.com/ loading time: 3.0081546306610107s
Screenshots N/A
Additional context
The reason for setting QT_QPA_PLATFORM_PLUGIN_PATH
is as described on the NixOS wiki page, albeit for the Wayland platform plugin rather than xcb. I know this is more of a NixOS problem than EAF's fault, but I'd love to try out EAF on NixOS and I'm stuck on Wayland for HiDPI. Thanks!