Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

After update to v1.6 Sway won't launch anymore on old Intel hw #6194

Closed
manfred3000 opened this issue Apr 17, 2021 · 18 comments
Closed

After update to v1.6 Sway won't launch anymore on old Intel hw #6194

manfred3000 opened this issue Apr 17, 2021 · 18 comments
Labels
bug Not working as intended

Comments

@manfred3000
Copy link

manfred3000 commented Apr 17, 2021

First of all thanks for this great software.

I've been running sway on an Eee PC Intel Atom happily on Arch until the last update.
I'm using only open source drivers, wlroots version is 0.13.

Since the Atom processor is pretty weak I have only the bare minimum installed and have been starting sway from tty.

After several hours of trying to troubleshoot the issue and learning that sway now theoretically depends on libseat which is however no hard dependency yet, I installed seatd from the "aur", but unfortunately couldn't get the daemon to run.

I've then installed the Display Manager greetd and tried launching sway from there - to no avail (launching weston worked fine).

I've also consulted the emersion.fr blog which states that there are plans for weston (my backup WM) to depend on libseat as well. Also the support of some older hardware has been dropped apparently, but I don't know if said processor is affected.

I'd really like to be able to keep using this device running Wayland and Sway/Weston, any help is appreciated.

TLDR:

  • Sway version:
    1.6

  • OS/Drivers:
    Arch Linux/open source

  • Config file:
    Sway won't start with the default config either.

@manfred3000 manfred3000 added the bug Not working as intended label Apr 17, 2021
@kennylevinsen
Copy link
Member

kennylevinsen commented Apr 17, 2021

The issue you're having is unrelated to libseat for various reasons, the most important one being that you are not using it. It's mandatory in master, not in 0.13.

Quoting the relevant section, which indicates graphics issues:

0:00:00.830 [DEBUG] [sway/config/output.c:412] Committing output LVDS-1
00:00:00.831 [INFO] [wlr] [backend/drm/drm.c:779] connector LVDS-1: Modesetting with '1024x600@60190mHz'
00:00:00.831 [DEBUG] [wlr] [backend/drm/drm.c:672] connector LVDS-1: Initializing renderer
00:00:00.832 [ERROR] [wlr] [backend/drm/renderer.c:236] Renderer doesn't support format 0x34325258
00:00:00.832 [INFO] [wlr] [backend/drm/drm.c:701] connector LVDS-1: Page-flip failed with primary FB modifiers enabled, retrying without modifiers
00:00:00.832 [ERROR] [wlr] [backend/drm/renderer.c:236] Renderer doesn't support format 0x34325258
00:00:00.832 [ERROR] [wlr] [backend/drm/drm.c:785] connector LVDS-1: Failed to initialize renderer for plane
00:00:00.832 [ERROR] [sway/config/output.c:417] Failed to commit output LVDS-1
00:00:00.832 [DEBUG] [wlr] [backend/drm/drm.c:734] connector LVDS-1: Output has a desired mode and a CRTC, attempting a modeset
00:00:00.832 [INFO] [wlr] [backend/drm/drm.c:779] connector LVDS-1: Modesetting with '1024x600@60190mHz'
00:00:00.832 [DEBUG] [wlr] [backend/drm/drm.c:672] connector LVDS-1: Initializing renderer
00:00:00.832 [ERROR] [wlr] [backend/drm/renderer.c:236] Renderer doesn't support format 0x34325258
00:00:00.832 [INFO] [wlr] [backend/drm/drm.c:701] connector LVDS-1: Page-flip failed with primary FB modifiers enabled, retrying without modifiers
00:00:00.832 [ERROR] [wlr] [backend/drm/renderer.c:236] Renderer doesn't support format 0x34325258
00:00:00.833 [ERROR] [wlr] [backend/drm/drm.c:785] connector LVDS-1: Failed to initialize renderer for plane

And just to clarify:

libseat will become a mandatory dependency, but it does not negatively affect compatibility. For all intents and purposes, you can see it as wlroots code being moved to a separate, shared project. seatd is optionally supported for those unable or unwilling to run systemd-logind or elogind, as it is written as an extremely light and portable replacement.

@kennylevinsen
Copy link
Member

Possibly related to this: swaywm/wlroots#2819

@Galicarnax

This comment has been minimized.

@karjonas

This comment has been minimized.

@emersion emersion changed the title After update to v. 1.6 Sway won't launch anymore After update to v1.6 Sway won't launch anymore on old Intel hw Apr 17, 2021
@emersion
Copy link
Member

This issue is about old Intel machine, none of the 3 problems mentioned above are related.

Please search for existing issues, and report separate bugs.

@charims
Copy link

charims commented May 4, 2021

Same issue here. Was working great until 1.6. Asus eee pc 1000. Intel atom N270 processor.

I really enjoyed running sway on this device.

00:00.0 Host bridge: Intel Corporation Mobile 945GSE Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GSE Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 4 (rev 02)
00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 02)
00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 02)
00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 02)
00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 02)
00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (rev 02)
00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller (rev 02)
01:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
04:00.0 Ethernet controller: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0)```

@emersion
Copy link
Member

emersion commented May 4, 2021

I'd suggest sending kernel + Mesa patches to add DMA-BUF support.

@chrisvrose
Copy link

chrisvrose commented May 4, 2021

I have had a similar case since updating to sway 0.16 and wlroots 0.13; I'm using Intel Atom CPU N570 and its Integrated Intel GPU.
I'm new to sway, but other wlroots (I tested atleast hikari) based WMs also crash (weston works fine).

Log: sway.log

(Lines 660 onwards has the Errors)

I'd suggest sending kernel + Mesa patches to add DMA-BUF support.

Is this something that was recently changed to be a requirement?

@manfred3000
Copy link
Author

manfred3000 commented May 5, 2021

Is this something that was recently changed to be a requirement?

The changelog of wlroots is full of "dmabuf" stuff, but that's all Greek to me:
https://github.com/swaywm/wlroots/releases/tag/0.13.0

@manfred3000
Copy link
Author

manfred3000 commented May 5, 2021

Update: I'm able to launch sway compiled with the latest commits thanks to the maintainer(s) of sway-git/wlroots-git with the following errors logged (I've got seatd installed, btw):

sway version 1.6-d7ec66d5 (May  5 2021, branch 'master')
00:00:00.020 [ERROR] [wlr] [libseat] [libseat/backend/seatd.c:78] Could not connect to socket /run/seatd.sock: No such file or directory
00:00:00.176 [ERROR] [wlr] [render/gles2/renderer.c:791] EGL_EXT_image_dma_buf_import not supported
00:00:00.176 [ERROR] [wlr] [render/gles2/renderer.c:751] Failed to create GLES2 renderer
00:00:00.181 [ERROR] [wlr] [backend/headless/backend.c:253] Failed to get DRM device FD from parent renderer

I will leave this open for @emersion to decide whether this issue is fixed for good.
Anyway, thanks to everyone fixing and working on this project.

@emersion
Copy link
Member

emersion commented May 5, 2021

Maybe it now falls back to Pixman software rendering automatically?

@manfred3000
Copy link
Author

manfred3000 commented May 5, 2021

I could take a full log if need be...
@emersion Here's the full log running sway with the default config:
https://gist.github.com/manfred3000/353e10a89a2f16b2290734c320b35511
Line 44:
00:00:00.188 [INFO] [wlr] [render/pixman/renderer.c:433] Creating pixman renderer

@manfred3000
Copy link
Author

manfred3000 commented May 5, 2021

Whatever renderer had been used in v1.5, with pixman I'm experiencing artifacts/glitches within firefox, and a deterioration/pixelization of videos within vlc, so one could say the issue of not launching has been fixed at a relatively high cost 😄

Is there a way to manually launch sway using a different renderer?

@manfred3000
Copy link
Author

I'd suggest sending kernel + Mesa patches to add DMA-BUF support.

How would I go about this? I've consulted https://kernelnewbies.org/, and frankly I'm none the wiser (not a Linux newbie, but without ambitions to become a developer myself).

@chrisvrose
Copy link

Can confirm that building from master (using AUR sway-git) works. The renderer does have some artifacts.

@emersion
Copy link
Member

emersion commented May 6, 2021

How would I go about this?

It seems like the kernel is fine, because it implements the prime_fd_to_handle and prime_handle_to_fd unconditionally.

Mesa still needs support. Specifically, we need intelImageExtension.createImageFromFds inside src/mesa/drivers/dri/i915/intel_screen.c.

But maybe it would be a better idea to help out with crocus? Does it target your hardware? https://airlied.blogspot.com/2021/04/crocus-gallium-for-gen4-7-generation.html

In any case, feel free to ping me in #dri-devel on Freenode if you have questions.

@emersion
Copy link
Member

emersion commented May 6, 2021

Closing this as a duplicate of swaywm/wlroots#2506

@emersion emersion closed this as completed May 6, 2021
@manfred3000
Copy link
Author

manfred3000 commented May 6, 2021

I accidentally hit the "close issue" button trying to paste an output.
Here's the output of lspci:

00:00.0 Host bridge [0600]: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge [8086:a010]
	Subsystem: ASUSTeK Computer Inc. Eee PC 1015PX [1043:83ac]
	Flags: bus master, fast devsel, latency 0
	Capabilities: [e0] Vendor Specific Information: Len=08 <?>
	Kernel modules: intel_agp

00:02.0 VGA compatible controller [0300]: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller [8086:a011] (prog-if 00 [VGA controller])
	Subsystem: ASUSTeK Computer Inc. Eee PC 1015PX [1043:83ac]
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at f7e00000 (32-bit, non-prefetchable) [size=512K]
	I/O ports at dc00 [size=8]
	Memory at d0000000 (32-bit, prefetchable) [size=256M]
	Memory at f7d00000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
	Capabilities: [d0] Power Management version 2
	Kernel driver in use: i915
	Kernel modules: i915

00:02.1 Display controller [0380]: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller [8086:a012]
	Subsystem: ASUSTeK Computer Inc. Eee PC 1015PX [1043:83ac]
	Flags: bus master, fast devsel, latency 0
	Memory at f7e80000 (32-bit, non-prefetchable) [size=512K]
	Capabilities: [d0] Power Management version 2

The thing about these Atom processors is that they are GPU and CPU all in on:
https://ark.intel.com/content/www/us/en/ark/products/49491/intel-atom-processor-n455-512k-cache-1-66-ghz.html#tab-blade-1-0-4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Not working as intended
Development

No branches or pull requests

7 participants