Bug 445485 - QOpenGLShader::link: error: fragment shader uses too many input components (52 > 40)
Summary: QOpenGLShader::link: error: fragment shader uses too many input components (5...
Status: RESOLVED UPSTREAM
Alias: None
Product: plasma-systemmonitor
Classification: Applications
Component: general (show other bugs)
Version: 5.23.3
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KSysGuard Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-14 13:57 UTC by Phenom
Modified: 2021-11-15 17:59 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Phenom 2021-11-14 13:57:33 UTC
Hello,

Since some times, journalctl fill with these error:
> nov. 14 14:24:16 Arch plasmashell[584]: QOpenGLShader::link: error: fragment shader uses too many input components (52 > 40)
> nov. 14 14:24:16 Arch plasmashell[584]: shader compilation failed: 
>                                         "error: fragment shader uses too many input components (52 > 40)\n"
> nov. 14 14:24:16 Arch plasmashell[584]: QOpenGLShader::link: error: fragment shader uses too many input components (52 > 40)
> nov. 14 14:24:16 Arch plasmashell[584]: QOpenGLShaderProgram::uniformLocation(matrix): shader program is not linked
> nov. 14 14:24:16 Arch plasmashell[584]: QOpenGLShaderProgram::uniformLocation(opacity): shader program is not linked
> nov. 14 14:24:16 Arch plasmashell[584]: QOpenGLShaderProgram::uniformLocation(lineWidth): shader program is not linked
> nov. 14 14:24:16 Arch plasmashell[584]: QOpenGLShaderProgram::uniformLocation(aspect): shader program is not linked
> nov. 14 14:24:16 Arch plasmashell[584]: QOpenGLShaderProgram::uniformLocation(smoothing): shader program is not linked

With
> $ glxinfo | grep version
> server glx version string: 1.4
> client glx version string: 1.4
> GLX version: 1.4
>     Max core profile version: 0.0
>     Max compat profile version: 2.1
>     Max GLES1 profile version: 1.1
>     Max GLES[23] profile version: 2.0
> OpenGL version string: 2.1 Mesa 21.2.5
> OpenGL shading language version string: 1.20
> OpenGL ES profile version string: OpenGL ES 2.0 Mesa 21.2.5
> OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16

It's on VirtualBox VM with 3D acceleration activated.
Comment 1 Arjen Hiemstra 2021-11-15 17:59:33 UTC
The implementation of Line charts was changed to use vertex attributes for passing data, as that allows for several improvements to rendering performance.

According to the OpenGL documentation, the minimum amount of vertex attribute components an implementation should support is 16*4, or 64. This is even true for OpenGL 2.1, see https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glGet.xml . That means that your OpenGL driver is not conformant, as it claims to only support 10*4 vertex attribute components. There isn't much we can do about this on our end, I don't really want to hurt other drivers because of one non-conformant driver and there's no easy way to fall back here. 

You should really report this to the upstream driver.