Clericer Posted July 19, 2022 Posted July 19, 2022 Hey everyone, i bought a Rock 3A to get an alternative to Raspberri pi. The armbian was the system which is closest to the raspberrian and i'm glad that it works so well. But Videos 720p, 1080p mp4 play horrible bad. When i use the included videoplayer or install vlc and start a video it is laggy and slow and not useable. Is there any additional driver i have to install? Do i have to choose a different encoder? Or is the Rock 3A not capeable of playing Videos? Thank you and best regards. 0 Quote
Igor Posted July 19, 2022 Posted July 19, 2022 6 hours ago, Clericer said: Is there any additional driver i have to install? If this would be just a matter of installing something, we would pre-install it. We might get some luck in kernel 5.19.y -> https://forum.armbian.com/search/?q=hantro&quick=1 0 Quote
balbes150 Posted July 19, 2022 Posted July 19, 2022 21 минуту назад, Igor сказал: We might get some luck in kernel 5.19.y - I tested (Armbian and Libreelec) the rk356x (Station P2\M2 Quartz64 Banana PI r2 pro) - it plays 1080p video in MPV\KODI without any problems kernel >=5.17. 1 Quote
amazingfate Posted July 20, 2022 Posted July 20, 2022 17 hours ago, balbes150 said: I tested (Armbian and Libreelec) the rk356x (Station P2\M2 Quartz64 Banana PI r2 pro) - it plays 1080p video in MPV\KODI without any problems kernel >=5.17. I can play 1080p video using kodi with v4l2-request patched ffmpeg. I can also use command `ffmpeg -hwaccel drm -hwaccel_output_format drm_prime -i bbb_sunflower_1080p_30fps_normal.mp4 -f null -` to decode the video, but I failed to play video using mpv with hardware accel, what am I missing? 0 Quote
balbes150 Posted July 20, 2022 Posted July 20, 2022 1 час назад, amazingfate сказал: I can play 1080p video using kodi with v4l2-request patched ffmpeg. I can also use command `ffmpeg -hwaccel drm -hwaccel_output_format drm_prime -i bbb_sunflower_1080p_30fps_normal.mp4 -f null -` to decode the video, but I failed to play video using mpv with hardware accel, what am I missing? I don't have rock 3a, I don't know what's wrong with it. I described the facts, I regularly run a test video on the devices indicated in the message and the video is played without problems in Armbian in a window or on full screen (regular video playback programs are used, mpv\celsior). I have not changed FFMPEG in Armbian. In Libreelec, I can enable the display of information when playing a video and it says that HW is used (but not for all formats). But even with SW decoding, test videos play well up to 1440p (DE is set to 1080p). 0 Quote
Clericer Posted July 20, 2022 Author Posted July 20, 2022 Thank you for these fast and detailed answers. That means it's not possible currently to use the Rock 3A as a Mediaserver, Videoplayer with Armbian? Can anybode tell me what is so hard, because i try every 2-3 years to get a pi alternative but all struggle at the Video Player part. When i install android on any rock board it seems to work, but Android is not an alternative for me. Same for Pine Boards. 0 Quote
jernej Posted July 20, 2022 Posted July 20, 2022 7 hours ago, amazingfate said: I can play 1080p video using kodi with v4l2-request patched ffmpeg. I can also use command `ffmpeg -hwaccel drm -hwaccel_output_format drm_prime -i bbb_sunflower_1080p_30fps_normal.mp4 -f null -` to decode the video, but I failed to play video using mpv with hardware accel, what am I missing? First of all, I assume you installed patched ffmpeg libraries system wide? I saw mpv complain if installed ffmpeg libraries are different version that the version that mpv was built with. In such case, you have to also rebuild mpv. Second, mpv will use v4l2 request acceleration only in gbm mode, e.g. when no desktop environment is running. I guess nobody wrote support for converting dma-bufs to gles buffers, even though mesa have function for exactly that. 38 minutes ago, Clericer said: That means it's not possible currently to use the Rock 3A as a Mediaserver, Videoplayer with Armbian? Can anybode tell me what is so hard, because i try every 2-3 years to get a pi alternative but all struggle at the Video Player part. When i install android on any rock board it seems to work, but Android is not an alternative for me. Same for Pine Boards. Simple, RPi foundation has enough power to convince various players to support their proprietary API. Others did not. Similarly, Android is popular enough that vendors hammer their own proprietary solution into their ports. Only now various HW decoders are being unified under v4l2, either with request api or stateful api. Currently only gstreamer has good native support for these apis out of the box (HEVC will be supported in next stable release). 0 Quote
Clericer Posted July 20, 2022 Author Posted July 20, 2022 Thank you very much, i will read a bit more about it, to get more into it. 0 Quote
amazingfate Posted July 21, 2022 Posted July 21, 2022 17 hours ago, Clericer said: Thank you for these fast and detailed answers. That means it's not possible currently to use the Rock 3A as a Mediaserver, Videoplayer with Armbian? Can anybode tell me what is so hard, because i try every 2-3 years to get a pi alternative but all struggle at the Video Player part. When i install android on any rock board it seems to work, but Android is not an alternative for me. Same for Pine Boards. You can play 1080p video with hardware decode using kodi. You have to install a v4l2-request patched ffmpeg and kodi rebuilt with option `-DAPP_RENDER_SYSTEM=gles`. You can see more detailed info from this post: https://forum.radxa.com/t/app-kodi-on-armbian-with-hardware-accelerating-decode/10170 0 Quote
Hqnicolas Posted December 8, 2022 Posted December 8, 2022 (edited) Hello @Clericer Today i was Testing Armbian on Radxa Rock 3A. Mali gpu I still can't play videos on Armbian "kernel 5.19" and "6.01" But, Ark Linux Manjaro ARM releases a patched 22.10 version of Radxa Rock 3A and it contains all patches for Mali working great for desktop environment. I tested this and it worked great, too bad I'm a debian user. Quote glmark2 -s 1280x720 --fullscreen ======================================================= glmark2 2021.12 ======================================================= OpenGL Information GL_VENDOR: Panfrost GL_RENDERER: Mali-G52 r1 (Panfrost) GL_VERSION: 3.1 Mesa 22.2.3 ======================================================= [build] use-vbo=false: FPS: 252 FrameTime: 3.968 ms [build] use-vbo=true: FPS: 256 FrameTime: 3.906 ms [texture] texture-filter=nearest: FPS: 373 FrameTime: 2.681 ms [texture] texture-filter=linear: FPS: 374 FrameTime: 2.674 ms [texture] texture-filter=mipmap: FPS: 376 FrameTime: 2.660 ms [shading] shading=gouraud: FPS: 186 FrameTime: 5.376 ms [shading] shading=blinn-phong-inf: FPS: 186 FrameTime: 5.376 ms [shading] shading=phong: FPS: 174 FrameTime: 5.747 ms [shading] shading=cel: FPS: 172 FrameTime: 5.814 ms [bump] bump-render=high-poly: FPS: 89 FrameTime: 11.236 ms [bump] bump-render=normals: FPS: 392 FrameTime: 2.551 ms [bump] bump-render=height: FPS: 337 FrameTime: 2.967 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 124 FrameTime: 8.065 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 49 FrameTime: 20.408 ms [pulsar] light=false:quads=5:texture=false: FPS: 342 FrameTime: 2.924 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 60 FrameTime: 16.667 ms [desktop] effect=shadow:windows=4: FPS: 228 FrameTime: 4.386 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 73 FrameTime: 13.699 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 72 FrameTime: 13.889 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 68 FrameTime: 14.706 ms [ideas] speed=duration: FPS: 165 FrameTime: 6.061 ms [jellyfish] <default>: FPS: 143 FrameTime: 6.993 ms [terrain] <default>: FPS: 11 FrameTime: 90.909 ms [shadow] <default>: FPS: 100 FrameTime: 10.000 ms [refract] <default>: FPS: 19 FrameTime: 52.632 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 329 FrameTime: 3.040 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 254 FrameTime: 3.937 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 333 FrameTime: 3.003 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 316 FrameTime: 3.165 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 212 FrameTime: 4.717 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 316 FrameTime: 3.165 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 315 FrameTime: 3.175 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 217 FrameTime: 4.608 ms ======================================================= glmark2 Score: 209 ======================================================= i think this topic brings the Bifrost GPU to linux can we translate it to debian? @balbes150 Edited December 8, 2022 by hotnikq 0 Quote
jernej Posted December 8, 2022 Posted December 8, 2022 1 hour ago, hotnikq said: Mali gpu It has nothing to do with video decoding. Read posts right before yours. 0 Quote
jernej Posted December 8, 2022 Posted December 8, 2022 On 7/21/2022 at 9:44 AM, amazingfate said: You can play 1080p video with hardware decode using kodi. Latest stable version of mpv also supports video playback with patched ffmpeg, even in x11 and wayland. If Armbian would package such ffmpeg, it would make almost trivial for people to watch movies using mpv on desktop. 0 Quote
Hqnicolas Posted December 8, 2022 Posted December 8, 2022 (edited) @jernej i think we can find something on manjaro, Debian Wayland and chromium are way too slow than ARK Linux... mozilla feels the same on both... no acceleration. Edited December 8, 2022 by hotnikq 0 Quote
amazingfate Posted December 9, 2022 Posted December 9, 2022 @jernejdo you mean this patch: https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/multimedia/ffmpeg/patches/v4l2-request/ffmpeg-001-v4l2-request.patch 0 Quote
Igor Posted December 9, 2022 Posted December 9, 2022 16 hours ago, hotnikq said: can we translate it to debian? Don't have Rock 3A, but 3D acceleration is present in all Armbian desktop builds OOB since years. Video acceleration within browsers? That is something else and doesn't work in Linux. Any. 14 hours ago, hotnikq said: i think we can find something on manjaro Their ARM section development is more or less porting from Armbian and build what comes to upstream. 0 Quote
Hqnicolas Posted December 9, 2022 Posted December 9, 2022 (edited) 6 hours ago, Igor said: Video acceleration within browsers? That is something else and doesn't work in Linux. Any. i feel like we missed some detail in debian, I don't see 3D performance difference from android here in this ARK i see Mesa drivers on debian, but is it enabled by default? i think Regular users dont know how to link new drivers to sys. From Manjaro Rock 3A 22.10 chrome://gpu/ Quote Graphics Feature Status Canvas: Hardware accelerated Canvas out-of-process rasterization: Enabled Direct Rendering Display Compositor: Disabled Compositing: Hardware accelerated Multiple Raster Threads: Enabled OpenGL: Enabled Rasterization: Hardware accelerated on all pages Raw Draw: Disabled Video Decode: Hardware accelerated Video Encode: Software only. Hardware acceleration disabled Vulkan: Disabled WebGL: Hardware accelerated WebGL2: Hardware accelerated WebGPU: Disabled Driver Bug Workarounds clear_uniforms_before_first_program_use count_all_in_varyings_packing disable_post_sub_buffers_for_onscreen_surfaces enable_webgl_timer_query_extensions exit_on_context_lost disabled_extension_GL_KHR_blend_equation_advanced disabled_extension_GL_KHR_blend_equation_advanced_coherent disabled_extension_GL_MESA_framebuffer_flip_y Problems Detected WebGPU has been disabled via blocklist or the command line. Disabled Features: webgpu Accelerated video encode has been disabled, either via blocklist, about:flags or the command line. Disabled Features: video_encode Clear uniforms before first program use on all platforms: 124764, 349137 Applied Workarounds: clear_uniforms_before_first_program_use Mesa drivers in Linux handle varyings without static use incorrectly: 333885 Applied Workarounds: count_all_in_varyings_packing Disable partial swaps on Mesa drivers (detected with GL_VERSION): 339493 Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces Disable KHR_blend_equation_advanced until cc shaders are updated: 661715 Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent) Expose WebGL's disjoint_timer_query extensions on platforms with site isolation: 808744, 870491 Applied Workarounds: enable_webgl_timer_query_extensions Some drivers can't recover after OUT_OF_MEM and context lost: 893177 Applied Workarounds: exit_on_context_lost Disable GL_MESA_framebuffer_flip_y for desktop GL: 964010 Applied Workarounds: disable(GL_MESA_framebuffer_flip_y) ANGLE Features allowCompressedFormats (Frontend workarounds): Enabled: true Allow compressed formats cacheCompiledShader (Frontend features) anglebug:7036: Disabled Enable to cache compiled shaders disableAnisotropicFiltering (Frontend workarounds): Disabled Disable support for anisotropic filtering disableProgramBinary (Frontend features) anglebug:5007: Disabled: IsPowerVrRogue(functions) Disable support for GL_OES_get_program_binary disableProgramCachingForTransformFeedback (Frontend workarounds): Disabled: IsAndroid() && isQualcomm On some GPUs, program binaries don't contain transform feedback varyings emulatePixelLocalStorage (Frontend features) anglebug:7279: Disabled: false Emulate ANGLE_shader_pixel_local_storage using shader images enableCaptureLimits (Frontend features) anglebug:5750: Disabled Set the context limits like frame capturing was enabled enableCompressingPipelineCacheInThreadPool (Frontend workarounds) anglebug:4722: Disabled: false Enable compressing pipeline cache in thread pool. enableProgramBinaryForCapture (Frontend features) anglebug:5658: Disabled Even if FrameCapture is enabled, enable GL_OES_get_program_binary forceDepthAttachmentInitOnClear (Frontend workarounds) anglebug:7246: Disabled Force depth attachment initialization on clear ops forceGlErrorChecking (Frontend features) https://issuetracker.google.com/220069903: Disabled Force GL error checking (i.e. prevent applications from disabling error checking forceInitShaderVariables (Frontend features): Disabled Force-enable shader variable initialization forceRobustResourceInit (Frontend features) anglebug:6041: Disabled Force-enable robust resource init loseContextOnOutOfMemory (Frontend workarounds): Enabled: true Some users rely on a lost context notification if a GL_OUT_OF_MEMORY error occurs scalarizeVecAndMatConstructorArgs (Frontend workarounds) 1165751: Disabled: false Always rewrite vec/mat constructors to be consistent RGBA4IsNotSupportedForColorRendering (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isIntel GL_RGBA4 is not color renderable RGBDXT1TexturesSampleZeroAlpha (OpenGL workarounds) anglebug:3729: Disabled: IsApple() Sampling BLACK texels from RGB DXT1 textures returns transparent black on Mac. addAndTrueToLoopCondition (OpenGL workarounds): Disabled: IsApple() && isIntel Calculation of loop conditions in for and while loop has bug adjustSrcDstRegionForBlitFramebuffer (OpenGL workarounds) 830046: Enabled: IsLinux() || (IsAndroid() && isNvidia) || (IsWindows() && isNvidia) || (IsApple() && functions->standard == STANDARD_GL_ES) Many platforms have issues with blitFramebuffer when the parameters are large. allowAstcFormats (OpenGL workarounds): Disabled: !isMesa || isIntel && (Is9thGenIntel(device) || IsGeminiLake(device) || IsCoffeeLake(device) || Is11thGenIntel(device) || Is12thGenIntel(device)) Enable ASTC on desktop OpenGL allowClearForRobustResourceInit (OpenGL workarounds) 848952: Disabled: IsApple() Using glClear for robust resource initialization is buggy on some drivers and leads to texture corruption. Default to data uploads except on MacOS where it is very slow. allowETCFormats (OpenGL workarounds): Disabled: isIntel && !IsSandyBridge(device) && !IsIvyBridge(device) && !IsHaswell(device) Enable ETC2/EAC on desktop OpenGL alwaysCallUseProgramAfterLink (OpenGL workarounds) 110263: Enabled: true Always call useProgram after a successful link to avoid a driver bug alwaysUnbindFramebufferTexture2D (OpenGL workarounds) anglebug:5536: Disabled: isNvidia && (IsWindows() || IsLinux()) Force unbind framebufferTexture2D before binding renderbuffer to work around driver bug. avoid1BitAlphaTextureFormats (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isAMD Issue with 1-bit alpha framebuffer formats bindTransformFeedbackBufferBeforeBindBufferRange (OpenGL workarounds) anglebug:5140: Disabled: IsApple() Bind transform feedback buffers to the generic binding point before calling glBindBufferBase or glBindBufferRange. clampArrayAccess (OpenGL workarounds) anglebug:2978: Enabled: IsAndroid() || isAMD || !functions->hasExtension("GL_KHR_robust_buffer_access_behavior") Clamp uniform array access to avoid reading invalid memory. clampFragDepth (OpenGL workarounds): Disabled: isNvidia gl_FragDepth is not clamped correctly when rendering to a floating point depth buffer clampMscRate (OpenGL workarounds) 1042393: Enabled: IsLinux() && IsWayland() Some drivers return bogus values for GetMscRate, so we clamp it to 30Hz clampPointSize (OpenGL workarounds): Disabled: IsAndroid() || isNvidia The point size range reported from the API is inconsistent with the actual behavior clearToZeroOrOneBroken (OpenGL workarounds) 710443: Disabled: IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 6) Clears when the clear color is all zeros or ones do not work. clipSrcRegionForBlitFramebuffer (OpenGL workarounds) 830046: Disabled: IsApple() || (IsLinux() && isAMD) Issues with blitFramebuffer when the parameters don't match the framebuffer size. decodeEncodeSRGBForGenerateMipmap (OpenGL workarounds) anglebug:4646: Disabled: IsApple() Decode and encode before generateMipmap for srgb format textures. disableBlendFuncExtended (OpenGL workarounds) anglebug:1085: Disabled: isAMD || isIntel ARB_blend_func_extended does not pass the tests disableDrawBuffersIndexed (OpenGL workarounds): Disabled: IsWindows() && isAMD Disable OES_draw_buffers_indexed extension. disableGPUSwitchingSupport (OpenGL workarounds) 1091824: Disabled: isDualGPUMacWithNVIDIA Disable GPU switching support (use only the low-power GPU) on older MacBook Pros. disableMultisampledRenderToTexture (OpenGL workarounds) anglebug:2894: Disabled: isAdreno4xxOnAndroidLessThan51 || isAdreno4xxOnAndroid70 || isAdreno5xxOnAndroidLessThan70 || isAdreno5xxOnAndroid71 || isLinuxVivante Many drivers have bugs when using GL_EXT_multisampled_render_to_texture disableNativeParallelCompile (OpenGL workarounds) 1094869: Disabled: isTSANBuild && IsLinux() && isNvidia Do not use native KHR_parallel_shader_compile even when available. disableSemaphoreFd (OpenGL workarounds) 1046462: Disabled: IsLinux() && isAMD && isMesa && mesaVersion < (std::array<int, 3>{19, 3, 5}) Disable GL_EXT_semaphore_fd extension disableSyncControlSupport (OpenGL workarounds) 1137851: Disabled: IsLinux() && isIntel && isMesa && mesaVersion[0] == 20 Speculative fix for issues on Linux/Wayland where exposing GLX_OML_sync_control renders Chrome unusable disableTextureClampToBorder (OpenGL workarounds) anglebug:7405: Disabled: isImagination Imagination devices generate INVALID_ENUM when setting the texture border color. disableTimestampQueries (OpenGL workarounds) 811661: Disabled: (IsLinux() && isVMWare) || (IsAndroid() && isNvidia) || (IsAndroid() && GetAndroidSdkLevel() < 27 && IsAdreno5xxOrOlder(functions)) || (IsAndroid() && IsMaliT8xxOrOlder(functions)) || (IsAndroid() && IsMaliG31OrOlder(functions)) Disable GL_EXT_disjoint_timer_query extension disableWorkerContexts (OpenGL workarounds) 849576: Disabled: (IsWindows() && (isIntel || isAMD)) || (IsLinux() && isNvidia) || IsIOS() || IsAndroid() || IsAndroidEmulator(functions) Some tests have been seen to fail using worker contexts doWhileGLSLCausesGPUHang (OpenGL workarounds) 644669: Disabled: IsApple() && functions->standard == STANDARD_GL_DESKTOP && GetMacOSVersion() < OSVersion(10, 11, 0) Some GLSL constructs involving do-while loops cause GPU hangs doesSRGBClearsOnLinearFramebufferAttachments (OpenGL workarounds): Disabled: isIntel || isAMD Issue clearing framebuffers with linear attachments when GL_FRAMEBUFFER_SRGB is enabled dontInitializeUninitializedLocals (OpenGL workarounds) anglebug:2046: Disabled: IsAndroid() && isQualcomm Initializing uninitialized locals caused odd behavior in a few WebGL 2 tests dontRelinkProgramsInParallel (OpenGL workarounds) anglebug:3045: Disabled: IsAndroid() || (IsWindows() && isIntel) Relinking a program in parallel is buggy dontUseLoopsToInitializeVariables (OpenGL workarounds) 809422: Disabled: (IsAndroid() && isQualcomm) || (isIntel && IsApple()) For loops used to initialize variables hit native GLSL compiler bugs emulateAbsIntFunction (OpenGL workarounds) 642227: Disabled: IsApple() && isIntel abs(i) where i is an integer returns unexpected result emulateAtan2Float (OpenGL workarounds) 672380: Disabled: isNvidia atan(y, x) may return a wrong answer emulateCopyTexImage2D (OpenGL workarounds): Disabled: isApple Replace CopyTexImage2D with TexImage2D + CopyTexSubImage2D. emulateCopyTexImage2DFromRenderbuffers (OpenGL workarounds) anglebug:4674: Disabled: IsApple() && functions->standard == STANDARD_GL_ES && !(isAMD && IsWindows()) CopyTexImage2D spuriously returns errors on iOS when copying from renderbuffers. emulateImmutableCompressedTexture3D (OpenGL workarounds) 1060012: Disabled: isQualcomm Use non-immutable texture allocation to work around a driver bug. emulateIsnanFloat (OpenGL workarounds) 650547: Disabled: isIntel && IsApple() && IsSkylake(device) && GetMacOSVersion() < OSVersion(10, 13, 2) Using isnan() on highp float will get wrong answer emulateMaxVertexAttribStride (OpenGL workarounds) anglebug:1936: Disabled: IsLinux() && functions->standard == STANDARD_GL_DESKTOP && isAMD Some drivers return 0 when MAX_VERTEX_ATTRIB_STRIED queried emulatePackSkipRowsAndPackSkipPixels (OpenGL workarounds) anglebug:4849: Disabled: IsApple() GL_PACK_SKIP_ROWS and GL_PACK_SKIP_PIXELS are ignored in Apple's OpenGL driver. emulatePrimitiveRestartFixedIndex (OpenGL workarounds) anglebug:3997: Enabled: functions->standard == STANDARD_GL_DESKTOP && functions->isAtLeastGL(gl::Version(3, 1)) && !functions->isAtLeastGL(gl::Version(4, 3)) When GL_PRIMITIVE_RESTART_FIXED_INDEX is not available, emulate it with GL_PRIMITIVE_RESTART and glPrimitiveRestartIndex. emulateRGB10 (OpenGL workarounds) 1300575: Enabled: functions->standard == STANDARD_GL_DESKTOP Emulate RGB10 support using RGB10_A2. finishDoesNotCauseQueriesToBeAvailable (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isNvidia glFinish doesn't cause all queries to report available result flushBeforeDeleteTextureIfCopiedTo (OpenGL workarounds) anglebug:4267: Disabled: IsApple() && isIntel Some drivers track CopyTex{Sub}Image texture dependencies incorrectly. Flush before glDeleteTextures in this case flushOnFramebufferChange (OpenGL workarounds) 1181068: Disabled: IsApple() && Has9thGenIntelGPU(systemInfo) Switching framebuffers without a flush can lead to crashes on Intel 9th Generation GPU Macs. initFragmentOutputVariables (OpenGL workarounds) 1171371: Disabled: IsAdreno42xOr3xx(functions) No init gl_FragColor causes context lost initializeCurrentVertexAttributes (OpenGL workarounds): Disabled: isNvidia During initialization, assign the current vertex attributes to the spec-mandated defaults keepBufferShadowCopy (OpenGL workarounds): Disabled: !CanMapBufferForRead(functions) Maintain a shadow copy of buffer data when the GL API does not permit reading data back. limitMax3dArrayTextureSizeTo1024 (OpenGL workarounds) 927470: Disabled: limitMaxTextureSize Limit max 3d texture size and max array texture layers to 1024 to avoid system hang limitMaxMSAASamplesTo4 (OpenGL workarounds) 797243: Disabled: IsAndroid() || (IsApple() && (isIntel || isAMD || isNvidia)) Various rendering bugs have been observed when using higher MSAA counts limitWebglMaxTextureSizeTo4096 (OpenGL workarounds) 927470: Disabled: IsAndroid() || limitMaxTextureSize Limit webgl max texture size to 4096 to avoid frequent out-of-memory errors packLastRowSeparatelyForPaddingInclusion (OpenGL workarounds) anglebug:1512: Disabled: IsApple() || isNvidia When uploading textures from an pack buffer, some drivers count an extra row padding packOverlappingRowsSeparatelyPackBuffer (OpenGL workarounds): Disabled: isNvidia In the case of packing to a pixel pack buffer, pack overlapping rows row by row passHighpToPackUnormSnormBuiltins (OpenGL workarounds) anglebug:7527: Disabled: isQualcomm packUnorm4x8 fails on Pixel 4 if it is not passed a highp vec4. preAddTexelFetchOffsets (OpenGL workarounds) 642605: Disabled: IsApple() && isIntel Intel Mac drivers mistakenly consider the parameter position of nagative vaule as invalid even if the sum of position and offset is in range, so we need to add workarounds by rewriting texelFetchOffset(sampler, position, lod, offset) into texelFetch(sampler, position + offset, lod). promotePackedFormatsTo8BitPerChannel (OpenGL workarounds) anglebug:5469: Disabled: IsApple() && hasAMD Packed color formats are buggy on Macs with AMD GPUs queryCounterBitsGeneratesErrors (OpenGL workarounds) anglebug:3027: Disabled: IsNexus5X(vendor, device) Drivers generate errors when querying the number of bits in timer queries readPixelsUsingImplementationColorReadFormatForNorm16 (OpenGL workarounds) anglebug:4214: Disabled: !isIntel && functions->standard == STANDARD_GL_ES && functions->isAtLeastGLES(gl::Version(3, 1)) && functions->hasGLESExtension("GL_EXT_texture_norm16") Quite some OpenGL ES drivers don't implement readPixels for RGBA/UNSIGNED_SHORT from EXT_texture_norm16 correctly reapplyUBOBindingsAfterUsingBinaryProgram (OpenGL workarounds) anglebug:1637: Disabled: isAMD || IsAndroid() Some drivers forget about UBO bindings when using program binaries regenerateStructNames (OpenGL workarounds) 403957: Disabled: IsApple() All Mac drivers do not handle struct scopes correctly. This workaround overwrites a structname with a unique prefix. removeDynamicIndexingOfSwizzledVector (OpenGL workarounds) 709351: Disabled: IsApple() || IsAndroid() || IsWindows() Dynamic indexing of swizzled l-values doesn't work correctly on various platforms. removeInvariantAndCentroidForESSL3 (OpenGL workarounds): Enabled: functions->isAtMostGL(gl::Version(4, 1)) || (functions->standard == STANDARD_GL_DESKTOP && isAMD) Fix spec difference between GLSL 4.1 or lower and ESSL3 resetTexImage2DBaseLevel (OpenGL workarounds) 705865: Disabled: IsApple() && isIntel && GetMacOSVersion() >= OSVersion(10, 12, 4) Reset texture base level before calling glTexImage2D to work around pixel comparison failure. rewriteFloatUnaryMinusOperator (OpenGL workarounds) 308366: Disabled: IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 0) Using '-<float>' will get wrong answer rewriteRepeatedAssignToSwizzled (OpenGL workarounds): Disabled: isNvidia Repeated assignment to swizzled values inside a GLSL user-defined function have incorrect results rewriteRowMajorMatrices (OpenGL workarounds) anglebug:2273: Disabled: false Rewrite row major matrices in shaders as column major as a driver bug workaround sanitizeAMDGPURendererString (OpenGL workarounds) 1181193: Disabled: IsLinux() && hasAMD Strip precise kernel and DRM version information from amdgpu renderer strings. setPrimitiveRestartFixedIndexForDrawArrays (OpenGL workarounds) anglebug:3997: Disabled: features->emulatePrimitiveRestartFixedIndex.enabled && IsApple() && isIntel Some drivers discard vertex data in DrawArrays calls when the fixed primitive restart index is within the number of primitives being drawn. setZeroLevelBeforeGenerateMipmap (OpenGL workarounds): Disabled: IsApple() glGenerateMipmap fails if the zero texture level is not set on some Mac drivers. shiftInstancedArrayDataWithOffset (OpenGL workarounds) 1144207: Disabled: IsApple() && IsIntel(vendor) && !IsHaswell(device) glDrawArraysInstanced is buggy on certain new Mac Intel GPUs supportsFragmentShaderInterlockARB (OpenGL features) anglebug:7279: Disabled: functions->isAtLeastGL(gl::Version(4, 5)) && functions->hasGLExtension("GL_ARB_fragment_shader_interlock") GL context supports ARB_fragment_shader_interlock extension supportsFragmentShaderInterlockNV (OpenGL features) anglebug:7279: Disabled: functions->isAtLeastGL(gl::Version(4, 3)) && functions->hasGLExtension("GL_NV_fragment_shader_interlock") GL context supports NV_fragment_shader_interlock extension supportsFragmentShaderOrderingINTEL (OpenGL features) anglebug:7279: Disabled: functions->isAtLeastGL(gl::Version(4, 4)) && functions->hasGLExtension("GL_INTEL_fragment_shader_ordering") GL context supports GL_INTEL_fragment_shader_ordering extension syncVertexArraysToDefault (OpenGL workarounds) anglebug:5577: Disabled: !nativegl::SupportsVertexArrayObjects(functions) Only use the default VAO because of missing support or driver bugs unbindFBOBeforeSwitchingContext (OpenGL workarounds) 1181193: Disabled: IsPowerVR(vendor) Imagination GL drivers are buggy with context switching. unfoldShortCircuits (OpenGL workarounds) anglebug:482: Disabled: IsApple() Mac incorrectly executes both sides of && and || expressions when they should short-circuit. unpackLastRowSeparatelyForPaddingInclusion (OpenGL workarounds) anglebug:1512: Disabled: IsApple() || isNvidia When uploading textures from an unpack buffer, some drivers count an extra row padding unpackOverlappingRowsSeparatelyUnpackBuffer (OpenGL workarounds): Disabled: isNvidia In the case of unpacking from a pixel unpack buffer, unpack overlapping rows row by row unsizedSRGBReadPixelsDoesntTransform (OpenGL workarounds) 550292: Disabled: IsAndroid() && isQualcomm Drivers returning raw sRGB values instead of linearized values when calling glReadPixels on unsized sRGB texture formats uploadTextureDataInChunks (OpenGL workarounds) 1181068: Disabled: IsApple() Upload texture data in <120kb chunks to work around Mac driver hangs and crashes. useUnusedBlocksWithStandardOrSharedLayout (OpenGL workarounds): Disabled: (IsApple() && functions->standard == STANDARD_GL_DESKTOP) || (IsLinux() && isAMD) Unused std140 or shared uniform blocks will be treated as inactive vertexIDDoesNotIncludeBaseVertex (OpenGL workarounds): Disabled: IsApple() && isAMD gl_VertexID in GLSL vertex shader doesn't include base vertex value DAWN Info <CPU> Vulkan backend - SwiftShader Device (LLVM 10.0.0) [Default Toggle Names] lazy_clear_resource_on_first_use: https://crbug.com/dawn/145: Clears resource to zero on first usage. This initializes the resource so that no dirty bits from recycled memory is present in the new resource. use_temporary_buffer_in_texture_to_texture_copy: https://crbug.com/dawn/42: Split texture-to-texture copy into two copies: copy from source texture into a temporary buffer, and copy from the temporary buffer into the destination texture when copying between compressed textures that don't have block-aligned sizes. This workaround is enabled by default on all Vulkan drivers to solve an issue in the Vulkan SPEC about the texture-to-texture copies with compressed formats. See #1005 (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more details. vulkan_use_d32s8: https://crbug.com/dawn/286: Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When available the backend will use D32S8 (toggle to on) but setting the toggle to off will make it use the D24S8 format when possible. vulkan_use_s8: https://crbug.com/dawn/666: Vulkan has a pure stencil8 format but it is not universally available. When this toggle is on, the backend will use S8 for the stencil8 format, otherwise it will fallback to D32S8 or D24S8. disallow_unsafe_apis: http://crbug.com/1138528: Produces validation errors on API entry points or parameter combinations that aren't considered secure yet. use_vulkan_zero_initialize_workgroup_memory_extension: https://crbug.com/dawn/1302: Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan extension VK_KHR_zero_initialize_workgroup_memory is supported. [WebGPU Forced Toggles - enabled] disallow_spirv: https://crbug.com/1214923: Disallow usage of SPIR-V completely so that only WGSL is used for shader modules. This is useful to prevent a Chromium renderer process from successfully sending SPIR-V code to be compiled in the GPU process. [Supported Features] texture-compression-bc texture-compression-etc2 texture-compression-astc timestamp-query depth-clip-control depth32float-stencil8 indirect-first-instance dawn-internal-usages dawn-native Version Information Data exported 2022-12-09T12:20:10.514Z Chrome version Chrome/107.0.5304.87 Operating system Linux 6.0.7-2-MANJARO-ARM Software rendering list URL https://chromium.googlesource.com/chromium/src/+/f59ffb32abf8c01e9aa298400314bfdf0221b02f/gpu/config/software_rendering_list.json Driver bug list URL https://chromium.googlesource.com/chromium/src/+/f59ffb32abf8c01e9aa298400314bfdf0221b02f/gpu/config/gpu_driver_bug_list.json ANGLE commit id unknown hash 2D graphics backend Skia/107 3a8c9bc2f275732b2fd1a566becf421e62fe1f46 Command Line /usr/lib/chromium/chromium --profile-directory=Default --app-id=agimnkijcaahngcdmfeangaknmldooml --enable-crashpad --flag-switches-begin --enable-gpu-rasterization --enable-features=CanvasOopRasterization,Vp9kSVCHWDecoding,Vulkan --flag-switches-end Driver Information Initialization time 763 In-process GPU false Passthrough Command Decoder true Sandboxed true GPU0 VENDOR= 0x0000 [Google Inc. (Panfrost)], DEVICE=0x0000 [ANGLE (Panfrost, Mali-G52 r1 (Panfrost), OpenGL 3.1 Mesa 22.2.3)], DRIVER_VENDOR=Mesa, DRIVER_VERSION=22.2.3 *ACTIVE* Optimus false AMD switchable false GPU CUDA compute capability major version 0 Pixel shader version 1.00 Vertex shader version 1.00 Max. MSAA samples 4 Machine model name Machine model version GL_VENDOR Google Inc. (Panfrost) GL_RENDERER ANGLE (Panfrost, Mali-G52 r1 (Panfrost), OpenGL 3.1 Mesa 22.2.3) GL_VERSION OpenGL ES 2.0.0 (ANGLE 2.1.0 git hash: unknown hash) GL_EXTENSIONS GL_AMD_performance_monitor GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_get_serialized_context_string GL_ANGLE_get_tex_level_parameter GL_ANGLE_instanced_arrays GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_program_cache_control GL_ANGLE_provoking_vertex GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_external_update GL_ANGLE_texture_rectangle GL_ANGLE_translated_shader_source GL_APPLE_clip_distance GL_ARB_sync GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_texture GL_CHROMIUM_lose_context GL_CHROMIUM_sync_query GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_draw_buffers GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_multi_draw_indirect GL_EXT_multisample_compatibility GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_texture_compression_bptc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_type_2_10_10_10_REV GL_EXT_unpack_subimage GL_KHR_debug GL_KHR_parallel_shader_compile GL_NV_depth_buffer_float2 GL_NV_fence GL_NV_framebuffer_blit GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_NV_read_depth GL_NV_read_stencil GL_OES_compressed_EAC_R11_signed_texture GL_OES_compressed_EAC_R11_unsigned_texture GL_OES_compressed_EAC_RG11_signed_texture GL_OES_compressed_EAC_RG11_unsigned_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_ETC2_RGB8_texture GL_OES_compressed_ETC2_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture GL_OES_compressed_ETC2_sRGB8_alpha8_texture GL_OES_compressed_ETC2_sRGB8_texture GL_OES_depth24 GL_OES_depth32 GL_OES_depth_texture GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_3D GL_OES_texture_border_clamp GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_texture_stencil8 GL_OES_vertex_array_object GL_WEBGL_video_texture Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_MESA_framebuffer_flip_y Disabled WebGL Extensions Window system binding vendor Google Inc. (Panfrost) Window system binding version 1.5 (ANGLE 2.1.0 git hash: unknown hash) Window system binding extensions EGL_KHR_create_context EGL_KHR_get_all_proc_addresses EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_ANGLE_sync_control_rate EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_display_semaphore_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled EGL_ANDROID_blob_cache EGL_ANDROID_recordable EGL_ANGLE_create_context_backwards_compatible EGL_KHR_create_context_no_error EGL_NOK_texture_from_pixmap EGL_KHR_reusable_sync XDG_CURRENT_DESKTOP GNOME XDG_SESSION_TYPE wayland GDMSESSION gnome Ozone platform x11 Direct rendering version unknown Reset notification strategy 0x8261 GPU process crash count 0 gfx::BufferFormats supported for allocation and texturing R_8: not supported, R_16: not supported, RG_88: not supported, RG_1616: not supported, BGR_565: not supported, RGBA_4444: not supported, RGBX_8888: not supported, RGBA_8888: not supported, BGRX_8888: not supported, BGRA_1010102: not supported, RGBA_1010102: not supported, BGRA_8888: not supported, RGBA_F16: not supported, YVU_420: not supported, YUV_420_BIPLANAR: not supported, P010: not supported Compositor Information Tile Update Mode One-copy Partial Raster Enabled GpuMemoryBuffers Status R_8 Software only R_16 Software only RG_88 Software only RG_1616 Software only BGR_565 Software only RGBA_4444 Software only RGBX_8888 Software only RGBA_8888 Software only BGRX_8888 Software only BGRA_1010102 Software only RGBA_1010102 Software only BGRA_8888 Software only RGBA_F16 Software only YVU_420 Software only YUV_420_BIPLANAR Software only P010 Software only Display(s) Information Info Display[33] bounds=[0,0 1920x1080], workarea=[0,29 1920x1051], scale=1, rotation=0, panel_rotation=0 external. Color space (all) {primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL} Buffer format (all) BGRA_8888 Color volume {name:'srgb', r:[0.6400, 0.3300], g:[0.3000, 0.6000], b:[0.1500, 0.3300], w:[0.3127, 0.3290]} SDR white level in nits 203 HDR relative maximum luminance 1 Bits per color component 8 Bits per pixel 24 Refresh Rate in Hz 59 Video Acceleration Information Decoding Encoding Vulkan Information Device Performance Information Log Messages [1842:1842:1209/091657.140448:ERROR:gl_surface_presentation_helper.cc(260)] : GetVSyncParametersIfAvailable() failed for 1 times! [1842:1842:1209/091657.157546:ERROR:gl_surface_presentation_helper.cc(260)] : GetVSyncParametersIfAvailable() failed for 2 times! [1842:1842:1209/091703.824110:ERROR:gl_surface_presentation_helper.cc(260)] : GetVSyncParametersIfAvailable() failed for 3 times! Driver Section: Quote Driver Information Initialization time 763 In-process GPU false Passthrough Command Decoder true Sandboxed true GPU0 VENDOR= 0x0000 [Google Inc. (Panfrost)], DEVICE=0x0000 [ANGLE (Panfrost, Mali-G52 r1 (Panfrost), OpenGL 3.1 Mesa 22.2.3)], DRIVER_VENDOR=Mesa, DRIVER_VERSION=22.2.3 *ACTIVE* Optimus false AMD switchable false GPU CUDA compute capability major version 0 Pixel shader version 1.00 Vertex shader version 1.00 Max. MSAA samples 4 Machine model name Machine model version GL_VENDOR Google Inc. (Panfrost) GL_RENDERER ANGLE (Panfrost, Mali-G52 r1 (Panfrost), OpenGL 3.1 Mesa 22.2.3) GL_VERSION OpenGL ES 2.0.0 (ANGLE 2.1.0 git hash: unknown hash) Edited December 9, 2022 by hotnikq 0 Quote
Igor Posted December 9, 2022 Posted December 9, 2022 54 minutes ago, hotnikq said: i see Mesa drivers on debian, but is it enabled by default? If you want acceleration within Chromium, you need to switch to Wayland. It doesn't work under X. 0 Quote
Hqnicolas Posted December 9, 2022 Posted December 9, 2022 (edited) 23 minutes ago, Igor said: If you want acceleration within Chromium, you need to switch to Wayland. It doesn't work under X. Debian Wayland Desktop to Mali SBC's are hard to find, people always compile Xfce, but a Big gnome with gpu acceleration is always fast than a Tiny Xfce on CPU. i see no advantage on x11 desktop for Mali devices since GTK can import legacy x11. i'm downloading Armbian Gnome with Kernel 6.0.y, will repport things here. Edited December 9, 2022 by hotnikq 0 Quote
Igor Posted December 9, 2022 Posted December 9, 2022 3 minutes ago, hotnikq said: but the aceleration isn't there by default. We don't have enough of people to tweak desktops well and I am by no mean an expert in this area. I am more interested into low level. KDE is maintained by nobody / vanilla install ... I am trying to address XFCE, Gnome, Cinnamon, while for more (in fact already this is out of possible) ... https://docs.armbian.com/Process_Contribute/ I am just playing with Rock 5 at this very moment, running Gnome (Jammy), kernel 5.10.y ... Chromium under Wayland is accelerated, under X, not. Not sure if we want to enable Wayland by default as its not very stable. Arch / Manjaro don't care about stability at all. 0 Quote
Hqnicolas Posted December 9, 2022 Posted December 9, 2022 Fom Armbian Gnome Kernel 6.0.10 Quote Linux rock-3a 6.0.10-rk35xx #22.11.1 SMP PREEMPT Wed Nov 30 11:08:41 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux HW acceleration is working! Just Swith From Ubuntu X11 to Ubuntu Wayland. But, video acceleration, i think it`s VP9 on browser dont work. chrome://gpu/ Quote Graphics Feature Status Canvas: Hardware accelerated Canvas out-of-process rasterization: Enabled Direct Rendering Display Compositor: Disabled Compositing: Hardware accelerated Multiple Raster Threads: Enabled OpenGL: Enabled Rasterization: Hardware accelerated Raw Draw: Disabled Video Decode: Hardware accelerated Video Encode: Software only. Hardware acceleration disabled Vulkan: Disabled WebGL: Hardware accelerated WebGL2: Hardware accelerated WebGPU: Disabled Driver Bug Workarounds clear_uniforms_before_first_program_use count_all_in_varyings_packing disable_post_sub_buffers_for_onscreen_surfaces enable_webgl_timer_query_extensions exit_on_context_lost disabled_extension_GL_KHR_blend_equation_advanced disabled_extension_GL_KHR_blend_equation_advanced_coherent disabled_extension_GL_MESA_framebuffer_flip_y Problems Detected WebGPU has been disabled via blocklist or the command line. Disabled Features: webgpu Accelerated video encode has been disabled, either via blocklist, about:flags or the command line. Disabled Features: video_encode Clear uniforms before first program use on all platforms: 124764, 349137 Applied Workarounds: clear_uniforms_before_first_program_use Mesa drivers in Linux handle varyings without static use incorrectly: 333885 Applied Workarounds: count_all_in_varyings_packing Disable partial swaps on Mesa drivers (detected with GL_VERSION): 339493 Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces Disable KHR_blend_equation_advanced until cc shaders are updated: 661715 Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent) Expose WebGL's disjoint_timer_query extensions on platforms with site isolation: 808744, 870491 Applied Workarounds: enable_webgl_timer_query_extensions Some drivers can't recover after OUT_OF_MEM and context lost: 893177 Applied Workarounds: exit_on_context_lost Disable GL_MESA_framebuffer_flip_y for desktop GL: 964010 Applied Workarounds: disable(GL_MESA_framebuffer_flip_y) ANGLE Features allowCompressedFormats (Frontend workarounds): Enabled: true Allow compressed formats cacheCompiledShader (Frontend features) anglebug:7036: Disabled Enable to cache compiled shaders disableAnisotropicFiltering (Frontend workarounds): Disabled Disable support for anisotropic filtering disableProgramBinary (Frontend features) anglebug:5007: Disabled: IsPowerVrRogue(functions) Disable support for GL_OES_get_program_binary disableProgramCachingForTransformFeedback (Frontend workarounds): Disabled: IsAndroid() && isQualcomm On some GPUs, program binaries don't contain transform feedback varyings emulatePixelLocalStorage (Frontend features) anglebug:7279: Disabled: false Emulate ANGLE_shader_pixel_local_storage using shader images enableCaptureLimits (Frontend features) anglebug:5750: Disabled Set the context limits like frame capturing was enabled enableCompressingPipelineCacheInThreadPool (Frontend workarounds) anglebug:4722: Disabled: false Enable compressing pipeline cache in thread pool. enableProgramBinaryForCapture (Frontend features) anglebug:5658: Disabled Even if FrameCapture is enabled, enable GL_OES_get_program_binary forceDepthAttachmentInitOnClear (Frontend workarounds) anglebug:7246: Disabled Force depth attachment initialization on clear ops forceGlErrorChecking (Frontend features) https://issuetracker.google.com/220069903: Disabled Force GL error checking (i.e. prevent applications from disabling error checking forceInitShaderVariables (Frontend features): Disabled Force-enable shader variable initialization forceRobustResourceInit (Frontend features) anglebug:6041: Disabled Force-enable robust resource init loseContextOnOutOfMemory (Frontend workarounds): Enabled: true Some users rely on a lost context notification if a GL_OUT_OF_MEMORY error occurs scalarizeVecAndMatConstructorArgs (Frontend workarounds) 1165751: Disabled: false Always rewrite vec/mat constructors to be consistent RGBA4IsNotSupportedForColorRendering (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isIntel GL_RGBA4 is not color renderable RGBDXT1TexturesSampleZeroAlpha (OpenGL workarounds) anglebug:3729: Disabled: IsApple() Sampling BLACK texels from RGB DXT1 textures returns transparent black on Mac. addAndTrueToLoopCondition (OpenGL workarounds): Disabled: IsApple() && isIntel Calculation of loop conditions in for and while loop has bug adjustSrcDstRegionForBlitFramebuffer (OpenGL workarounds) 830046: Enabled: IsLinux() || (IsAndroid() && isNvidia) || (IsWindows() && isNvidia) || (IsApple() && functions->standard == STANDARD_GL_ES) Many platforms have issues with blitFramebuffer when the parameters are large. allowAstcFormats (OpenGL workarounds): Disabled: !isMesa || isIntel && (Is9thGenIntel(device) || IsGeminiLake(device) || IsCoffeeLake(device) || Is11thGenIntel(device) || Is12thGenIntel(device)) Enable ASTC on desktop OpenGL allowClearForRobustResourceInit (OpenGL workarounds) 848952: Disabled: IsApple() Using glClear for robust resource initialization is buggy on some drivers and leads to texture corruption. Default to data uploads except on MacOS where it is very slow. allowETCFormats (OpenGL workarounds): Disabled: isIntel && !IsSandyBridge(device) && !IsIvyBridge(device) && !IsHaswell(device) Enable ETC2/EAC on desktop OpenGL alwaysCallUseProgramAfterLink (OpenGL workarounds) 110263: Enabled: true Always call useProgram after a successful link to avoid a driver bug alwaysUnbindFramebufferTexture2D (OpenGL workarounds) anglebug:5536: Disabled: isNvidia && (IsWindows() || IsLinux()) Force unbind framebufferTexture2D before binding renderbuffer to work around driver bug. avoid1BitAlphaTextureFormats (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isAMD Issue with 1-bit alpha framebuffer formats bindTransformFeedbackBufferBeforeBindBufferRange (OpenGL workarounds) anglebug:5140: Disabled: IsApple() Bind transform feedback buffers to the generic binding point before calling glBindBufferBase or glBindBufferRange. clampArrayAccess (OpenGL workarounds) anglebug:2978: Enabled: IsAndroid() || isAMD || !functions->hasExtension("GL_KHR_robust_buffer_access_behavior") Clamp uniform array access to avoid reading invalid memory. clampFragDepth (OpenGL workarounds): Disabled: isNvidia gl_FragDepth is not clamped correctly when rendering to a floating point depth buffer clampMscRate (OpenGL workarounds) 1042393: Enabled: IsLinux() && IsWayland() Some drivers return bogus values for GetMscRate, so we clamp it to 30Hz clampPointSize (OpenGL workarounds): Disabled: IsAndroid() || isNvidia The point size range reported from the API is inconsistent with the actual behavior clearToZeroOrOneBroken (OpenGL workarounds) 710443: Disabled: IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 6) Clears when the clear color is all zeros or ones do not work. clipSrcRegionForBlitFramebuffer (OpenGL workarounds) 830046: Disabled: IsApple() || (IsLinux() && isAMD) Issues with blitFramebuffer when the parameters don't match the framebuffer size. decodeEncodeSRGBForGenerateMipmap (OpenGL workarounds) anglebug:4646: Disabled: IsApple() Decode and encode before generateMipmap for srgb format textures. disableBlendFuncExtended (OpenGL workarounds) anglebug:1085: Disabled: isAMD || isIntel ARB_blend_func_extended does not pass the tests disableDrawBuffersIndexed (OpenGL workarounds): Disabled: IsWindows() && isAMD Disable OES_draw_buffers_indexed extension. disableGPUSwitchingSupport (OpenGL workarounds) 1091824: Disabled: isDualGPUMacWithNVIDIA Disable GPU switching support (use only the low-power GPU) on older MacBook Pros. disableMultisampledRenderToTexture (OpenGL workarounds) anglebug:2894: Disabled: isAdreno4xxOnAndroidLessThan51 || isAdreno4xxOnAndroid70 || isAdreno5xxOnAndroidLessThan70 || isAdreno5xxOnAndroid71 || isLinuxVivante Many drivers have bugs when using GL_EXT_multisampled_render_to_texture disableNativeParallelCompile (OpenGL workarounds) 1094869: Disabled: isTSANBuild && IsLinux() && isNvidia Do not use native KHR_parallel_shader_compile even when available. disableSemaphoreFd (OpenGL workarounds) 1046462: Disabled: IsLinux() && isAMD && isMesa && mesaVersion < (std::array<int, 3>{19, 3, 5}) Disable GL_EXT_semaphore_fd extension disableSyncControlSupport (OpenGL workarounds) 1137851: Disabled: IsLinux() && isIntel && isMesa && mesaVersion[0] == 20 Speculative fix for issues on Linux/Wayland where exposing GLX_OML_sync_control renders Chrome unusable disableTextureClampToBorder (OpenGL workarounds) anglebug:7405: Disabled: isImagination Imagination devices generate INVALID_ENUM when setting the texture border color. disableTimestampQueries (OpenGL workarounds) 811661: Disabled: (IsLinux() && isVMWare) || (IsAndroid() && isNvidia) || (IsAndroid() && GetAndroidSdkLevel() < 27 && IsAdreno5xxOrOlder(functions)) || (IsAndroid() && IsMaliT8xxOrOlder(functions)) || (IsAndroid() && IsMaliG31OrOlder(functions)) Disable GL_EXT_disjoint_timer_query extension disableWorkerContexts (OpenGL workarounds) 849576: Disabled: (IsWindows() && (isIntel || isAMD)) || (IsLinux() && isNvidia) || IsIOS() || IsAndroid() || IsAndroidEmulator(functions) Some tests have been seen to fail using worker contexts doWhileGLSLCausesGPUHang (OpenGL workarounds) 644669: Disabled: IsApple() && functions->standard == STANDARD_GL_DESKTOP && GetMacOSVersion() < OSVersion(10, 11, 0) Some GLSL constructs involving do-while loops cause GPU hangs doesSRGBClearsOnLinearFramebufferAttachments (OpenGL workarounds): Disabled: isIntel || isAMD Issue clearing framebuffers with linear attachments when GL_FRAMEBUFFER_SRGB is enabled dontInitializeUninitializedLocals (OpenGL workarounds) anglebug:2046: Disabled: IsAndroid() && isQualcomm Initializing uninitialized locals caused odd behavior in a few WebGL 2 tests dontRelinkProgramsInParallel (OpenGL workarounds) anglebug:3045: Disabled: IsAndroid() || (IsWindows() && isIntel) Relinking a program in parallel is buggy dontUseLoopsToInitializeVariables (OpenGL workarounds) 809422: Disabled: (IsAndroid() && isQualcomm) || (isIntel && IsApple()) For loops used to initialize variables hit native GLSL compiler bugs emulateAbsIntFunction (OpenGL workarounds) 642227: Disabled: IsApple() && isIntel abs(i) where i is an integer returns unexpected result emulateAtan2Float (OpenGL workarounds) 672380: Disabled: isNvidia atan(y, x) may return a wrong answer emulateCopyTexImage2D (OpenGL workarounds): Disabled: isApple Replace CopyTexImage2D with TexImage2D + CopyTexSubImage2D. emulateCopyTexImage2DFromRenderbuffers (OpenGL workarounds) anglebug:4674: Disabled: IsApple() && functions->standard == STANDARD_GL_ES && !(isAMD && IsWindows()) CopyTexImage2D spuriously returns errors on iOS when copying from renderbuffers. emulateImmutableCompressedTexture3D (OpenGL workarounds) 1060012: Disabled: isQualcomm Use non-immutable texture allocation to work around a driver bug. emulateIsnanFloat (OpenGL workarounds) 650547: Disabled: isIntel && IsApple() && IsSkylake(device) && GetMacOSVersion() < OSVersion(10, 13, 2) Using isnan() on highp float will get wrong answer emulateMaxVertexAttribStride (OpenGL workarounds) anglebug:1936: Disabled: IsLinux() && functions->standard == STANDARD_GL_DESKTOP && isAMD Some drivers return 0 when MAX_VERTEX_ATTRIB_STRIED queried emulatePackSkipRowsAndPackSkipPixels (OpenGL workarounds) anglebug:4849: Disabled: IsApple() GL_PACK_SKIP_ROWS and GL_PACK_SKIP_PIXELS are ignored in Apple's OpenGL driver. emulatePrimitiveRestartFixedIndex (OpenGL workarounds) anglebug:3997: Enabled: functions->standard == STANDARD_GL_DESKTOP && functions->isAtLeastGL(gl::Version(3, 1)) && !functions->isAtLeastGL(gl::Version(4, 3)) When GL_PRIMITIVE_RESTART_FIXED_INDEX is not available, emulate it with GL_PRIMITIVE_RESTART and glPrimitiveRestartIndex. emulateRGB10 (OpenGL workarounds) 1300575: Enabled: functions->standard == STANDARD_GL_DESKTOP Emulate RGB10 support using RGB10_A2. finishDoesNotCauseQueriesToBeAvailable (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isNvidia glFinish doesn't cause all queries to report available result flushBeforeDeleteTextureIfCopiedTo (OpenGL workarounds) anglebug:4267: Disabled: IsApple() && isIntel Some drivers track CopyTex{Sub}Image texture dependencies incorrectly. Flush before glDeleteTextures in this case flushOnFramebufferChange (OpenGL workarounds) 1181068: Disabled: IsApple() && Has9thGenIntelGPU(systemInfo) Switching framebuffers without a flush can lead to crashes on Intel 9th Generation GPU Macs. initFragmentOutputVariables (OpenGL workarounds) 1171371: Disabled: IsAdreno42xOr3xx(functions) No init gl_FragColor causes context lost initializeCurrentVertexAttributes (OpenGL workarounds): Disabled: isNvidia During initialization, assign the current vertex attributes to the spec-mandated defaults keepBufferShadowCopy (OpenGL workarounds): Disabled: !CanMapBufferForRead(functions) Maintain a shadow copy of buffer data when the GL API does not permit reading data back. limitMax3dArrayTextureSizeTo1024 (OpenGL workarounds) 927470: Disabled: limitMaxTextureSize Limit max 3d texture size and max array texture layers to 1024 to avoid system hang limitMaxMSAASamplesTo4 (OpenGL workarounds) 797243: Disabled: IsAndroid() || (IsApple() && (isIntel || isAMD || isNvidia)) Various rendering bugs have been observed when using higher MSAA counts limitWebglMaxTextureSizeTo4096 (OpenGL workarounds) 927470: Disabled: IsAndroid() || limitMaxTextureSize Limit webgl max texture size to 4096 to avoid frequent out-of-memory errors packLastRowSeparatelyForPaddingInclusion (OpenGL workarounds) anglebug:1512: Disabled: IsApple() || isNvidia When uploading textures from an pack buffer, some drivers count an extra row padding packOverlappingRowsSeparatelyPackBuffer (OpenGL workarounds): Disabled: isNvidia In the case of packing to a pixel pack buffer, pack overlapping rows row by row passHighpToPackUnormSnormBuiltins (OpenGL workarounds) anglebug:7527: Disabled: isQualcomm packUnorm4x8 fails on Pixel 4 if it is not passed a highp vec4. preAddTexelFetchOffsets (OpenGL workarounds) 642605: Disabled: IsApple() && isIntel Intel Mac drivers mistakenly consider the parameter position of nagative vaule as invalid even if the sum of position and offset is in range, so we need to add workarounds by rewriting texelFetchOffset(sampler, position, lod, offset) into texelFetch(sampler, position + offset, lod). promotePackedFormatsTo8BitPerChannel (OpenGL workarounds) anglebug:5469: Disabled: IsApple() && hasAMD Packed color formats are buggy on Macs with AMD GPUs queryCounterBitsGeneratesErrors (OpenGL workarounds) anglebug:3027: Disabled: IsNexus5X(vendor, device) Drivers generate errors when querying the number of bits in timer queries readPixelsUsingImplementationColorReadFormatForNorm16 (OpenGL workarounds) anglebug:4214: Disabled: !isIntel && functions->standard == STANDARD_GL_ES && functions->isAtLeastGLES(gl::Version(3, 1)) && functions->hasGLESExtension("GL_EXT_texture_norm16") Quite some OpenGL ES drivers don't implement readPixels for RGBA/UNSIGNED_SHORT from EXT_texture_norm16 correctly reapplyUBOBindingsAfterUsingBinaryProgram (OpenGL workarounds) anglebug:1637: Disabled: isAMD || IsAndroid() Some drivers forget about UBO bindings when using program binaries regenerateStructNames (OpenGL workarounds) 403957: Disabled: IsApple() All Mac drivers do not handle struct scopes correctly. This workaround overwrites a structname with a unique prefix. removeDynamicIndexingOfSwizzledVector (OpenGL workarounds) 709351: Disabled: IsApple() || IsAndroid() || IsWindows() Dynamic indexing of swizzled l-values doesn't work correctly on various platforms. removeInvariantAndCentroidForESSL3 (OpenGL workarounds): Enabled: functions->isAtMostGL(gl::Version(4, 1)) || (functions->standard == STANDARD_GL_DESKTOP && isAMD) Fix spec difference between GLSL 4.1 or lower and ESSL3 resetTexImage2DBaseLevel (OpenGL workarounds) 705865: Disabled: IsApple() && isIntel && GetMacOSVersion() >= OSVersion(10, 12, 4) Reset texture base level before calling glTexImage2D to work around pixel comparison failure. rewriteFloatUnaryMinusOperator (OpenGL workarounds) 308366: Disabled: IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 0) Using '-<float>' will get wrong answer rewriteRepeatedAssignToSwizzled (OpenGL workarounds): Disabled: isNvidia Repeated assignment to swizzled values inside a GLSL user-defined function have incorrect results rewriteRowMajorMatrices (OpenGL workarounds) anglebug:2273: Disabled: false Rewrite row major matrices in shaders as column major as a driver bug workaround sanitizeAMDGPURendererString (OpenGL workarounds) 1181193: Disabled: IsLinux() && hasAMD Strip precise kernel and DRM version information from amdgpu renderer strings. setPrimitiveRestartFixedIndexForDrawArrays (OpenGL workarounds) anglebug:3997: Disabled: features->emulatePrimitiveRestartFixedIndex.enabled && IsApple() && isIntel Some drivers discard vertex data in DrawArrays calls when the fixed primitive restart index is within the number of primitives being drawn. setZeroLevelBeforeGenerateMipmap (OpenGL workarounds): Disabled: IsApple() glGenerateMipmap fails if the zero texture level is not set on some Mac drivers. shiftInstancedArrayDataWithOffset (OpenGL workarounds) 1144207: Disabled: IsApple() && IsIntel(vendor) && !IsHaswell(device) glDrawArraysInstanced is buggy on certain new Mac Intel GPUs supportsFragmentShaderInterlockARB (OpenGL features) anglebug:7279: Disabled: functions->isAtLeastGL(gl::Version(4, 5)) && functions->hasGLExtension("GL_ARB_fragment_shader_interlock") GL context supports ARB_fragment_shader_interlock extension supportsFragmentShaderInterlockNV (OpenGL features) anglebug:7279: Disabled: functions->isAtLeastGL(gl::Version(4, 3)) && functions->hasGLExtension("GL_NV_fragment_shader_interlock") GL context supports NV_fragment_shader_interlock extension supportsFragmentShaderOrderingINTEL (OpenGL features) anglebug:7279: Disabled: functions->isAtLeastGL(gl::Version(4, 4)) && functions->hasGLExtension("GL_INTEL_fragment_shader_ordering") GL context supports GL_INTEL_fragment_shader_ordering extension syncVertexArraysToDefault (OpenGL workarounds) anglebug:5577: Disabled: !nativegl::SupportsVertexArrayObjects(functions) Only use the default VAO because of missing support or driver bugs unbindFBOBeforeSwitchingContext (OpenGL workarounds) 1181193: Disabled: IsPowerVR(vendor) Imagination GL drivers are buggy with context switching. unfoldShortCircuits (OpenGL workarounds) anglebug:482: Disabled: IsApple() Mac incorrectly executes both sides of && and || expressions when they should short-circuit. unpackLastRowSeparatelyForPaddingInclusion (OpenGL workarounds) anglebug:1512: Disabled: IsApple() || isNvidia When uploading textures from an unpack buffer, some drivers count an extra row padding unpackOverlappingRowsSeparatelyUnpackBuffer (OpenGL workarounds): Disabled: isNvidia In the case of unpacking from a pixel unpack buffer, unpack overlapping rows row by row unsizedSRGBReadPixelsDoesntTransform (OpenGL workarounds) 550292: Disabled: IsAndroid() && isQualcomm Drivers returning raw sRGB values instead of linearized values when calling glReadPixels on unsized sRGB texture formats uploadTextureDataInChunks (OpenGL workarounds) 1181068: Disabled: IsApple() Upload texture data in <120kb chunks to work around Mac driver hangs and crashes. useUnusedBlocksWithStandardOrSharedLayout (OpenGL workarounds): Disabled: (IsApple() && functions->standard == STANDARD_GL_DESKTOP) || (IsLinux() && isAMD) Unused std140 or shared uniform blocks will be treated as inactive vertexIDDoesNotIncludeBaseVertex (OpenGL workarounds): Disabled: IsApple() && isAMD gl_VertexID in GLSL vertex shader doesn't include base vertex value DAWN Info <CPU> Vulkan backend - SwiftShader Device (LLVM 10.0.0) [Default Toggle Names] lazy_clear_resource_on_first_use: https://crbug.com/dawn/145: Clears resource to zero on first usage. This initializes the resource so that no dirty bits from recycled memory is present in the new resource. use_temporary_buffer_in_texture_to_texture_copy: https://crbug.com/dawn/42: Split texture-to-texture copy into two copies: copy from source texture into a temporary buffer, and copy from the temporary buffer into the destination texture when copying between compressed textures that don't have block-aligned sizes. This workaround is enabled by default on all Vulkan drivers to solve an issue in the Vulkan SPEC about the texture-to-texture copies with compressed formats. See #1005 (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more details. vulkan_use_d32s8: https://crbug.com/dawn/286: Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When available the backend will use D32S8 (toggle to on) but setting the toggle to off will make it use the D24S8 format when possible. vulkan_use_s8: https://crbug.com/dawn/666: Vulkan has a pure stencil8 format but it is not universally available. When this toggle is on, the backend will use S8 for the stencil8 format, otherwise it will fallback to D32S8 or D24S8. disallow_unsafe_apis: http://crbug.com/1138528: Produces validation errors on API entry points or parameter combinations that aren't considered secure yet. use_vulkan_zero_initialize_workgroup_memory_extension: https://crbug.com/dawn/1302: Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan extension VK_KHR_zero_initialize_workgroup_memory is supported. [WebGPU Forced Toggles - enabled] disallow_spirv: https://crbug.com/1214923: Disallow usage of SPIR-V completely so that only WGSL is used for shader modules. This is useful to prevent a Chromium renderer process from successfully sending SPIR-V code to be compiled in the GPU process. [Supported Features] texture-compression-bc texture-compression-etc2 texture-compression-astc timestamp-query depth-clip-control depth32float-stencil8 indirect-first-instance dawn-internal-usages dawn-native Version Information Data exported 2022-12-09T14:51:51.667Z Chrome version Chrome/107.0.5304.62 Operating system Linux 6.0.10-rk35xx Software rendering list URL https://chromium.googlesource.com/chromium/src/+/1eec40d3a5764881c92085aaee66d25075c159aa/gpu/config/software_rendering_list.json Driver bug list URL https://chromium.googlesource.com/chromium/src/+/1eec40d3a5764881c92085aaee66d25075c159aa/gpu/config/gpu_driver_bug_list.json ANGLE commit id unknown hash 2D graphics backend Skia/107 3a8c9bc2f275732b2fd1a566becf421e62fe1f46 Command Line /usr/lib/chromium-browser/chromium-browser --enable-pinch --enable-crashpad --flag-switches-begin --flag-switches-end --desktop-startup-id=9c0d8cfc-9c45-468c-92d6-e9d052653f9d Driver Information Initialization time 981 In-process GPU false Passthrough Command Decoder true Sandboxed false GPU0 VENDOR= 0x0000 [Google Inc. (Panfrost)], DEVICE=0x0000 [ANGLE (Panfrost, Mali-G52 r1 (Panfrost), OpenGL 3.1 Mesa 23.0.0-devel (git-3507cdc 2022-11-29 jammy-oibaf-ppa))], DRIVER_VENDOR=Mesa, DRIVER_VERSION=23.0.0 *ACTIVE* Optimus false AMD switchable false GPU CUDA compute capability major version 0 Pixel shader version 1.00 Vertex shader version 1.00 Max. MSAA samples 4 Machine model name Machine model version GL_VENDOR Google Inc. (Panfrost) GL_RENDERER ANGLE (Panfrost, Mali-G52 r1 (Panfrost), OpenGL 3.1 Mesa 23.0.0-devel (git-3507cdc 2022-11-29 jammy-oibaf-ppa)) GL_VERSION OpenGL ES 2.0.0 (ANGLE 2.1.0 git hash: unknown hash) GL_EXTENSIONS GL_AMD_performance_monitor GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_get_serialized_context_string GL_ANGLE_get_tex_level_parameter GL_ANGLE_instanced_arrays GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_program_cache_control GL_ANGLE_provoking_vertex GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_external_update GL_ANGLE_texture_rectangle GL_ANGLE_translated_shader_source GL_APPLE_clip_distance GL_ARB_sync GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_texture GL_CHROMIUM_lose_context GL_CHROMIUM_sync_query GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_draw_buffers GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_multi_draw_indirect GL_EXT_multisample_compatibility GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_texture_compression_bptc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_type_2_10_10_10_REV GL_EXT_unpack_subimage GL_KHR_debug GL_KHR_parallel_shader_compile GL_NV_depth_buffer_float2 GL_NV_fence GL_NV_framebuffer_blit GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_NV_read_depth GL_NV_read_stencil GL_OES_compressed_EAC_R11_signed_texture GL_OES_compressed_EAC_R11_unsigned_texture GL_OES_compressed_EAC_RG11_signed_texture GL_OES_compressed_EAC_RG11_unsigned_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_ETC2_RGB8_texture GL_OES_compressed_ETC2_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture GL_OES_compressed_ETC2_sRGB8_alpha8_texture GL_OES_compressed_ETC2_sRGB8_texture GL_OES_depth24 GL_OES_depth32 GL_OES_depth_texture GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_3D GL_OES_texture_border_clamp GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_texture_stencil8 GL_OES_vertex_array_object GL_WEBGL_video_texture Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_MESA_framebuffer_flip_y Disabled WebGL Extensions Window system binding vendor Google Inc. (Panfrost) Window system binding version 1.5 (ANGLE 2.1.0 git hash: unknown hash) Window system binding extensions EGL_KHR_create_context EGL_KHR_get_all_proc_addresses EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_ANGLE_sync_control_rate EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_display_semaphore_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled EGL_ANDROID_blob_cache EGL_ANDROID_recordable EGL_ANGLE_create_context_backwards_compatible EGL_KHR_create_context_no_error EGL_NOK_texture_from_pixmap EGL_KHR_reusable_sync XDG_CURRENT_DESKTOP ubuntu:GNOME XDG_SESSION_TYPE wayland GDMSESSION ubuntu-wayland Ozone platform x11 Direct rendering version unknown Reset notification strategy 0x8261 GPU process crash count 0 gfx::BufferFormats supported for allocation and texturing R_8: not supported, R_16: not supported, RG_88: not supported, RG_1616: not supported, BGR_565: not supported, RGBA_4444: not supported, RGBX_8888: not supported, RGBA_8888: not supported, BGRX_8888: not supported, BGRA_1010102: not supported, RGBA_1010102: not supported, BGRA_8888: not supported, RGBA_F16: not supported, YVU_420: not supported, YUV_420_BIPLANAR: not supported, P010: not supported Compositor Information Tile Update Mode One-copy Partial Raster Enabled GpuMemoryBuffers Status R_8 Software only R_16 Software only RG_88 Software only RG_1616 Software only BGR_565 Software only RGBA_4444 Software only RGBX_8888 Software only RGBA_8888 Software only BGRX_8888 Software only BGRA_1010102 Software only RGBA_1010102 Software only BGRA_8888 Software only RGBA_F16 Software only YVU_420 Software only YUV_420_BIPLANAR Software only P010 Software only Display(s) Information Info Display[33] bounds=[0,0 1920x1080], workarea=[74,27 1846x1053], scale=1, rotation=0, panel_rotation=0 external. Color space (all) {primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL} Buffer format (all) BGRA_8888 Color volume {name:'srgb', r:[0.6400, 0.3300], g:[0.3000, 0.6000], b:[0.1500, 0.3300], w:[0.3127, 0.3290]} SDR white level in nits 203 HDR relative maximum luminance 1 Bits per color component 8 Bits per pixel 24 Refresh Rate in Hz 59 Video Acceleration Information Decoding Encoding Vulkan Information Device Performance Information Log Messages [5300:5300:1209/115038.542084:ERROR:angle_platform_impl.cc(43)] : RendererVk.cpp:144 (VerifyExtensionsPresent): Extension not supported: VK_KHR_surface [5300:5300:1209/115038.542581:ERROR:angle_platform_impl.cc(43)] : RendererVk.cpp:144 (VerifyExtensionsPresent): Extension not supported: VK_KHR_xcb_surface [5300:5300:1209/115038.547887:ERROR:angle_platform_impl.cc(43)] : Display.cpp:1004 (initialize): ANGLE Display::initialize error 0: Internal Vulkan error (-7): A requested extension is not supported, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1562. [5300:5300:1209/115038.548343:ERROR:gl_display.cc(508)] : EGL Driver message (Critical) eglInitialize: Internal Vulkan error (-7): A requested extension is not supported, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1562. [5300:5300:1209/115038.548601:ERROR:gl_display.cc(920)] : eglInitialize Vulkan failed with error EGL_NOT_INITIALIZED, trying next display type [5300:5300:1209/115039.227079:ERROR:gl_angle_util_vulkan.cc(189)] : Failed to retrieve vkGetInstanceProcAddr [5300:5300:1209/115039.227420:ERROR:vulkan_instance.cc(91)] : Failed to get vkGetInstanceProcAddr pointer from ANGLE. [5300:5300:1209/115039.235472:WARNING:sandbox_linux.cc(380)] : InitializeSandbox() called with multiple threads in process gpu-process. [5300:5300:1209/115039.571255:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.571795:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.572730:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.573206:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.573889:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.574361:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.574796:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.575505:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.581844:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.582342:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.584150:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.584631:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.585294:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.586653:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.588057:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115039.588582:ERROR:gbm_wrapper.cc(293)] : Failed to export buffer to dma_buf: No such file or directory (2) [5300:5300:1209/115103.935726:ERROR:gl_surface_presentation_helper.cc(260)] : GetVSyncParametersIfAvailable() failed for 1 times! [5300:5300:1209/115103.948678:ERROR:gl_surface_presentation_helper.cc(260)] : GetVSyncParametersIfAvailable() failed for 2 times! [5300:5300:1209/115108.105954:ERROR:gl_surface_presentation_helper.cc(260)] : GetVSyncParametersIfAvailable() failed for 3 times! Driver Section from Chrome Quote Driver Information Initialization time 981 In-process GPU false Passthrough Command Decoder true Sandboxed false GPU0 VENDOR= 0x0000 [Google Inc. (Panfrost)], DEVICE=0x0000 [ANGLE (Panfrost, Mali-G52 r1 (Panfrost), OpenGL 3.1 Mesa 23.0.0-devel (git-3507cdc 2022-11-29 jammy-oibaf-ppa))], DRIVER_VENDOR=Mesa, DRIVER_VERSION=23.0.0 *ACTIVE* Optimus false AMD switchable false GPU CUDA compute capability major version 0 Pixel shader version 1.00 Vertex shader version 1.00 Max. MSAA samples 4 Machine model name Machine model version GL_VENDOR Google Inc. (Panfrost) GL_RENDERER ANGLE (Panfrost, Mali-G52 r1 (Panfrost), OpenGL 3.1 Mesa 23.0.0-devel (git-3507cdc 2022-11-29 jammy-oibaf-ppa)) 0 Quote
Hqnicolas Posted December 9, 2022 Posted December 9, 2022 (edited) a universal truth: 1 hour ago, Igor said: Arch / Manjaro don't care about stability at all. you are sharing the same idea: 1 hour ago, Igor said: I am just playing with Rock 5 at this very moment Mali Gpu + mesa Drivers, can you play a youtube video on chromium without CPU? my only question now, this Video Player acceleration on ARK (manjaro) is a patch for Chromium or it`s a patch for Driver? Edited December 9, 2022 by hotnikq 0 Quote
Igor Posted December 9, 2022 Posted December 9, 2022 6 minutes ago, hotnikq said: Mali Gpu + mesa Drivers, can you play a youtube video on chromium without CPU? No. 0 Quote
Hqnicolas Posted December 9, 2022 Posted December 9, 2022 (edited) 51 minutes ago, hotnikq said: my only question now, this Video Player acceleration on ARK (manjaro) is a patch for Chromium or it`s a patch for Driver? The only difference i can find is Mesa 22.2.3 (manjaro) Rasterization: Hardware accelerated on all pages Mesa 23.0.0-devel (armbian) Rasterization: Hardware accelerated Chromium pick up the gpu/vpu. But Not for Video Decode. Edited December 9, 2022 by hotnikq 0 Quote
balbes150 Posted December 9, 2022 Posted December 9, 2022 2 часа назад, Igor сказал: running Gnome The Gnome interface is the ugliest and moronic craft. 😎 0 Quote
Hqnicolas Posted December 9, 2022 Posted December 9, 2022 (edited) 1 hour ago, balbes150 said: The Gnome interface is the ugliest and moronic craft. 😎 The more Gnome progresses, the worse it gets. when the pininfarina accelerator is not working we have to accelerate (Barely) with Mitsuoka 2 hours ago, hotnikq said: Chromium pick up the gpu/vpu. But Not for Video Decode. Nothing we can do here, I'm going to compile a bunch of chromium and see which one will speed up VP9 and mesa drivers. Edited December 9, 2022 by hotnikq 0 Quote
usual user Posted December 9, 2022 Posted December 9, 2022 3 hours ago, hotnikq said: Nothing we can do here For out-of-the-box mainline kernel support you need at least 6.1.0-rc1 because that's where all currently available code for the rk3568 SOC has landed. GPU support has been available for a long time, see glmark2-wayland-odroid-m1.log for reference. And Mali-G52 is official conformant for OpenGL ES 3.1. VPU support is only available for the hantro IP. So hardware-accelerated video decoding of H.264 and VP8 works up to 1080p. See fluster-run-odroid-m1.log for reference. The available drivers are in quite good shape, see v4l2-compliance.log for reference. The support for the rkvdec2 IP is not yet available, so no 4K resolution and no VP9 and HEVC hardware decoding for now. Hardware encoding is only available for JPEG in poor quality. But missing mainline encoder support applies almost for all SOCs. If you need 4K resolution, VP9 or HEVC codecs, you have to currently rely on the vendor's legacy kernel with proprietary interfaces. 1 Quote
Hqnicolas Posted December 10, 2022 Posted December 10, 2022 19 hours ago, usual user said: If you need 4K resolution, VP9 or HEVC codecs, you have to currently rely on the vendor's legacy kernel with proprietary interfaces. I'm sad that you're right about everything Ark Manjaro Just Play 1080p VP9 with 25% cpu usage 4k 60hz isn't an option not even for display draw 0 Quote
Hqnicolas Posted December 15, 2022 Posted December 15, 2022 (edited) On 12/9/2022 at 12:13 PM, hotnikq said: this Video Player acceleration on ARK (manjaro) is a patch for Chromium or it`s a patch for Driver? it`s a Chromium Patch Let`s Make it Standart! for Wayland Desktop DIstros! For Chromium VIdeo Playback 1080P 60Fps RK3568 45% CPU usage Enabled Quote WebRTC PipeWire support When enabled the WebRTC will use the PipeWire multimedia server for capturing the desktop content on the Wayland display server. – Linux #enable-webrtc-pipewire-capturer Wayland Quote Preferred Ozone platform Selects the preferred platform backend used on Linux. The default one is "X11". "Auto" selects Wayland if possible, X11 otherwise. – Linux #ozone-platform-hint Edited December 15, 2022 by hotnikq 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.