libEGL.so.1

I’ve been putting together a custom root filesystem, and install nvidia binary tools using “apply_binaries.sh” in the l4t package.

While upgrading to l4t 32.2.1 from 28.2.1, I noticed that the L4T apply_binaries script no longer adds libEGL.so.1, so nvargus-daemon cannot run. The sample root filesystem provided with jetpack 4.2.2 contains libEGL.so.1; should I use the binary from that filesystem? is libEGL.so.1 provided by the Mesa package? Why is it no longer included in the L4T package?

Thank you for any information.

Hi,
We would like to suggest you always use Jetpack.

That doesn’t really answer my question at all. I suppose I could install to a system using Jetpack and pull off the binaries I need, but Jetpack isn’t really viable for taking a design to production. A rw root file system, for instance, precludes that, not to mention all of the software that jetson installs that is unnecessary for my application (chromium, libreoffice, etc…)

If you download the “driver package” (which is something JetPack does…JetPack is a front end, not an end application), then the “sudo ./apply_binaries.sh” step unpacks and installs all of the NVIDIA provided drivers and libraries into the “rootfs/” subdirectory. Now if a directory doesn’t already exist I’m not sure if unpack would work, but normally the sample rootfs would already be unpacked there (using sudo so permissions are preserved).

If you follow the log of apply_binaries.sh, then you can see which tar archive the particular library is being unpacked from and make it available without actually flashing. Just be sure you match the L4T revision and JetPack revision with what the actual original board flash is from (various revisions are often incompatible).

See these URLs for matching L4T revisions and JetPack revisions (you may need to go there, log in, and go there again since redirects don’t work):
[url]https://developer.nvidia.com/linux-tegra[/url]
[url]https://developer.nvidia.com/embedded/jetpack-archive[/url]

ok, so the problem is this: libEGL.so.1 is in nv_tegra/nvidia_drivers.tbz2 in the l4t 28.2.1 release, but is not present at all in the 32.2.1 release. Does that mean that binary is available in the “sample root file system” distribution? and also, is the source for that binary available in the “sample root filesystem source” release?

I couldn’t answer that. Usually anything in the Ubuntu sample rootfs (purely provided by Ubuntu) uses Nouveau or other non-hardware-accelerated software. If Ubuntu provides this, then it is unlikely to use the NVIDIA GPU. I am just guessing, but the libEGL of R28.2.1 could be valid on R32.2.1 if it is the same API/revision interface…but I don’t know.

I believe i’ve found the source I need; nvidia’s libglvnd seems to be the ticket:
github.com/NVIDIA/libglvnd

1 Like