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.