Error when running egl function was not loaded 0.0.1-d7d0451 2024-02-05 i cannot run on Fedora Silverblue or Bazzite on X11
Hello i got this error on nvidia GPU, X11 and gnome VRR
./servo
egl function was not loaded (thread main, at /home/runner/work/servo/servo/target/production/build/surfman-4d98480c7267738a/out/egl_bindings.rs:284)
./servo --version
Servo 0.0.1-d7d045
Thanks again for make servo a good engine !
Rapport d’informations du système
Détails du compte rendu
- Date de génération : 2024-02-06 15:50:38
Hardware Information:
- Modèle du matériel : MSI MS-7866
- Mémoire : 24,0 Gio
- Processeur : Intel® Core™ i7-4770K × 8
- Carte graphique : NVIDIA GeForce RTX™ 3060
- Capacité du disque : 3,4 To
Software Information:
- Version du micrologiciel : V1.5
- Nom du système d’exploitation : Fedora Linux 39.20240205.0 (Bazzite GNOME)
- Construction du système d’exploitation : (null)
- Type de système d’exploitation : 64 bits
- Version de GNOME : 45.3
- Système de fenêtrage : X11
- Version du noyau : Linux 6.6.14-202.fsync.fc39.x86_64
I'm interested in help to debug this if needed i got nvidia proprietary driver and its sooo present for linux gamers
But with manualy compiled in dev mode i got it working do you want me to give the binnary or the cargo.lock ?
So ./mach build --production does not work but ./mach build --debug does?
sudo dnf install mesa-libEGL-devel may help too.
./mach build --production
I try now to build in production and test
When i compile the binary from my computer its work with:
./mach build --production
/var/home/yodatak/Projets/public/servo/target/production/servo --version Servo 0.0.1-036bca6
file /var/home/yodatak/Projets/public/servo/target/production/servo
/var/home/yodatak/Projets/public/servo/target/production/servo: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=48a50c7686ee44f32ecaa5991f7d5acaa6d7ad53, for GNU/Linux 3.2.0, with debug_info, not stripped
ldd /var/home/yodatak/Projets/public/servo/target/production/servo
linux-vdso.so.1 (0x00007ffeb3bed000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f44f87fa000)
libgstbase-1.0.so.0 => /lib64/libgstbase-1.0.so.0 (0x00007f44f8776000)
libgstplayer-1.0.so.0 => /lib64/libgstplayer-1.0.so.0 (0x00007f44f8762000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f44f26b6000)
libgstvideo-1.0.so.0 => /lib64/libgstvideo-1.0.so.0 (0x00007f44f25ea000)
libgstreamer-1.0.so.0 => /lib64/libgstreamer-1.0.so.0 (0x00007f44f249a000)
libgstwebrtc-1.0.so.0 => /lib64/libgstwebrtc-1.0.so.0 (0x00007f44f874c000)
libgstsdp-1.0.so.0 => /lib64/libgstsdp-1.0.so.0 (0x00007f44f8731000)
libgstaudio-1.0.so.0 => /lib64/libgstaudio-1.0.so.0 (0x00007f44f241a000)
libgstapp-1.0.so.0 => /lib64/libgstapp-1.0.so.0 (0x00007f44f871c000)
libgstgl-1.0.so.0 => /lib64/libgstgl-1.0.so.0 (0x00007f44f2393000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f44f21bd000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f44f1e00000)
libz.so.1 => /lib64/libz.so.1 (0x00007f44f8700000)
libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f44f2168000)
libunwind-x86_64.so.8 => /lib64/libunwind-x86_64.so.8 (0x00007f44f214c000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f44f1cf2000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007f44f1bab000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f44f20fd000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f44f1adb000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f44f20d9000)
libm.so.6 => /lib64/libm.so.6 (0x00007f44f19fa000)
libc.so.6 => /lib64/libc.so.6 (0x00007f44f1818000)
/lib64/ld-linux-x86-64.so.2 (0x00007f44f8875000)
libffi.so.8 => /lib64/libffi.so.8 (0x00007f44f20c9000)
libgstplay-1.0.so.0 => /lib64/libgstplay-1.0.so.0 (0x00007f44f20a8000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f44f177d000)
liborc-0.4.so.0 => /lib64/liborc-0.4.so.0 (0x00007f44f16e7000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f44f20a1000)
libunwind.so.8 => /lib64/libunwind.so.8 (0x00007f44f2087000)
libdw.so.1 => /lib64/libdw.so.1 (0x00007f44f164b000)
libgstrtp-1.0.so.0 => /lib64/libgstrtp-1.0.so.0 (0x00007f44f2057000)
libgstpbutils-1.0.so.0 => /lib64/libgstpbutils-1.0.so.0 (0x00007f44f1608000)
libgsttag-1.0.so.0 => /lib64/libgsttag-1.0.so.0 (0x00007f44f15c7000)
libgstallocators-1.0.so.0 => /lib64/libgstallocators-1.0.so.0 (0x00007f44f15c0000)
libEGL.so.1 => /lib64/libEGL.so.1 (0x00007f44f15ae000)
libGLX.so.0 => /lib64/libGLX.so.0 (0x00007f44f157b000)
libwayland-client.so.0 => /lib64/libwayland-client.so.0 (0x00007f44f156a000)
libwayland-cursor.so.0 => /lib64/libwayland-cursor.so.0 (0x00007f44f1560000)
libwayland-egl.so.1 => /lib64/libwayland-egl.so.1 (0x00007f44f155b000)
libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f44f1556000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f44f152b000)
libgudev-1.0.so.0 => /lib64/libgudev-1.0.so.0 (0x00007f44f151c000)
libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f44f1505000)
libgbm.so.1 => /lib64/libgbm.so.1 (0x00007f44f14f4000)
libmount.so.1 => /lib64/libmount.so.1 (0x00007f44f14a3000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f44f1476000)
libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f44f1381000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f44f1360000)
libxml2.so.2 => /lib64/libxml2.so.2 (0x00007f44f11ec000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f44f11d8000)
libpng16.so.16 => /lib64/libpng16.so.16 (0x00007f44f119f000)
libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x00007f44f118f000)
libelf.so.1 => /lib64/libelf.so.1 (0x00007f44f1172000)
libzstd.so.1 => /lib64/libzstd.so.1 (0x00007f44f10b6000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f44f1083000)
libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007f44f0fcb000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007f44f0fb5000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f44f0faf000)
libudev.so.1 => /lib64/libudev.so.1 (0x00007f44f0f77000)
libwayland-server.so.0 => /lib64/libwayland-server.so.0 (0x00007f44f0f60000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f44f0f35000)
libxcb-randr.so.0 => /lib64/libxcb-randr.so.0 (0x00007f44f0f21000)
libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f44f0ee5000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f44f0edb000)
liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f44f0eb9000)
libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x00007f44f0e96000)
and
./mach build --debug
i got
var/home/yodatak/Projets/public/servo/target/debug/servo --version
Servo 0.0.1-036bca6
file /var/home/yodatak/Projets/public/servo/target/debug/servo
/var/home/yodatak/Projets/public/servo/target/debug/servo: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=af86ace88f1df4c8e97ed265652cf5e04fe35bb2, for GNU/Linux 3.2.0, with debug_info, not stripped
ldd /var/home/yodatak/Projets/public/servo/target/debug/servo
linux-vdso.so.1 (0x00007ffd57d49000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f6b11da0000)
libgstbase-1.0.so.0 => /lib64/libgstbase-1.0.so.0 (0x00007f6b11d1c000)
libgstplayer-1.0.so.0 => /lib64/libgstplayer-1.0.so.0 (0x00007f6b1de87000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f6b11bd2000)
libgstvideo-1.0.so.0 => /lib64/libgstvideo-1.0.so.0 (0x00007f6b11b06000)
libgstreamer-1.0.so.0 => /lib64/libgstreamer-1.0.so.0 (0x00007f6b119b6000)
libgstwebrtc-1.0.so.0 => /lib64/libgstwebrtc-1.0.so.0 (0x00007f6b1de71000)
libgstsdp-1.0.so.0 => /lib64/libgstsdp-1.0.so.0 (0x00007f6b1de56000)
libgstaudio-1.0.so.0 => /lib64/libgstaudio-1.0.so.0 (0x00007f6b11936000)
libgstapp-1.0.so.0 => /lib64/libgstapp-1.0.so.0 (0x00007f6b11921000)
libgstgl-1.0.so.0 => /lib64/libgstgl-1.0.so.0 (0x00007f6b1189a000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f6b116c4000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f6b11400000)
libz.so.1 => /lib64/libz.so.1 (0x00007f6b116aa000)
libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f6b11655000)
libunwind-x86_64.so.8 => /lib64/libunwind-x86_64.so.8 (0x00007f6b113e4000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f6b112d6000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007f6b1118f000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f6b11140000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f6b11070000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f6b1104c000)
libm.so.6 => /lib64/libm.so.6 (0x00007f6b10f6b000)
libc.so.6 => /lib64/libc.so.6 (0x00007f6b10d89000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6b1deb6000)
libffi.so.8 => /lib64/libffi.so.8 (0x00007f6b10d79000)
libgstplay-1.0.so.0 => /lib64/libgstplay-1.0.so.0 (0x00007f6b10d58000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f6b10cbd000)
liborc-0.4.so.0 => /lib64/liborc-0.4.so.0 (0x00007f6b10c27000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f6b1de49000)
libunwind.so.8 => /lib64/libunwind.so.8 (0x00007f6b10c0d000)
libdw.so.1 => /lib64/libdw.so.1 (0x00007f6b10b71000)
libgstrtp-1.0.so.0 => /lib64/libgstrtp-1.0.so.0 (0x00007f6b10b3f000)
libgstpbutils-1.0.so.0 => /lib64/libgstpbutils-1.0.so.0 (0x00007f6b10afc000)
libgsttag-1.0.so.0 => /lib64/libgsttag-1.0.so.0 (0x00007f6b10abb000)
libgstallocators-1.0.so.0 => /lib64/libgstallocators-1.0.so.0 (0x00007f6b10ab4000)
libEGL.so.1 => /lib64/libEGL.so.1 (0x00007f6b10aa2000)
libGLX.so.0 => /lib64/libGLX.so.0 (0x00007f6b10a6d000)
libwayland-client.so.0 => /lib64/libwayland-client.so.0 (0x00007f6b10a5c000)
libwayland-cursor.so.0 => /lib64/libwayland-cursor.so.0 (0x00007f6b10a52000)
libwayland-egl.so.1 => /lib64/libwayland-egl.so.1 (0x00007f6b10a4d000)
libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f6b10a48000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f6b10a1d000)
libgudev-1.0.so.0 => /lib64/libgudev-1.0.so.0 (0x00007f6b10a0e000)
libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f6b109f7000)
libgbm.so.1 => /lib64/libgbm.so.1 (0x00007f6b109e6000)
libmount.so.1 => /lib64/libmount.so.1 (0x00007f6b10995000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f6b10968000)
libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f6b10873000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f6b10852000)
libxml2.so.2 => /lib64/libxml2.so.2 (0x00007f6b106de000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f6b106ca000)
libpng16.so.16 => /lib64/libpng16.so.16 (0x00007f6b10691000)
libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x00007f6b10681000)
libelf.so.1 => /lib64/libelf.so.1 (0x00007f6b10664000)
libzstd.so.1 => /lib64/libzstd.so.1 (0x00007f6b105a8000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f6b10575000)
libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007f6b104bd000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007f6b104a7000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f6b104a1000)
libudev.so.1 => /lib64/libudev.so.1 (0x00007f6b10469000)
libwayland-server.so.0 => /lib64/libwayland-server.so.0 (0x00007f6b10452000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f6b10427000)
libxcb-randr.so.0 => /lib64/libxcb-randr.so.0 (0x00007f6b10413000)
libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f6b103d7000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f6b103cd000)
liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f6b103ab000)
libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x00007f6b10388000)
But it don't work if i run the servo already compiled from your website it failed
file /var/home/yodatak/Téléchargements/servo-latest/servo/servo
/var/home/yodatak/Téléchargements/servo-latest/servo/servo: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a5e87ee96ba3cb81d0acbcd2c40563d99e9e6d5f, for GNU/Linux 3.2.0, with debug_info, not stripped
./servo
egl function was not loaded (thread main, at /home/runner/work/servo/servo/target/production/build/surfman-4d98480c7267738a/out/egl_bindings.rs:284)
ldd /var/home/yodatak/Téléchargements/servo-latest/servo/servo
linux-vdso.so.1 (0x00007fffe27fd000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fa1ed545000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fa1e7200000)
libz.so.1 => /lib64/libz.so.1 (0x00007fa1e75cd000)
libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007fa1e7578000)
libunwind-x86_64.so.8 => /lib64/libunwind-x86_64.so.8 (0x00007fa1e755c000)
libunwind.so.8 => /lib64/libunwind.so.8 (0x00007fa1e7542000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007fa1e70f2000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007fa1e6fab000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007fa1e74f3000)
librt.so.1 => /lib64/librt.so.1 (0x00007fa1ed53e000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa1ed539000)
libm.so.6 => /lib64/libm.so.6 (0x00007fa1e6eca000)
libc.so.6 => /lib64/libc.so.6 (0x00007fa1e6ce8000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa1ed54c000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fa1e74cf000)
libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007fa1e6bf5000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fa1e6aab000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007fa1e69db000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007fa1e74ac000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007fa1e7481000)
libxml2.so.2 => /lib64/libxml2.so.2 (0x00007fa1e6867000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007fa1e7477000)
liblz4.so.1 => /lib64/liblz4.so.1 (0x00007fa1e7455000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fa1e6832000)
libzstd.so.1 => /lib64/libzstd.so.1 (0x00007fa1e6776000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007fa1e66db000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fa1e66c7000)
libpng16.so.16 => /lib64/libpng16.so.16 (0x00007fa1e668e000)
libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x00007fa1e6680000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007fa1e6678000)
libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x00007fa1e6655000)
It seem to be have some difference to libs maybe that why ?
Can you try latest servo binary from website?
Hey, tried using the latest binary that is on the website. Am getting the same issue. I have an NVIDIA GTX1650, am on Ubuntu 22.04 and my driver is "nvidia-driver-535 (proprietary)".
@TerranFenrir is the package libegl1-mesa-dev already installed on your system? If not can you please try after installing it via apt?
@TerranFenrir is the package
libegl1-mesa-devalready installed on your system? If not can you please try after installing it via apt?
Ok, so here is what I did. Before commenting here, I also tried to build servo on my device. I followed all the steps and it installed quite a lot of stuff. Unfortunately, it didn't exactly work and I was too tired to debug it and just gave up on this. After reading your reply, I did as you asked. Apt said that libegl1-mesa-dev was already installed. But then, I still ran the binary downloaded from the website. Weirdly, it ran without outputting any errors. The only problem that I'm facing now is that it isn't loading websites properly (just getting the bare html, white screen thing with unformatted text).
So to summarize, the binary on the website ran on my device but I'm not sure if it worked because of installing the package that you mentioned (as it already had been installed) or if it was because I ran through the build process. Maybe this package got installed then?
Just like I expected, we are installing all right things when mach bootstrap.
@TerranFenrir is the package
libegl1-mesa-devalready installed on your system? If not can you please try after installing it via apt?
I can confirm that the binary available on the website ran once I installed this package on Linux Mint.
Hello in fedora i have to install mesa-libEGL-devel but it not dispo in my distro why should i need it ? we should add it to bootstrap command if needed
When i use silverblue and create a fedora with mesa-libEGL-devel installed it work ( we should make it a requirement to test the actual binary ) for silverblue we shoud run it on a toolbox on mesa-libEGL-devel but it weird that a runtime dependency
Maybe some flatpak build could solve the issue ? My servo build on my system don't need the mesa-libEGL-devel at runtime