You are not logged in.

#1 2024-03-09 04:03:37

tyson_the_13th
Member
Registered: 2022-03-31
Posts: 9

Sway & Hyprland : EGL_NOT_INITIALIZED : DRI2: failed to create screen

Machine : Alienware X15 R2 Laptop
CPU : Intel i9-12900H
GPU : integrated intel graphics and NVIDIA GeForce RTX 3080ti
Dual-booting in Windows 11 and Arch Linux

uname -a
Linux Arch 6.7.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Sun, 03 Mar 2024 00:30:36 +0000 x86_64 GNU/Linux

I was using nouveau driver to run sway on my laptop. I wanted to try out the proprietary drivers to run sway and hyprland. I have not succeeded in either of them and was faced with the error:

libEGL warning: egl: failed to create dri2 screen
00:00:00.015 [ERROR] [wlr] [EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "DRI2: failed to create screen"

I have set the kernel module parameters for nvidia_drm driver as suggested by arch wiki and I can see that the parameters have been correctly set

cat /sys/module/nvidia_drm/parameters/modeset
Y
cat /sys/module/nvidia_drm/parameters/fbdev
Y

I have changed my mkinitcpio.conf file with the required modules array

MODULES=( nvidia nvidia_modeset nvidia_uvm nvidia_drm )

and I have run

mkinitcpio -P

My laptop has an option for me to only use the external GPU so I have also set that:

lspci | grep 'VGA'
0000:01:00.0 VGA compatible controller: NVIDIA Corporation GA103M [GeForce RTX 3080 Ti Laptop GPU] (rev a1)

My sway running script looks as follows:

#!/bin/sh

# X11 setup unset
unset GTK_IM_MODULE
unset QT_IM_MODULE
unset GDK_BACKEND

# For Sway and Wayland support
export SDL_VIDEODRIVER=wayland
export _JAVA_AWT_WM_NONREPARENTING=1
export QT_QPA_PLATFORM=wayland
export XDG_CURRENT_DESKTOP=sway
export XDG_SESSION_TYPE=wayland
export XDG_SESSION_DESKTOP=sway
export MOZ_ENABLE_WAYLAND=1
export WLR_NO_HARDWARE_CURSORS=1
export WLR_DRM_DEVICES=/dev/dri/card0
exec sway --unsupported-gpu --verbose --debug

The logs I get when running sway:

00:00:00.000 [INFO] [sway/main.c:338] Sway version 1.9
00:00:00.000 [INFO] [sway/main.c:339] wlroots version 0.17.1
00:00:00.002 [INFO] [sway/main.c:120] Linux Arch 6.7.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Sun, 03 Mar 2024 00:30:36 +0000 x86_64 GNU/Linux
00:00:00.002 [INFO] [sway/main.c:136] Contents of /etc/os-release:
00:00:00.002 [INFO] [sway/main.c:120] NAME="Arch Linux"
00:00:00.002 [INFO] [sway/main.c:120] PRETTY_NAME="Arch Linux"
00:00:00.002 [INFO] [sway/main.c:120] ID=arch
00:00:00.002 [INFO] [sway/main.c:120] BUILD_ID=rolling
00:00:00.002 [INFO] [sway/main.c:120] ANSI_COLOR="38;2;23;147;209"
00:00:00.002 [INFO] [sway/main.c:120] HOME_URL="https://archlinux.org/"
00:00:00.002 [INFO] [sway/main.c:120] DOCUMENTATION_URL="https://wiki.archlinux.org/"
00:00:00.002 [INFO] [sway/main.c:120] SUPPORT_URL="https://bbs.archlinux.org/"
00:00:00.002 [INFO] [sway/main.c:120] BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
00:00:00.002 [INFO] [sway/main.c:120] PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
00:00:00.002 [INFO] [sway/main.c:120] LOGO=archlinux-logo
00:00:00.002 [INFO] [sway/main.c:108] LD_LIBRARY_PATH=
00:00:00.002 [INFO] [sway/main.c:108] LD_PRELOAD=
00:00:00.002 [INFO] [sway/main.c:108] SWAYSOCK=
00:00:00.002 [ERROR] [sway/main.c:62] !!! Proprietary Nvidia drivers are in use !!!
00:00:00.002 [INFO] [sway/main.c:376] Starting sway version 1.9
00:00:00.002 [DEBUG] [sway/server.c:129] Initializing Wayland server
00:00:00.002 [INFO] [wlr] [libseat] [libseat/libseat.c:73] Seat opened with backend 'seatd'
00:00:00.002 [INFO] [wlr] [libseat] [libseat/backend/seatd.c:212] Enabling seat
00:00:00.002 [INFO] [wlr] [backend/session/session.c:109] Successfully loaded libseat session
00:00:00.002 [INFO] [wlr] [backend/backend.c:213] Found 1 GPUs
00:00:00.002 [INFO] [wlr] [backend/drm/backend.c:202] Initializing DRM backend for /dev/dri/card0 (nvidia-drm)
00:00:00.002 [DEBUG] [wlr] [backend/drm/drm.c:110] Using atomic DRM interface
00:00:00.002 [DEBUG] [wlr] [backend/drm/drm.c:123] ADDFB2 modifiers supported
00:00:00.002 [INFO] [wlr] [backend/drm/drm.c:255] Found 4 DRM CRTCs
00:00:00.002 [INFO] [wlr] [backend/drm/drm.c:213] Found 12 DRM planes
00:00:00.003 [INFO] [wlr] [render/egl.c:206] Supported EGL client extensions: EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_explicit_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_EXT_platform_x11 EGL_KHR_platform_x11 EGL_EXT_platform_xcb EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless
00:00:00.004 [DEBUG] [wlr] [render/egl.c:487] Using EGL device /dev/dri/card0
libEGL warning: egl: failed to create dri2 screen
00:00:00.015 [ERROR] [wlr] [EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "DRI2: failed to create screen"
libEGL warning: egl: failed to create dri2 screen
00:00:00.017 [ERROR] [wlr] [EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "DRI2: failed to create screen"
libEGL warning: egl: failed to create dri2 screen
00:00:00.019 [ERROR] [wlr] [EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "DRI2: failed to create screen"
00:00:00.019 [ERROR] [wlr] [EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "eglInitialize"
00:00:00.019 [ERROR] [wlr] [render/egl.c:269] Failed to initialize EGL
00:00:00.019 [ERROR] [wlr] [render/egl.c:572] Failed to initialize EGL context
00:00:00.019 [ERROR] [wlr] [render/gles2/renderer.c:804] Could not initialize EGL
00:00:00.019 [DEBUG] [wlr] [render/wlr_renderer.c:343] Failed to create a GLES2 renderer. Skipping!
00:00:00.019 [ERROR] [wlr] [render/wlr_renderer.c:423] Could not initialize renderer
00:00:00.019 [ERROR] [sway/server.c:143] Failed to create renderer

My hyprland running script:

#!/bin/sh
cd ~
# X11 setup unset
unset GTK_IM_MODULE
unset QT_IM_MODULE
unset GDK_BACKEND

# For Sway and Wayland support
export GBM_BACKEND=nvidia-drm
export SDL_VIDEODRIVER=wayland
export _JAVA_AWT_WM_NONREPARENTING=1
export QT_QPA_PLATFORM=wayland
export XDG_CURRENT_DESKTOP=Hyprland
export XDG_SESSION_TYPE=wayland
export XDG_SESSION_DESKTOP=Hyprland
export MOZ_ENABLE_WAYLAND=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export LIBVA_DRIVER_NAME=nvidia
exec Hyprland

The crash report I get is:

--------------------------------------------
   Hyprland Crash Report
--------------------------------------------
All these computers...

Hyprland received signal 6 (Aborted)

Version: 024d4ddc74c9bd7945c4075c972575f20bc5b9bd
Tag: v0.36.0-78-g024d4ddc

System info:
	System name: Linux
	Node name: Arch
	Release: 6.7.8-arch1-1
	Version: #1 SMP PREEMPT_DYNAMIC Sun, 03 Mar 2024 00:30:36 +0000

GPU:
	0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA103M [GeForce RTX 3080 Ti Laptop GPU] [10de:2460] (rev a1) (prog-if 00 [VGA controller])


os-release:
	NAME="Arch Linux"
	PRETTY_NAME="Arch Linux"
	ID=arch
	BUILD_ID=rolling
	ANSI_COLOR="38;2;23;147;209"
	HOME_URL="https://archlinux.org/"
	DOCUMENTATION_URL="https://wiki.archlinux.org/"
	SUPPORT_URL="https://bbs.archlinux.org/"
	BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
	PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
	LOGO=archlinux-logo
	


Backtrace:
	#0 | Hyprland(_Z12getBacktracev+0x62) [0x6008ab46e442]
		getBacktrace()
		??:?
	#1 | Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0x6d3) [0x6008ab42ec93]
		CrashReporter::createAndSaveCrash(int)
		/usr/src/debug/hyprland-git/Hyprland/build/../src/debug/CrashReporter.cpp:106
	#2 | Hyprland(_Z25handleUnrecoverableSignali+0x48) [0x6008ab3c5758]
		handleUnrecoverableSignal(int)
		/usr/src/debug/hyprland-git/Hyprland/build/../src/Compositor.cpp:35
	#3 | /usr/lib/libc.so.6(+0x3c770) [0x74cfe0e5a770]
		??
		??:0
	#4 | /usr/lib/libc.so.6(+0x8d32c) [0x74cfe0eab32c]
		__static_initialization_and_destruction_0() [clone .lto_priv.18]
		/usr/src/debug/hyprland-git/Hyprland/build/../src/config/defaultConfig.hpp:5 (discriminator 1)
	#5 | /usr/lib/libc.so.6(gsignal+0x18) [0x74cfe0e5a6c8]
		??
		??:0
	#6 | /usr/lib/libc.so.6(abort+0xd7) [0x74cfe0e424b8]
		??
		??:0
	#7 | /usr/lib/libstdc++.so.6(+0x9ca6f) [0x74cfe109ca6f]
		std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned int>::pair<char const (&) [25], int>(char const (&) [25], int&&)
		/usr/include/c++/13.2.1/bits/stl_pair.h:317 (discriminator 1)
	#8 | /usr/lib/libstdc++.so.6(+0xb011c) [0x74cfe10b011c]
		std::char_traits<char>::copy(char*, char const*, unsigned long)
		/usr/include/c++/13.2.1/bits/char_traits.h:445
	#9 | /usr/lib/libstdc++.so.6(+0xb0189) [0x74cfe10b0189]
		CCompositor::startCompositor()
		/usr/src/debug/hyprland-git/Hyprland/build/../src/Compositor.cpp:578 (discriminator 1)
	#10 | /usr/lib/libstdc++.so.6(+0xb03ed) [0x74cfe10b03ed]
		std::basic_ofstream<char, std::char_traits<char> >::close()
		/usr/include/c++/13.2.1/fstream:1002
	#11 | Hyprland(+0x6d757) [0x6008ab386757]
		throwError(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
		/usr/src/debug/hyprland-git/Hyprland/build/../src/helpers/MiscFunctions.cpp:799 (discriminator 1)
	#12 | Hyprland(_ZN11CCompositor10initServerEv+0x737) [0x6008ab3cd097]
		CCompositor::initServer()
		/usr/src/debug/hyprland-git/Hyprland/build/../src/Compositor.cpp:139 (discriminator 2)
	#13 | Hyprland(main+0x79e) [0x6008ab3ae2fe]
		main
		/usr/src/debug/hyprland-git/Hyprland/build/../src/main.cpp:105 (discriminator 1)
	#14 | /usr/lib/libc.so.6(+0x25cd0) [0x74cfe0e43cd0]
		??
		??:0
	#15 | /usr/lib/libc.so.6(__libc_start_main+0x8a) [0x74cfe0e43d8a]
		??
		??:0
	#16 | Hyprland(_start+0x25) [0x6008ab3c26e5]
		_start
		??:?


Log tail:
[LOG] Hyprland PID: 28671
[LOG] ===== SYSTEM INFO: =====
[LOG] System name: Linux
[LOG] Node name: Arch
[LOG] Release: 6.7.8-arch1-1
[LOG] Version: #1 SMP PREEMPT_DYNAMIC Sun, 03 Mar 2024 00:30:36 +0000


[LOG] GPU information:
0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA103M [GeForce RTX 3080 Ti Laptop GPU] [10de:2460] (rev a1) (prog-if 00 [VGA controller])


[WARN] Warning: you're using an NVIDIA GPU. Make sure you follow the instructions on the wiki if anything is amiss.

[LOG] os-release:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

[LOG] ========================



[INFO] If you are crashing, or encounter any bugs, please consult https://wiki.hyprland.org/Crashes-and-Bugs/


[LOG] 
Current splash: Read the wiki.


[LOG] Creating the HookSystem!
[LOG] Creating the KeybindManager!
[LOG] [hookSystem] New hook event registered: configReloaded
[LOG] Creating the AnimationManager!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 21.68µs. Estimated average calc time: 0.04µs.
[LOG] Creating the ConfigManager!
[LOG] NOTE: further logs to stdout / logfile are disabled by default. Use debug:disable_logs and debug:enable_stdout_logs to override this.
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 14.74µs. Estimated average calc time: 0.04µs.
[LOG] Using config: /home/tyson/.config/hypr/hyprland.conf
[LOG] Creating the CHyprError!
[LOG] [hookSystem] New hook event registered: focusedMon
[LOG] [hookSystem] New hook event registered: preRender
[LOG] Creating the LayoutManager!
[LOG] [hookSystem] New hook event registered: preConfigReload
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 5.99µs. Estimated average calc time: 0.02µs.
[LOG] Using config: /home/tyson/.config/hypr/hyprland.conf
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 5.80µs. Estimated average calc time: 0.02µs.
[LOG] Disabling stdout logs! Check the log for further logs.
[EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "DRI2: failed to create screen"
[EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "DRI2: failed to create screen"
[EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "DRI2: failed to create screen"
[EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "eglInitialize"
[render/egl.c:268] Failed to initialize EGL
[render/egl.c:571] Failed to initialize EGL context
[render/gles2/renderer.c:509] Could not initialize EGL
[CRITICAL] m_sWLRRenderer was NULL! This usually means wlroots could not find a GPU or enountered some issues.
[CRITICAL] Critical error thrown: wlr_gles2_renderer_create_with_drm_fd() failed!

I am aware that both sway and hyprland do not support nvidia proprietary drivers; however, I have heard that several people have succeeded in their attempts to run sway and hyprland with the proprietary drivers.
I would like to ask for guidance on why I am getting the error about failing to initialize EGL.
What could I be missing?

Offline

#2 2024-03-09 04:17:39

Scimmia
Fellow
Registered: 2012-09-01
Posts: 13,729

Re: Sway & Hyprland : EGL_NOT_INITIALIZED : DRI2: failed to create screen

Have you read the Arch wiki pages for both WMs? They both address nvidia specifically.

Edit: ok, I see you've got some of that in the scripts. Have you tried without the experimental fbdev support?

Last edited by Scimmia (2024-03-09 04:21:55)

Online

#3 2024-03-09 04:47:53

tyson_the_13th
Member
Registered: 2022-03-31
Posts: 9

Re: Sway & Hyprland : EGL_NOT_INITIALIZED : DRI2: failed to create screen

Scimmia wrote:

Have you tried without the experimental fbdev support?

I have just tried it and the outputs (logs from sway and crash reports from hyprland) are identical to what I have posted.

Offline

Board footer

Powered by FluxBB