emacs-eaf / emacs-eaf/emacs-application-framework

Unable to run EAF on NixOS under Sway

Open
#1,062 3 comments 0 reactions 0 assignees View on GitHub
help wanted
Dominant language
Python
Stars
3.5k
Forks
245
Avg merge
22h 20m
Merged PRs (30d)
1

Description

**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**
1. Add the following to your NixOS config (derived from the wiki page):

```nix
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
]))
];
```

2. Clone and then install EAF with `./install-eaf.py --ignore-core-deps`
3. 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!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.