https://bugs.kde.org/show_bug.cgi?id=516572

            Bug ID: 516572
           Summary: The 'Basic' brush stabilizer on Android has no effect.
    Classification: Applications
           Product: krita
      Version First 5.2.15
       Reported In:
          Platform: Android
                OS: Android 14.x
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Brush engines
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Created attachment 189987
  --> https://bugs.kde.org/attachment.cgi?id=189987&action=edit
Comparison between 'Off' and 'Basic' for the brush stabilizer on Android.

SUMMARY
The 'Basic' brush stabilizer on Android has no effect.  
This causes the lines of fine details to become wavy when drawing on a reduced
canvas. 
Please see the attached image for details. 
The black lines show the effect of turning off the brush stabilizer, while the
red lines show the effect of the 'Basic' brush stabilizer.
 Both look equally bad.

STEPS TO REPRODUCE
1.Create a new canvas.  
2.Reduce the canvas size.  
3.Draw lines that are roughly moved a few millimeters physically.  
4.Change the “Basic” brush stabilizer to turn off the brush stabilizer.  
5.Switch to another color.  
6.Draw lines that are roughly moved a few millimeters physically.  
7.Compare them.

OBSERVED RESULT
The 'Basic' brush stabilizer has no effect.

EXPECTED RESULT
The 'Basic' brush stabilizer is effective and prevents lines from turning wavy
when drawing small details.

SOFTWARE/OS VERSIONS
Krita

 Version: 5.2.15 (git 89dea6d)
 Hidpi: true

Qt

  Version (compiled): 5.15.7
  Version (loaded): 5.15.7

OS Information

  Build ABI: arm64-little_endian-lp64
  Build CPU: arm64
  CPU: arm64
  Kernel Type: linux
  Kernel Version: 5.4.254-qgki-28692233-abT733XXS9DYF1
  Pretty Productname: Android  (14.0)
  Product Type: android
  Product Version: 14.0
  Product Model: Samsung SM-T733

Locale

  Languages: zh, zh_CN, zh_CN
  C locale: C.UTF-8
  QLocale current: en
  QLocale system: en
  QTextCodec for locale: UTF-8

OpenGL Info

  Vendor:  "Qualcomm" 
  Renderer:  "Adreno (TM) 642L" 
  Driver version:  "OpenGL ES 3.2 [email protected] (GIT@9ad1b67875, Ib48d2dada6,
1746950435) (Date:05/11/25)" 
  Shading language:  "OpenGL ES GLSL ES 3.20" 
  Requested format:  QSurfaceFormat(version 3.0, options
QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8,
greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8,
samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0,
colorSpace QSurfaceFormat::DefaultColorSpace, profile 
QSurfaceFormat::NoProfile) 
  Current format:  QSurfaceFormat(version 3.2, options
QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8,
greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8,
samples 0, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 0,
colorSpace QSurfaceFormat::DefaultColorSpace, profile 
QSurfaceFormat::NoProfile) 
  GL version: 3.2 
  Supports deprecated functions false 
  Is OpenGL ES: true 
  supportsBufferMapping: true 
  supportsBufferInvalidation: false 
  forceDisableTextureBuffers: false 
  Extensions: 
     GL_EXT_shader_non_constant_global_initializers 
     GL_KHR_texture_compression_astc_hdr 
     GL_NV_shader_noperspective_interpolation 
     GL_KHR_robust_buffer_access_behavior 
     GL_QCOM_YUV_texture_gather 
     GL_EXT_tessellation_shader 
     GL_OES_EGL_image_external 
     GL_EXT_sRGB_write_control 
     GL_QCOM_tiled_rendering 
     GL_OVR_multiview 
     GL_OES_surfaceless_context 
     GL_OES_rgb8_rgba8 
     GL_EXT_geometry_shader 
     GL_QCOM_shader_framebuffer_fetch_noncoherent 
     GL_EXT_clip_control 
     GL_OES_texture_half_float_linear 
     GL_OES_element_index_uint 
     GL_OES_standard_derivatives 
     GL_OES_EGL_image_external_essl3 
     GL_EXT_disjoint_timer_query 
     GL_QCOM_motion_estimation 
     GL_EXT_texture_type_2_10_10_10_REV 
     GL_EXT_copy_image 
     GL_OES_texture_npot 
     GL_OES_shader_multisample_interpolation 
     GL_EXT_blend_func_extended 
     GL_OES_EGL_sync 
     GL_EXT_clip_cull_distance 
     GL_EXT_memory_object 
     GL_EXT_fragment_invocation_density 
     GL_OES_get_program_binary 
     GL_OES_EGL_image 
     GL_EXT_texture_cube_map_array 
     GL_EXT_blit_framebuffer_params 
     GL_OES_sample_shading 
     GL_KHR_texture_compression_astc_ldr 
     GL_EXT_shader_io_blocks 
     GL_EXT_texture_buffer 
     GL_KHR_no_error 
     GL_OES_texture_float_linear 
     GL_EXT_shader_framebuffer_fetch 
     GL_EXT_texture_sRGB_decode 
     GL_EXT_external_buffer 
     GL_EXT_robustness 
     GL_OVR_multiview_multisampled_render_to_texture 
     GL_OES_depth_texture 
     GL_EXT_discard_framebuffer 
     GL_QCOM_shader_framebuffer_fetch_rate 
     GL_AMD_compressed_ATC_texture 
     GL_EXT_color_buffer_float 
     GL_OVR_multiview2 
     GL_EXT_protected_textures 
     GL_QCOM_alpha_test 
     GL_KHR_blend_equation_advanced 
     GL_EXT_YUV_target 
     GL_OES_texture_stencil8 
     GL_OES_framebuffer_object 
     GL_OES_texture_float 
     GL_EXT_buffer_storage 
     GL_OES_depth_texture_cube_map 
     GL_OES_packed_depth_stencil 
     GL_OES_texture_storage_multisample_2d_array 
     GL_KHR_blend_equation_advanced_coherent 
     GL_OES_vertex_array_object 
     GL_EXT_EGL_image_external_wrap_modes 
     GL_QCOM_texture_foveated_subsampled_layout 
     GL_EXT_texture_filter_anisotropic 
     GL_EXT_texture_format_sRGB_override 
     GL_OES_texture_compression_astc 
     GL_EXT_texture_format_BGRA8888 
     GL_EXT_EGL_image_array 
     GL_OES_vertex_half_float 
     GL_OES_compressed_ETC1_RGB8_texture 
     GL_EXT_texture_border_clamp 
     GL_OES_sample_variables 
     GL_ARM_shader_framebuffer_fetch_depth_stencil 
     GL_OES_texture_view 
     GL_QCOM_texture_foveated 
     GL_OES_texture_half_float 
     GL_OES_shader_image_atomic 
     GL_OES_depth24 
     GL_EXT_EGL_image_storage 
     GL_EXT_sRGB 
     GL_EXT_debug_label 
     GL_EXT_texture_norm16 
     GL_EXT_color_buffer_half_float 
     GL_EXT_draw_buffers_indexed 
     GL_EXT_multisampled_render_to_texture2 
     GL_EXT_multisampled_render_to_texture 
     GL_EXT_gpu_shader5 
     GL_EXT_read_format_bgra 
     GL_EXT_texture_sRGB_R8 
     GL_QCOM_validate_shader_binary 
     GL_EXT_memory_object_fd 
     GL_OES_texture_3D 
     GL_ANDROID_extension_pack_es31a 
     GL_EXT_primitive_bounding_box 
     GL_KHR_debug 
     GL_EXT_debug_marker 
     GL_QCOM_shading_rate 

QPA OpenGL Detection Info 
  supportsDesktopGL: false 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: true 
  Detected renderers: 
    (Supported) Adreno (TM) 642L (OpenGL ES 3.2 [email protected] (GIT@9ad1b67875,
Ib48d2dada6, 1746950435) (Date:05/11/25))  

useBufferInvalidation (config option): false


Hardware Information

  GPU Acceleration: angle
  Memory: 7372 Mb
  Number of Cores: 8
  Swap Location: /data/data/org.krita/cache
  Built for: arm64+neon
  Base instruction set: arm64+neon
  Supported instruction sets: arm64+neon arm32+neon 

Current Settings

  Current Swap Location: /data/data/org.krita/cache
  Current Swap Location writable: true
  Undo Enabled: true
  Undo Stack Limit: 200
  Use OpenGL: true
  Use OpenGL Texture Buffer: true
  Disable Vector Optimizations: false
  Disable AVX Optimizations: false
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 420
  Use Backup Files: true
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Resource Location: /storage/emulated/0/Android/data/org.krita/files
  Use Win8 Pointer Input: false
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false


Display Information
Number of screens: 1
        Screen: 0
                Name: 
                Depth: 32
                Scale: 1.875
                Physical DPI130.431
                Logical DPI72
                Physical Size: 266, 166
                Position: 0, 0
                Resolution in pixels: 1365x853
                Manufacturer: 
                Model: 
                Refresh Rate: 60
                Serial Number: 


---------------------
================================================================================
SESSION: 23 Feb 2026 17:54:05 +0800. Executing
/data/app/~~0cX0VHRoyz0uicI4CcVchw==/org.krita--z5jjMEPiQNCcE1BFYhQvg==/lib/arm64/libkrita_arm64-v8a.so

Krita Version: 5.2.15 (git 89dea6d), Qt version compiled: 5.15.7, loaded:
5.15.7. Process ID: 11730
-- -- -- -- -- -- -- --
23 Feb 2026 17:54:05 +0800: Style: fusion. Available styles: android, Windows,
Fusion
23 Feb 2026 17:54:07 +0800: Database is up to date. Version: 0.0.17, created by
Krita 5.2.14, at 周四 1月 1 19:14:54 2026
23 Feb 2026 17:54:10 +0800: Created image "未命名", 2480 * 3508 pixels, 300 dpi.
Color model: 8 位整数/通道 RGB/透明度 (sRGB-elle-V2-srgbtrc.icc). Layers: 2
23 Feb 2026 17:55:43 +0800: Converting from application/x-krita to
application/x-krita. Location:
/storage/emulated/0/Android/data/org.krita/files/Documents/krita-backup/.krita-11730-document_0-autosave.kra.
Real location:
/storage/emulated/0/Android/data/org.krita/files/Documents/krita-backup/.krita-11730-document_0-autosave.kra.
Batchmode: 0. Configuration: none
23 Feb 2026 17:55:51 +0800: Saving Document  as
content://com.android.externalstorage.documents/document/85E4-1E15%3Akrita%2FUntitled.kra
(mime: application/x-krita). 398 * 231 pixels, 3 layers.  101 frames, 24
framerate. Export configuration: No configuration
23 Feb 2026 17:55:51 +0800: Create a simple backup for
content://com.android.externalstorage.documents/document/85E4-1E15%3Akrita%2FUntitled.kra
in /storage/emulated/0/Android/data/org.krita/files/Documents/krita-backup.
23 Feb 2026 17:55:51 +0800: Converting from application/x-krita to
application/x-krita. Location:
content://com.android.externalstorage.documents/document/85E4-1E15%3Akrita%2FUntitled.kra.
Real location:
content://com.android.externalstorage.documents/document/85E4-1E15%3Akrita%2FUntitled.kra.
Batchmode: 0. Configuration: none
23 Feb 2026 17:55:51 +0800: Completed saving
content://com.android.externalstorage.documents/document/85E4-1E15%3Akrita%2FUntitled.kra
(mime: application/x-krita). Result: OK. Warning: . Size: 68693
23 Feb 2026 17:55:51 +0800: Removing autosave file:
/storage/emulated/0/Android/data/org.krita/files/Documents/krita-backup/.krita-11730-document_0-autosave.kra
23 Feb 2026 17:55:51 +0800: Saving Completed

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

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to