# Need help with nvidia-drivers and libEGL

## moonchilde

On my system libEGL points to the mesa version instead of the nvidia one. I'm also not sure but mesa might have taken over some of the other links as well when it comes to GL stuff.

When I run eglgears_x11 I get a black window.

How do I fix this issue? Did I install something wrong? Shouldn't emerging the nvidia-drivers package create the links?

/usr/lib64 ls -al libGL*

```

lrwxrwxrwx 1 root root     18 Dec 15 23:47 libGLESv2.so -> libGLESv2.so.2.0.0

lrwxrwxrwx 1 root root     18 Dec 15 23:47 libGLESv2.so.2 -> libGLESv2.so.2.0.0

-rwxr-xr-x 1 root root  30304 Dec 15 23:47 libGLESv2.so.2.0.0

lrwxrwxrwx 1 root root     19 Nov 10 19:11 libGLEWmx.so -> libGLEWmx.so.1.13.0

lrwxrwxrwx 1 root root     19 Nov 10 19:11 libGLEWmx.so.1.13 -> libGLEWmx.so.1.13.0

-rwxr-xr-x 1 root root 526192 Nov 10 19:11 libGLEWmx.so.1.13.0

lrwxrwxrwx 1 root root     17 Nov 10 19:11 libGLEW.so -> libGLEW.so.1.13.0

lrwxrwxrwx 1 root root     17 Nov 10 19:11 libGLEW.so.1.13 -> libGLEW.so.1.13.0

-rwxr-xr-x 1 root root 595832 Nov 10 19:11 libGLEW.so.1.13.0

lrwxrwxrwx 1 root root     14 Dec 15 23:47 libGL.so -> libGL.so.1.2.0

lrwxrwxrwx 1 root root     14 Dec 15 23:47 libGL.so.1 -> libGL.so.1.2.0

-rwxr-xr-x 1 root root 598024 Dec 15 23:47 libGL.so.1.2.0

lrwxrwxrwx 1 root root     15 Oct 29 23:10 libGLU.so -> libGLU.so.1.3.1

lrwxrwxrwx 1 root root     15 Oct 29 23:10 libGLU.so.1 -> libGLU.so.1.3.1

-rwxr-xr-x 1 root root 522776 Oct 29 23:10 libGLU.so.1.3.1

```

/usr/lib64 ls -al libEGL*

```

lrwxrwxrwx 1 root root     15 Dec 15 23:47 libEGL.so -> libEGL.so.1.0.0

lrwxrwxrwx 1 root root     15 Dec 15 23:47 libEGL.so.1 -> libEGL.so.1.0.0

-rwxr-xr-x 1 root root 164840 Dec 15 23:47 libEGL.so.1.0.0

```

Last edited by moonchilde on Wed Dec 16, 2015 8:57 am; edited 1 time in total

----------

## Roman_Gruber

```
eselect opengl show

```

may i ask in which package that eglgears.... thing is?

----------

## moonchilde

Should be mesa-progs with egl flag

Edit: I already eselect nvidia opengl, and it shows as such when I use the show command.

Edit: Updated original post.

----------

## Roman_Gruber

Hi, did i miss something?

```
When I run eglgears_x11 I get a black window. 
```

Where is this package eglgears_x11 located?

```
ASUS-G75VW roman # emerge -s nvidia-drivers

  

[ Results for search key : nvidia-drivers ]

Searching...

*  x11-drivers/nvidia-drivers

      Latest version available: 358.16-r1

      Latest version installed: 358.16-r1

      Size of files: 75.541 KiB

      Homepage:      http://www.nvidia.com/

      Description:   NVIDIA Accelerated Graphics Driver

      License:       GPL-2 NVIDIA-r2

[ Applications found : 1 ]

ASUS-G75VW roman # equery u nvidia-drivers

[ Legend : U - final flag setting for installation]

[        : I - package is installed with flag     ]

[ Colors : set, unset                             ]

 * Found these USE flags for x11-drivers/nvidia-drivers-358.16-r1:

 U I

 + + X          : Install the X.org driver, OpenGL libraries, XvMC libraries, and VDPAU libraries

 + + acpi       : Add support for Advanced Configuration and Power Interface

 + + gtk2       : Install nvidia-settings with support for GTK+ 2

 + + gtk3       : Install nvidia-settings with support for GTK+ 3

 + + kms        : Enable support for kernel mode setting (KMS)

 + + multilib   : On 64bit systems, if you want to be able to compile 32bit and 64bit binaries

 - - pax_kernel : PaX patches from the PaX project

 + + tools      : Install additional tools such as nvidia-settings

 + + uvm        : Install the Unified Memory kernel module (nvidia-uvm) for sharing memory between CPU and GPU in CUDA programs

ASUS-G75VW roman # equery y nvidia-drivers

Keywords for x11-drivers/nvidia-drivers:

                |                                 | u       |  

                | a a   a         n   p r     s   | n       |  

                | l m   r h i m m i   p i s   p   | u s     | r

                | p d a m p a 6 i o p c s 3   a x | s l     | e

                | h 6 r 6 p 6 8 p s p 6 c 9 s r 8 | e o     | p

                | a 4 m 4 a 4 k s 2 c 4 v 0 h c 6 | d t     | o

----------------+---------------------------------+---------+-------

 [M]96.43.23-r1 | * + * * * * * * * * * * * * * + | o 0/96  | gentoo

----------------+---------------------------------+---------+-------

[M]173.14.39-r1 | * + * * * * * * * * * * * * * + | o 0/173 | gentoo

----------------+---------------------------------+---------+-------

     304.128-r1 | * + * * * * * * * * * * * * * + | # 0/304 | gentoo

     304.131    | * + * * * * * * * * * * * * * + | o       | gentoo

----------------+---------------------------------+---------+-------

      340.93-r1 | * + * * * * * * * * * * * * * + | # 0/340 | gentoo

      340.96    | * + * * * * * * * * * * * * * + | o       | gentoo

----------------+---------------------------------+---------+-------

      346.96-r1 | * + * * * * * * * * * * * * * + | o 0/346 | gentoo

----------------+---------------------------------+---------+-------

      352.55    | * + * * * * * * * * * * * * * + | # 0/352 | gentoo

      352.63    | * + * * * * * * * * * * * * * + | o       | gentoo

----------------+---------------------------------+---------+-------

      355.11-r2 | * + * * * * * * * * * * * * * + | o 0/355 | gentoo

----------------+---------------------------------+---------+-------

   [I]358.16-r1 | * ~ * * * * * * * * * * * * * ~ | o 0/358 | gentoo

ASUS-G75VW roman # exit

roman@ASUS-G75VW ~ $ 

```

As you can seee, i run amd64, and my git tree was updated a few hours ago.

my box does not show any results when i hit the autotab completion with the three letters egl, regardless as user root and as my x-user roman.

Also there is no egl useflag available ... 

I am asking becuase I wanted to try it too, to see if it causes a black screen, but i do not have that "piece" of software in the first place.

Bc i have some issues with acpi, i checked nvidia homepage and they point out to use the software version which is shown above, so offically from nvidia side, you should use as of 2 days ago, the version i use anyway.

Thanks.

afaik only pax is missing and thats some kernel hack which i definitely do not want or need as of now.

--

```
ls -alh /usr/lib64/libEGL*

lrwxrwxrwx 1 root root   15 Dez 16 14:43 /usr/lib64/libEGL.so -> libEGL.so.1.0.0

lrwxrwxrwx 1 root root   15 Dez 16 14:43 /usr/lib64/libEGL.so.1 -> libEGL.so.1.0.0

-rwxr-xr-x 1 root root 157K Dez 16 14:43 /usr/lib64/libEGL.so.1.0.0

ASUS-G75VW roman # equery u mesa

[ Legend : U - final flag setting for installation]

[        : I - package is installed with flag     ]

[ Colors : set, unset                             ]

 * Found these USE flags for media-libs/mesa-11.1.0:

 U I

 + + abi_x86_32           : 32-bit (x86) libraries

 - - bindist              : Disable patent-encumbered ARB_texture_float, EXT_texture_shared_exponent, and EXT_packed_float extensions.

 + + classic              : Build drivers based on the classic architecture.

 - - d3d9                 : Enable Direct 3D9 API through Nine state tracker. Can be used together with patched wine.

 - - debug                : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see

                            https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces

 + + dri3                 : Enable DRI3 support.

 + + egl                  : Enable EGL support.

 + + gallium              : Build drivers based on Gallium3D, the new architecture for 3D graphics drivers.

 + + gbm                  : Enable the Graphics Buffer Manager for EGL on KMS.

 - - gles1                : Enable GLESv1 support.

 - - gles2                : Enable GLESv2 support.

 - - llvm                 : Enable LLVM backend for Gallium3D.

 + + nptl                 : Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually)

 - - opencl               : Enable the Clover Gallium OpenCL state tracker.

 - - openmax              : Enable OpenMAX video decode/encode acceleration for Gallium3D.

 + + osmesa               : Build the Mesa library for off-screen rendering.

 - - pax_kernel           : Enable if the user plans to run the package under a pax enabled hardened kernel

 - - pic                  : disable optimized assembly code that is not PIC friendly

 + + udev                 : Enable virtual/udev integration (device discovery, power and storage device support, etc)

 + + vaapi                : Enable Video Acceleration API for hardware decoding

 + + vdpau                : Enable the VDPAU acceleration interface for the Gallium3D Video Layer.

 - - video_cards_i915     : VIDEO_CARDS setting to build driver for Intel i915 video cards

 - - video_cards_i965     : VIDEO_CARDS setting to build driver for Intel i965 video cards

 - - video_cards_ilo      : VIDEO_CARDS setting to build unofficial gallium driver for Intel gen6/7 video cards

 - - video_cards_intel    : VIDEO_CARDS setting to build driver for Intel video cards

 - - video_cards_nouveau  : VIDEO_CARDS setting to build reverse-engineered driver for nvidia cards

 - - video_cards_r100     : VIDEO_CARDS setting to build only r100 based chips code for radeon

 - - video_cards_r200     : VIDEO_CARDS setting to build only r200 based chips code for radeon

 - - video_cards_r300     : VIDEO_CARDS setting to build only r300, r400 and r500 based chips code for radeon

 - - video_cards_r600     : VIDEO_CARDS setting to build only r600, r700, Evergreen and Northern Islands based chips code for radeon

 - - video_cards_radeon   : VIDEO_CARDS setting to build driver for ATI radeon video cards

 - - video_cards_radeonsi : VIDEO_CARDS setting to build only Southern Islands based chips code for radeon

 - - video_cards_vmware   : VIDEO_CARDS setting to build driver for vmware video cards

 - - wayland              : Enable support for dev-libs/wayland

 - - xa                   : Enable the XA (X Acceleration) API for Gallium3D.

 - - xvmc                 : Enable the XvMC acceleration interface for the Gallium3D Video Layer.

```

I think your egl issue is mesa related.

You may rebuild mesa.

----------

## Roman_Gruber

https://devtalk.nvidia.com/default/topic/873253/355-11-driver-kwin_x11-fails-to-enable-compositing-with-egl/?offset=7

 *Quote:*   

> 
> 
> 355.11 driver - kwin_x11 fails to enable compositing with EG
> 
>  Same exact issue here since 355.11. One weird thing is that the eglgears_x11 sample from mesa-demos creates a black/empty window and while no error is displayed, nothing gets rendered in it. 
> ...

 

 *Quote:*   

> Comopositing and desktop effects don't work for me with latest Nvidia beta (358.09) when I choose EGL instead of GLX in KDE settings (kwin-x11, KDE Plasma 5.4.2). 

 

That should answer your issue ...

--

i suspect this package to provide those egl "tools" which i did not builds.

```
equery u mesa-progs

[ Legend : U - final flag setting for installation]

[        : I - package is installed with flag     ]

[ Colors : set, unset                             ]

 * Found these USE flags for x11-apps/mesa-progs-8.3.0:

 U I

 - - egl   : Build EGL utilities

 - - gles2 : Build OpenGL ES 2 utilities

```

----------

## moonchilde

Yes mesa-progs with the egl flag is what you use to build eglgears_x11. Could you try it for me?

I'm also using the latest nvidia-drivers package.

----------

## Roman_Gruber

```
tail -1 /etc/portage/package.use

x11-apps/mesa-progs egl
```

```
>>> Installing (1 of 1) x11-apps/mesa-progs-8.3.0::gentoo

..

>>> /usr/bin/eglgears_x11

>>> /usr/bin/eglinfo

..

>>> Regenerating /etc/ld.so.cache...

>>> Original instance of package unmerged safely.

>>> x11-apps/mesa-progs-8.3.0 merged.

>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * Regenerating GNU info directory index...

 * Processed 191 info files.

!!! existing preserved libs:

>>> package: dev-lang/python-3.4.3-r5

 *  - /usr/lib64/libpython3.4.so.1.0

 *      used by /usr/lib64/libreoffice/program/libpythonloaderlo.so (app-office/libreoffice-5.0.3.2)

 *      used by /usr/lib64/libreoffice/program/libpyuno.so (app-office/libreoffice-5.0.3.2)

Use emerge @preserved-rebuild to rebuild packages using these libraries

ASUS-G75VW roman # exit

roman@ASUS-G75VW ~ $ egl

eglgears_x11  eglinfo       

roman@ASUS-G75VW ~ $ eglgears_x11 

EGL_VERSION = 1.4

^C

roman@ASUS-G75VW ~ $ eglgears_x11 

EGL_VERSION = 1.4

^C

roman@ASUS-G75VW ~ $ eglinfo 

EGL API version: 1.4

EGL vendor string: NVIDIA

EGL version string: 1.4

EGL client APIs: OpenGL_ES OpenGL

EGL extensions string:

    EGL_EXT_buffer_age EGL_EXT_create_context_robustness

    EGL_EXT_output_base EGL_EXT_stream_acquire_mode

    EGL_IMG_context_priority EGL_KHR_config_attribs

    EGL_KHR_create_context_no_error EGL_KHR_create_context

    EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses

    EGL_KHR_partial_update EGL_KHR_swap_buffers_with_damage

    EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image

    EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base

    EGL_KHR_image_pixmap EGL_KHR_reusable_sync EGL_KHR_stream

    EGL_KHR_stream_consumer_gltexture EGL_KHR_stream_cross_process_fd

    EGL_KHR_stream_fifo EGL_KHR_stream_producer_eglsurface

    EGL_KHR_surfaceless_context EGL_NV_post_sub_buffer

    EGL_NV_stream_metadata EGL_NV_stream_remote EGL_NV_stream_socket

    EGL_NV_stream_socket_unix EGL_NV_stream_sync EGL_NV_stream_fifo_next

    EGL_NV_stream_consumer_gltexture_yuv EGL_NV_sync EGL_NV_system_time

    EGL_NV_output_drm_atomic

EGL client extensions string:

    EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions

    EGL_EXT_platform_base EGL_EXT_platform_x11 EGL_EXT_platform_device

    EGL_EXT_device_base

Configurations:

     bf lv colorbuffer dp st  ms    vis   cav bi  renderable  supported

  id sz  l  r  g  b  a th cl ns b    id   eat nd gl es es2 vg surfaces 

---------------------------------------------------------------------

0x01 32  0  8  8  8  8 24  8  0 0 0x24--         y  y  y     win,pb,pix

0x02 32  0  8  8  8  8 24  8  0 0 0x6f--         y  y  y     win,pb,pix

0x03 32  0  8  8  8  8 24  8  0 0 0xba--         y  y  y     win,pb,pix

0x04 32  0  8  8  8  8 24  0  0 0 0x28--         y  y  y     win,pb,pix

0x05 32  0  8  8  8  8 24  0  0 0 0x73--         y  y  y     win,pb,pix

0x06 32  0  8  8  8  8 24  0  0 0 0xbe--         y  y  y     win,pb,pix

0x07 32  0  8  8  8  8  0  0  0 0 0x2c--         y  y  y     win,pb,pix

0x08 32  0  8  8  8  8  0  0  0 0 0x77--         y  y  y     win,pb,pix

0x09 32  0  8  8  8  8  0  0  0 0 0xc2--         y  y  y     win,pb,pix

0x0a 32  0  8  8  8  8 24  8  2 1 0x38--         y  y  y     win,pb

0x0b 32  0  8  8  8  8 24  8  2 1 0x83--         y  y  y     win,pb

0x0c 32  0  8  8  8  8 24  8  2 1 0xce--         y  y  y     win,pb

0x0d 32  0  8  8  8  8 24  0  2 1 0x30--         y  y  y     win,pb

0x0e 32  0  8  8  8  8 24  0  2 1 0x7b--         y  y  y     win,pb

0x0f 32  0  8  8  8  8 24  0  2 1 0xc6--         y  y  y     win,pb

0x10 32  0  8  8  8  8 24  8  4 1 0x3a--         y  y  y     win,pb

0x11 32  0  8  8  8  8 24  8  4 1 0x85--         y  y  y     win,pb

0x12 32  0  8  8  8  8 24  8  4 1 0xd0--         y  y  y     win,pb

0x13 32  0  8  8  8  8 24  0  4 1 0x32--         y  y  y     win,pb

0x14 32  0  8  8  8  8 24  0  4 1 0x7d--         y  y  y     win,pb

0x15 32  0  8  8  8  8 24  0  4 1 0xc8--         y  y  y     win,pb

0x16 32  0  8  8  8  8 24  8  8 1 0x44--         y  y  y     win,pb

0x17 32  0  8  8  8  8 24  8  8 1 0x8f--         y  y  y     win,pb

0x18 32  0  8  8  8  8 24  8  8 1 0x5c--         y  y  y     win,pb

0x19 32  0  8  8  8  8 24  8  8 1 0xa7--         y  y  y     win,pb

0x1a 32  0  8  8  8  8 24  8  8 1 0xda--         y  y  y     win,pb

0x1b 32  0  8  8  8  8 24  8  8 1 0xf2--         y  y  y     win,pb

0x1c 32  0  8  8  8  8 24  0  8 1 0x40--         y  y  y     win,pb

0x1d 32  0  8  8  8  8 24  0  8 1 0x8b--         y  y  y     win,pb

0x1e 32  0  8  8  8  8 24  0  8 1 0x50--         y  y  y     win,pb

0x1f 32  0  8  8  8  8 24  0  8 1 0x9b--         y  y  y     win,pb

0x20 32  0  8  8  8  8 24  0  8 1 0xd6--         y  y  y     win,pb

0x21 32  0  8  8  8  8 24  0  8 1 0xe6--         y  y  y     win,pb

0x22 32  0  8  8  8  8 24  8 16 1 0x4c--         y  y  y     win,pb

0x23 32  0  8  8  8  8 24  8 16 1 0x97--         y  y  y     win,pb

0x24 32  0  8  8  8  8 24  8 16 1 0x5f--         y  y  y     win,pb

0x25 32  0  8  8  8  8 24  8 16 1 0xaa--         y  y  y     win,pb

0x26 32  0  8  8  8  8 24  8 16 1 0x60--         y  y  y     win,pb

0x27 32  0  8  8  8  8 24  8 16 1 0xab--         y  y  y     win,pb

0x28 32  0  8  8  8  8 24  8 16 1 0xe2--         y  y  y     win,pb

0x29 32  0  8  8  8  8 24  8 16 1 0xf5--         y  y  y     win,pb

0x2a 32  0  8  8  8  8 24  8 16 1 0xf6--         y  y  y     win,pb

0x2b 32  0  8  8  8  8 24  0 16 1 0x48--         y  y  y     win,pb

0x2c 32  0  8  8  8  8 24  0 16 1 0x93--         y  y  y     win,pb

0x2d 32  0  8  8  8  8 24  0 16 1 0x53--         y  y  y     win,pb

0x2e 32  0  8  8  8  8 24  0 16 1 0x9e--         y  y  y     win,pb

0x2f 32  0  8  8  8  8 24  0 16 1 0x54--         y  y  y     win,pb

0x30 32  0  8  8  8  8 24  0 16 1 0x9f--         y  y  y     win,pb

0x31 32  0  8  8  8  8 24  0 16 1 0xde--         y  y  y     win,pb

0x32 32  0  8  8  8  8 24  0 16 1 0xe9--         y  y  y     win,pb

0x33 32  0  8  8  8  8 24  0 16 1 0xea--         y  y  y     win,pb

0x34 32  0  8  8  8  8 24  8 32 1 0x6c--         y  y  y     win,pb

0x35 32  0  8  8  8  8 24  8 32 1 0xb7--         y  y  y     win,pb

0x36 32  0  8  8  8  8 24  8 32 1 0x102--         y  y  y     win,pb

0x37 32  0  8  8  8  8 24  0 32 1 0x68--         y  y  y     win,pb

0x38 32  0  8  8  8  8 24  0 32 1 0xb3--         y  y  y     win,pb

0x39 32  0  8  8  8  8 24  0 32 1 0xfe--         y  y  y     win,pb

0x3a 24  0  8  8  8  0 24  8  0 0 0x21--         y  y  y     win,pb,pix

0x3b 24  0  8  8  8  0 24  8  0 0 0x22--         y  y  y     win,pb,pix

0x3c 24  0  8  8  8  0 24  8  0 0 0x23--         y  y  y     win,pb,pix

0x3d 24  0  8  8  8  0 24  0  0 0 0x27--         y  y  y     win,pb,pix

0x3e 24  0  8  8  8  0 24  0  0 0 0x72--         y  y  y     win,pb,pix

0x3f 24  0  8  8  8  0 24  0  0 0 0xbd--         y  y  y     win,pb,pix

0x40 24  0  8  8  8  0  0  0  0 0 0x2b--         y  y  y     win,pb,pix

0x41 24  0  8  8  8  0  0  0  0 0 0x76--         y  y  y     win,pb,pix

0x42 24  0  8  8  8  0  0  0  0 0 0xc1--         y  y  y     win,pb,pix

0x43 24  0  8  8  8  0 24  8  2 1 0x37--         y  y  y     win,pb

0x44 24  0  8  8  8  0 24  8  2 1 0x82--         y  y  y     win,pb

0x45 24  0  8  8  8  0 24  8  2 1 0xcd--         y  y  y     win,pb

0x46 24  0  8  8  8  0 24  0  2 1 0x2f--         y  y  y     win,pb

0x47 24  0  8  8  8  0 24  0  2 1 0x7a--         y  y  y     win,pb

0x48 24  0  8  8  8  0 24  0  2 1 0xc5--         y  y  y     win,pb

0x49 24  0  8  8  8  0 24  8  4 1 0x39--         y  y  y     win,pb

0x4a 24  0  8  8  8  0 24  8  4 1 0x84--         y  y  y     win,pb

0x4b 24  0  8  8  8  0 24  8  4 1 0xcf--         y  y  y     win,pb

0x4c 24  0  8  8  8  0 24  0  4 1 0x31--         y  y  y     win,pb

0x4d 24  0  8  8  8  0 24  0  4 1 0x7c--         y  y  y     win,pb

0x4e 24  0  8  8  8  0 24  0  4 1 0xc7--         y  y  y     win,pb

0x4f 24  0  8  8  8  0 24  8  8 1 0x43--         y  y  y     win,pb

0x50 24  0  8  8  8  0 24  8  8 1 0x8e--         y  y  y     win,pb

0x51 24  0  8  8  8  0 24  8  8 1 0x5b--         y  y  y     win,pb

0x52 24  0  8  8  8  0 24  8  8 1 0xa6--         y  y  y     win,pb

0x53 24  0  8  8  8  0 24  8  8 1 0xd9--         y  y  y     win,pb

0x54 24  0  8  8  8  0 24  8  8 1 0xf1--         y  y  y     win,pb

0x55 24  0  8  8  8  0 24  0  8 1 0x3f--         y  y  y     win,pb

0x56 24  0  8  8  8  0 24  0  8 1 0x8a--         y  y  y     win,pb

0x57 24  0  8  8  8  0 24  0  8 1 0x4f--         y  y  y     win,pb

0x58 24  0  8  8  8  0 24  0  8 1 0x9a--         y  y  y     win,pb

0x59 24  0  8  8  8  0 24  0  8 1 0xd5--         y  y  y     win,pb

0x5a 24  0  8  8  8  0 24  0  8 1 0xe5--         y  y  y     win,pb

0x5b 24  0  8  8  8  0 24  8 16 1 0x4b--         y  y  y     win,pb

0x5c 24  0  8  8  8  0 24  8 16 1 0x96--         y  y  y     win,pb

0x5d 24  0  8  8  8  0 24  8 16 1 0x5d--         y  y  y     win,pb

0x5e 24  0  8  8  8  0 24  8 16 1 0xa8--         y  y  y     win,pb

0x5f 24  0  8  8  8  0 24  8 16 1 0x5e--         y  y  y     win,pb

0x60 24  0  8  8  8  0 24  8 16 1 0xa9--         y  y  y     win,pb

0x61 24  0  8  8  8  0 24  8 16 1 0xe1--         y  y  y     win,pb

0x62 24  0  8  8  8  0 24  8 16 1 0xf3--         y  y  y     win,pb

0x63 24  0  8  8  8  0 24  8 16 1 0xf4--         y  y  y     win,pb

0x64 24  0  8  8  8  0 24  0 16 1 0x47--         y  y  y     win,pb

0x65 24  0  8  8  8  0 24  0 16 1 0x92--         y  y  y     win,pb

0x66 24  0  8  8  8  0 24  0 16 1 0x51--         y  y  y     win,pb

0x67 24  0  8  8  8  0 24  0 16 1 0x9c--         y  y  y     win,pb

0x68 24  0  8  8  8  0 24  0 16 1 0x52--         y  y  y     win,pb

0x69 24  0  8  8  8  0 24  0 16 1 0x9d--         y  y  y     win,pb

0x6a 24  0  8  8  8  0 24  0 16 1 0xdd--         y  y  y     win,pb

0x6b 24  0  8  8  8  0 24  0 16 1 0xe7--         y  y  y     win,pb

0x6c 24  0  8  8  8  0 24  0 16 1 0xe8--         y  y  y     win,pb

0x6d 24  0  8  8  8  0 24  8 32 1 0x6b--         y  y  y     win,pb

0x6e 24  0  8  8  8  0 24  8 32 1 0xb6--         y  y  y     win,pb

0x6f 24  0  8  8  8  0 24  8 32 1 0x101--         y  y  y     win,pb

0x70 24  0  8  8  8  0 24  0 32 1 0x67--         y  y  y     win,pb

0x71 24  0  8  8  8  0 24  0 32 1 0xb2--         y  y  y     win,pb

0x72 24  0  8  8  8  0 24  0 32 1 0xfd--         y  y  y     win,pb

0x73 16  0  5  6  5  0 24  8  0 0 0x00--         y  y  y     pb

0x74 16  0  5  6  5  0 24  0  0 0 0x00--         y  y  y     pb

0x75 16  0  5  6  5  0 16  0  0 0 0x00--         y  y  y     pb

0x76 16  0  5  6  5  0  0  0  0 0 0x00--         y  y  y     pb

roman@ASUS-G75VW ~ $ 

```

In short nope as already pointed out on that nvidia topic i posted earlier, nothing.

eglgears just shows me a black window

you may post on that nvidia forum but.

i tell you from my expierence, tehy do not bother to answer.

2 issues for 2 mobile gpus in 7 years, none answered. 

I forgot about the first issue, until i saw yesterday i already had an account and so i saw the first topic.

You can also browse the nvidia-forum and than you will realize that some guys just write something to the topics like i do, but the real nvidia specialists hardly answer any topics (juding from brownsing 3 pages yesterday on the devtalk, and a few pages on the user support forum ...)

This is my personal opinion / expierence.

----------

## moonchilde

Why does nvidia even have EGL and GLES extensions if they don't work? If they're there, are they not being installed properly or something?

----------

## Roman_Gruber

I think that is mesa related anway. Check the useflags i provided above.

https://www.khronos.org/opengles/

 *Quote:*   

> OpenGL® ES is a royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles. It consists of well-defined subsets of desktop OpenGL, creating a flexible and powerful low-level interface between software and graphics acceleration

 

usually you use on a desctop opengl on linux, and on windi boxes directx.

the other stuff is jsut a cropped down stuff which was created for those smartpones and such, "embedded systems", aka android and other based phones / consoles / tables, whatever ...

This is my personal opinion. I point out that i am not a specialist on that topic

----------

## Roman_Gruber

 *moonchilde wrote:*   

> Why does nvidia even have EGL and GLES extensions if they don't work? If they're there, are they not being installed properly or something?

 

Mesa has it afaik, and thats open source.

nvida does not ship it afaik. 

well my hardware is rather antique, 660m GTX, 

when i type glxinfo it only tells me about opengl up to version 4.5 or so. and only glx instructions. no where mentioned about egl and gles 

..

you may temporarily switch to mesa and check if egl works than (i have not tried that) eselect opengl set ...

----------

## Roman_Gruber

Lol I was right

```
ASUS-G75VW roman # eselect opengl list

Available OpenGL implementations:

  [1]   nvidia *

  [2]   xorg-x11

ASUS-G75VW roman # eselect opengl set 2

Switching to xorg-x11 OpenGL interface... done

ASUS-G75VW roman # exit

roman@ASUS-G75VW ~ $ egl

eglgears_x11  eglinfo       

roman@ASUS-G75VW ~ $ egl

eglgears_x11  eglinfo       

roman@ASUS-G75VW ~ $ eglgears_x11 

libEGL warning: DRI2: failed to authenticate

EGL_VERSION = 1.4 (DRI2)

^C

```

I switched temporarily to mesa, aka xorg-x11 and it works.

time to switch back ...

----------

## moonchilde

Interesting, xorg_x11 does work.

 :Sad: 

----------

## moonchilde

I just noticed in the folder /usr/lib64/opengl/nvidia/extensions only GLX extensions exist. Not EGL, not GLES. 

In the folder /usr/lib64/opengl/nvidia/lib all the EGL and GLES libs exist. Do these work based on GLX extensions or are we missing files in the extensions folder? Or do I just not understand how this works?

/usr/lib64/opengl/nvidia/extensions

```

lrwxrwxrwx 1 root root       11 Dec 17 12:25 libglx.so -> libglx.so.1

lrwxrwxrwx 1 root root       16 Dec 17 12:25 libglx.so.1 -> libglx.so.358.16

-rwxr-xr-x 1 root root 12919656 Dec 17 12:25 libglx.so.358.16

```

/usr/lib64/opengl/nvidia/lib

```

lrwxrwxrwx 1 root root      18 Dec 17 12:25 libEGL_nvidia.so -> libEGL_nvidia.so.1

-rwxr-xr-x 1 root root  954592 Dec 17 12:25 libEGL_nvidia.so.0

lrwxrwxrwx 1 root root      18 Dec 17 12:25 libEGL_nvidia.so.1 -> libEGL_nvidia.so.0

lrwxrwxrwx 1 root root      11 Dec 17 12:25 libEGL.so -> libEGL.so.1

-rwxr-xr-x 1 root root   18464 Dec 17 12:25 libEGL.so.1

lrwxrwxrwx 1 root root      18 Dec 17 12:25 libGLdispatch.so -> libGLdispatch.so.1

-rwxr-xr-x 1 root root  490544 Dec 17 12:25 libGLdispatch.so.0

lrwxrwxrwx 1 root root      18 Dec 17 12:25 libGLdispatch.so.1 -> libGLdispatch.so.0

lrwxrwxrwx 1 root root      17 Dec 17 12:25 libGLESv1_CM.so -> libGLESv1_CM.so.1

lrwxrwxrwx 1 root root      22 Dec 17 12:25 libGLESv1_CM.so.1 -> libGLESv1_CM.so.358.16

-rwxr-xr-x 1 root root   51200 Dec 17 12:25 libGLESv1_CM.so.358.16

lrwxrwxrwx 1 root root      14 Dec 17 12:25 libGLESv2.so -> libGLESv2.so.2

lrwxrwxrwx 1 root root      19 Dec 17 12:25 libGLESv2.so.2 -> libGLESv2.so.358.16

-rwxr-xr-x 1 root root   75520 Dec 17 12:25 libGLESv2.so.358.16

lrwxrwxrwx 1 root root      10 Dec 17 12:25 libGL.so -> libGL.so.1

lrwxrwxrwx 1 root root      15 Dec 17 12:25 libGL.so.1 -> libGL.so.358.16

-rwxr-xr-x 1 root root 1235752 Dec 17 12:25 libGL.so.358.16

lrwxrwxrwx 1 root root      14 Dec 17 12:25 libOpenGL.so -> libOpenGL.so.1

-rwxr-xr-x 1 root root  249144 Dec 17 12:25 libOpenGL.so.0

lrwxrwxrwx 1 root root      14 Dec 17 12:25 libOpenGL.so.1 -> libOpenGL.so.0

lrwxrwxrwx 1 root root      13 Dec 17 12:25 libvdpau.so -> libvdpau.so.1

lrwxrwxrwx 1 root root      18 Dec 17 12:25 libvdpau.so.1 -> libvdpau.so.358.16

-rwxr-xr-x 1 root root    7016 Dec 17 12:25 libvdpau.so.358.16

lrwxrwxrwx 1 root root      19 Dec 17 12:25 libvdpau_trace.so -> libvdpau_trace.so.1

lrwxrwxrwx 1 root root      24 Dec 17 12:25 libvdpau_trace.so.1 -> libvdpau_trace.so.358.16

-rwxr-xr-x 1 root root   46872 Dec 17 12:25 libvdpau_trace.so.358.16

```

----------

## Roman_Gruber

May i ask why you are such fussed about the subset standards of opengl?

https://en.wikipedia.org/wiki/EGL_%28API%29

http://gamedev.stackexchange.com/questions/150/what-is-the-difference-between-opengl-es-and-opengl

you may google for: egl vs gles vs opengl

these are just substandards...

https://devtalk.nvidia.com/default/topic/788841/profiling-gles-3-0-3-1-on-nv-desktop-gpus-in-windows-/

Home > GameWorks > Forums > Mobile Development > OpenGL ES

just shows how nvidia itself has ordered it. it is for mobilde stuff, tablets phones => android stuff

as you can see from the wiki page, mesa ships the support for it. nevertheless these are subsets, not that powerful instructions, in comparision with opengl

----------

## moonchilde

Obviously I'm "fussed" because nvidia's EGL/GLES implementations which are supposed to be included in the driver are not working with programs using EGL/GLES. If the support is there, why doesn't it work?

Mesa does not provide EGL for nvidia, nvidia provides its own EGL. I know what the substandards are. EGL/GLES is also not just for mobile as most desktop environments are moving on to it.

GLX is nvidia's libGL implementation for X. EGL does not rely on X. EGL has its own extensions and if they're not being installed then maybe that is why EGL/GLES is not working when using nvidia. The GLX extensions are clearly there. 

If nvidia is providing EGL then eglgears_x11 should work. There is obviously something broken here.

----------

## Roman_Gruber

You may ask no the nvidia developers forum... they should know details.

----------

