| Summary: | kinetic scrolling/touch pan not working on cintiq | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | til.schmitter |
| Component: | Shortcuts and Canvas Input Settings | Assignee: | Krita Bugs <krita-bugs-null> |
| Status: | RESOLVED NOT A BUG | ||
| Severity: | normal | CC: | alvin, shzam |
| Priority: | NOR | ||
| Version First Reported In: | nightly build (please specify the git hash!) | ||
| Target Milestone: | --- | ||
| Platform: | Microsoft Windows | ||
| OS: | Microsoft Windows | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | correct left vs broken right (kritarc) | ||
additionally, panning the canvas is more laggy and takes up to 16% of my cpu instead of just 10% on older versions. here's a more complete system info log of my setup:
Krita
Version: 5.1.0-prealpha (git c14d3bb)
Installation type: installer / portable package
Languages: en_US, en, en_US, en, en_US, en, en_US, en, en_US, en, en_US, en, de_DE, de, en_US, en
Hidpi: true
Qt
Version (compiled): 5.12.12
Version (loaded): 5.12.12
OS Information
Build ABI: x86_64-little_endian-llp64
Build CPU: x86_64
CPU: x86_64
Kernel Type: winnt
Kernel Version: 10.0.19043
Pretty Productname: Windows 10 (10.0)
Product Type: windows
Product Version: 10
OpenGL Info
Vendor: "ATI Technologies Inc."
Renderer: "AMD Radeon RX 5700 XT"
Version: "4.6.14761 Compatibility Profile Context 21.30.23.04 30.0.13023.4001"
Shading language: "4.60"
Requested format: QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile)
Current format: QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 0, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 1, colorSpace QSurfaceFormat::sRGBColorSpace, profile QSurfaceFormat::CompatibilityProfile)
Version: 4.6
Supports deprecated functions true
is OpenGL ES: false
supportsBufferMapping: true
supportsBufferInvalidation: true
Extensions:
"GL_ARB_texture_mirror_clamp_to_edge"
"GL_ARB_shader_objects"
"GL_ARB_gpu_shader_fp64"
"GL_ARB_compressed_texture_pixel_storage"
"GL_AMD_sparse_texture"
"GL_ARB_fragment_layer_viewport"
"WGL_EXT_swap_control"
"GL_EXT_texture_swizzle"
"GL_IBM_texture_mirrored_repeat"
"GL_EXT_texture_buffer_object"
"GL_EXT_memory_object_win32"
"GL_ARB_depth_texture"
"GL_EXT_texture_compression_s3tc"
"GL_ARB_conservative_depth"
"GL_AMD_shader_trace"
"GL_ARB_occlusion_query2"
"GL_EXT_texture3D"
"GL_EXT_semaphore"
"GL_AMD_debug_output"
"GL_EXT_texture_compression_latc"
"GL_EXT_texture_snorm"
"GL_EXT_secondary_color"
"GL_ARB_framebuffer_sRGB"
"GL_ARB_cull_distance"
"GL_ARB_map_buffer_range"
"GL_ARB_pixel_buffer_object"
"GL_ARB_texture_query_lod"
"GL_AMD_framebuffer_sample_positions"
"GL_ATI_texture_mirror_once"
"GL_AMD_sample_positions"
"GL_ARB_clear_texture"
"GL_ARB_indirect_parameters"
"GL_EXT_shader_integer_mix"
"GL_NV_texture_barrier"
"GL_ARB_texture_env_dot3"
"GL_ARB_separate_shader_objects"
"GL_NV_blend_square"
"GL_ARB_vertex_buffer_object"
"GL_ARB_get_texture_sub_image"
"GL_ARB_internalformat_query"
"GL_AMD_transform_feedback4"
"GL_ARB_shader_subroutine"
"GL_EXT_draw_range_elements"
"GL_EXT_timer_query"
"GL_ARB_texture_env_combine"
"GL_ARB_half_float_pixel"
"GL_AMD_shader_stencil_value_export"
"GL_ARB_explicit_attrib_location"
"GL_ARB_sampler_objects"
"GL_ARB_texture_buffer_range"
"GL_ARB_shadow"
"GL_AMD_shader_atomic_counter_ops"
"GL_NV_alpha_to_coverage_dither_control"
"GL_ARB_shading_language_include"
"GL_EXT_texture_object"
"GL_ARB_get_program_binary"
"GL_ARB_texture_barrier"
"GL_ARB_gpu_shader5"
"GL_ARB_texture_compression_rgtc"
"GL_EXT_texture_sRGB"
"GL_EXT_packed_float"
"GL_ATI_draw_buffers"
"GL_ARB_vertex_program"
"GL_ARB_texture_rectangle"
"GL_ARB_viewport_array"
"GL_ARB_texture_border_clamp"
"GL_EXT_stencil_wrap"
"GL_ARB_transpose_matrix"
"GL_NV_float_buffer"
"GL_EXT_shadow_funcs"
"GL_ARB_vertex_type_10f_11f_11f_rev"
"GL_ARB_texture_view"
"GL_ARB_texture_rg"
"GL_ARB_draw_buffers_blend"
"GL_EXT_framebuffer_multisample"
"GL_ARB_multi_bind"
"GL_ARB_framebuffer_object"
"GL_AMD_vertex_shader_layer"
"GL_AMD_query_buffer_object"
"GL_EXT_copy_texture"
"GL_EXT_depth_bounds_test"
"GL_ARB_conditional_render_inverted"
"GL_ARB_texture_snorm"
"GL_ARB_color_buffer_float"
"GL_ARB_occlusion_query"
"GL_ARB_geometry_shader4"
"GL_ARB_fragment_coord_conventions"
"GL_ARB_texture_buffer_object"
"GL_EXT_separate_specular_color"
"GL_ARB_transform_feedback_overflow_query"
"GL_EXT_texture_env_dot3"
"GL_WIN_swap_hint"
"GL_ARB_instanced_arrays"
"GL_EXT_draw_buffers2"
"GL_EXT_draw_instanced"
"GL_ARB_shader_atomic_counter_ops"
"GL_AMD_pinned_memory"
"GL_ARB_texture_storage"
"GL_EXT_gpu_program_parameters"
"GL_AMD_shader_trinary_minmax"
"GL_EXT_multi_draw_arrays"
"GL_EXT_framebuffer_blit"
"GL_EXT_rescale_normal"
"GL_NV_depth_buffer_float"
"GL_ARB_texture_mirrored_repeat"
"GL_ARB_shader_texture_lod"
"GL_ARB_shader_stencil_export"
"GL_ARB_multitexture"
"GL_ARB_texture_swizzle"
"GL_EXT_texture_mirror_clamp"
"GL_NV_conditional_render"
"GL_ARB_debug_output"
"GL_EXT_texture_rectangle"
"GL_ARB_blend_func_extended"
"GL_INTEL_fragment_shader_ordering"
"GL_ARB_window_pos"
"GL_ARB_vertex_array_bgra"
"GL_ARB_shadow_ambient"
"GL_ARB_texture_env_add"
"GL_EXT_vertex_attrib_64bit"
"GL_ARB_sparse_texture"
"GL_ARB_point_parameters"
"GL_ARB_ES2_compatibility"
"GL_ARB_shader_draw_parameters"
"GL_ARB_fragment_program_shadow"
"GL_ARB_ES3_1_compatibility"
"GL_ATI_envmap_bumpmap"
"GL_ARB_stencil_texturing"
"GL_KHR_parallel_shader_compile"
"GL_AMD_texture_cube_map_array"
"GL_ARB_texture_gather"
"GL_AMD_texture_texture4"
"GL_AMD_performance_monitor"
"GL_ATI_separate_stencil"
"GL_AMD_gpu_shader_int64"
"GL_EXT_vertex_array"
"GL_EXT_texture_array"
"GL_ARB_framebuffer_no_attachments"
"GL_AMD_gcn_shader"
"GL_ARB_seamless_cubemap_per_texture"
"GL_AMD_stencil_operation_extended"
"GL_ARB_shading_language_100"
"GL_AMD_gpu_shader_half_float_fetch"
"GL_ARB_sample_shading"
"GL_EXT_blend_minmax"
"GL_KHR_debug"
"GL_EXT_transform_feedback"
"GL_EXT_texture_sRGB_RG8"
"GL_AMD_name_gen_delete"
"GL_EXT_fog_coord"
"GL_ARB_transform_feedback_instanced"
"GL_ARB_texture_stencil8"
"GL_EXT_bgra"
"GL_EXT_geometry_shader4"
"GL_AMD_draw_buffers_blend"
"GL_AMD_occlusion_query_event"
"GL_ARB_texture_multisample"
"GL_ARB_multisample"
"GL_ARB_parallel_shader_compile"
"GL_ARB_half_float_vertex"
"GL_ARB_timer_query"
"GL_AMD_transform_feedback3_lines_triangles"
"GL_NV_copy_depth_to_color"
"GL_ARB_texture_compression_bptc"
"GL_EXT_texture_integer"
"GL_ARB_provoking_vertex"
"GL_ARB_depth_clamp"
"GL_EXT_texture_edge_clamp"
"GL_ARB_ES3_compatibility"
"GL_ARB_shader_ballot"
"GL_AMD_multi_draw_indirect"
"GL_ARB_draw_elements_base_vertex"
"GL_ARB_sync"
"GL_KHR_robustness"
"GL_ARB_compatibility"
"GL_ARB_buffer_storage"
"GL_EXT_packed_pixels"
"GL_KHR_context_flush_control"
"GL_ARB_texture_non_power_of_two"
"GL_ARB_copy_image"
"GL_ARB_draw_instanced"
"GL_ARB_direct_state_access"
"GL_ARB_vertex_shader"
"GL_EXT_texture_env_combine"
"GL_EXT_texture_compression_rgtc"
"GL_ARB_bindless_texture"
"GL_ARB_robust_buffer_access_behavior"
"GL_AMD_shader_stencil_export"
"GL_EXT_texture_shared_exponent"
"GL_AMD_interleaved_elements"
"GL_ATI_texture_env_combine3"
"GL_KHR_no_error"
"GL_EXT_framebuffer_sRGB"
"GL_EXT_vertex_array_bgra"
"GL_ARB_vertex_attrib_binding"
"GL_ARB_shader_precision"
"GL_ARB_map_buffer_alignment"
"GL_OES_EGL_image"
"GL_ARB_texture_cube_map"
"GL_ARB_depth_buffer_float"
"GL_NV_half_float"
"GL_ARB_draw_indirect"
"GL_ARB_shader_viewport_layer_array"
"GL_KTX_buffer_region"
"GL_EXT_framebuffer_object"
"GL_ARB_point_sprite"
"GL_AMD_conservative_depth"
"GL_ARB_shader_image_size"
"GL_EXT_gpu_shader4"
"GL_NV_shader_atomic_int64"
"GL_ARB_draw_buffers"
"GL_AMD_blend_minmax_factor"
"GL_ARB_transform_feedback3"
"GL_EXT_texture_cube_map"
"GL_ARB_explicit_uniform_location"
"GL_ARB_shader_image_load_store"
"GL_AMD_depth_clamp_separate"
"GL_EXT_direct_state_access"
"GL_ARB_enhanced_layouts"
"GL_ARB_clear_buffer_object"
"GL_ATI_texture_float"
"GL_EXT_texture_filter_anisotropic"
"GL_NV_copy_image"
"GL_ARB_clip_control"
"GL_ARB_texture_buffer_object_rgb32"
"GL_ARB_arrays_of_arrays"
"GL_ARB_shader_atomic_counters"
"GL_EXT_texgen_reflection"
"GL_ATI_fragment_shader"
"GL_ARB_shading_language_420pack"
"GL_ARB_tessellation_shader"
"GL_ARB_texture_rgb10_a2ui"
"GL_ARB_multi_draw_indirect"
"GL_ARB_fragment_program"
"GL_EXT_texture_sRGB_R8"
"GL_ARB_vertex_array_object"
"GL_EXT_semaphore_win32"
"GL_ARB_gl_spirv"
"GL_ARB_vertex_attrib_64bit"
"GL_ARB_texture_env_crossbar"
"GL_EXT_texture_lod"
"GL_ARB_shader_storage_buffer_object"
"GL_EXT_blend_equation_separate"
"GL_EXT_provoking_vertex"
"GL_NV_primitive_restart"
"GL_ARB_query_buffer_object"
"GL_EXT_shader_image_load_store"
"GL_ARB_copy_buffer"
"GL_AMD_sparse_texture_pool"
"GL_EXT_point_parameters"
"GL_AMDX_debug_output"
"GL_EXT_texture_compression_bptc"
"GL_EXT_polygon_offset_clamp"
"GL_ARB_seamless_cube_map"
"GL_EXT_texture_sRGB_decode"
"GL_EXT_copy_buffer"
"GL_AMD_seamless_cubemap_per_texture"
"GL_NV_texgen_reflection"
"GL_EXT_memory_object"
"GL_AMD_vertex_shader_viewport_index"
"GL_ARB_derivative_control"
"GL_NV_explicit_multisample"
"GL_EXT_packed_depth_stencil"
"GL_ARB_shading_language_packing"
"GL_ARB_texture_compression"
"GL_EXT_histogram"
"GL_EXT_blend_subtract"
"GL_EXT_blend_func_separate"
"GL_EXT_compiled_vertex_array"
"GL_EXT_blend_color"
"GL_ARB_base_instance"
"GL_AMD_gpu_shader_int16"
"GL_ARB_pipeline_statistics_query"
"GL_ARB_vertex_type_2_10_10_10_rev"
"GL_ARB_polygon_offset_clamp"
"GL_EXT_pixel_buffer_object"
"GL_EXT_texture_lod_bias"
"GL_AMD_gpu_shader_half_float"
"GL_EXT_texture_env_add"
"GL_ARB_program_interface_query"
"GL_ARB_texture_query_levels"
"GL_ARB_shader_group_vote"
"GL_ARB_shader_texture_image_samples"
"GL_ARB_invalidate_subdata"
"GL_ARB_texture_float"
"GL_SGIS_texture_edge_clamp"
"GL_ARB_texture_storage_multisample"
"GL_ARB_texture_cube_map_array"
"GL_ATI_texture_compression_3dc"
"GL_ARB_shader_bit_encoding"
"GL_ARB_uniform_buffer_object"
"GL_ARB_sparse_buffer"
"GL_SUN_multi_draw_arrays"
"GL_SGIS_generate_mipmap"
"GL_ARB_internalformat_query2"
"GL_ARB_compute_shader"
"GL_ARB_fragment_shader"
"GL_ARB_transform_feedback2"
"GL_KHR_robust_buffer_access_behavior"
"GL_ARB_spirv_extensions"
"GL_EXT_texture_storage"
"GL_SGIS_texture_lod"
"GL_EXT_bindable_uniform"
"GL_ARB_imaging"
"GL_EXT_abgr"
"GL_EXT_subtexture"
QPA OpenGL Detection Info
supportsDesktopGL: true
supportsAngleD3D11: true
isQtPreferAngle: true
useBufferInvalidation (config option): false
Hardware Information
GPU Acceleration: none
Memory: 24521 Mb
Number of Cores: 8
Swap Location: C:/Users/Til/AppData/Local/Temp
Current Settings
Current Swap Location: C:/Users/Til/AppData/Local/Temp
Current Swap Location writable: true
Undo Enabled: true
Undo Stack Limit: 75
Use OpenGL: false
Use OpenGL Texture Buffer: true
Disable Vector Optimizations: false
Disable AVX Optimizations: false
Canvas State: OPENGL_SUCCESS
Autosave Interval: 360
Use Backup Files: false
Number of Backups Kept: 1
Backup File Suffix: ~
Backup Location: Same Folder as the File
Backup Location writable: false
Use Win8 Pointer Input: false
Use RightMiddleTabletButton Workaround: false
Levels of Detail Enabled: false
Use Zip64: false
Display Information
Number of screens: 2
Screen: 0
Name: \\.\DISPLAY2
Depth: 32
Scale: 1.25
Resolution in pixels: 1536x864
Manufacturer:
Model:
Refresh Rate: 60
Screen: 1
Name: \\.\DISPLAY1
Depth: 32
Scale: 1.25
Resolution in pixels: 1536x864
Manufacturer:
Model:
Refresh Rate: 59
actually, some of this fixed itself after i deleted the krita config files. it's no longer laggy but i still can't pan with one finger things i found connected to this: -when i switch from a previous version to this it gives me the popup where it says "The resource database scheme has changed. Krita will backup your database and create a new database." (even though i should already be on the new database version unless you changed it again.) -touch rotation and touch painting don't work until i delete both kritarc and kritadisplayrc in appdata\local. -after i delete these files touch rotation works again but everything else still doesn't. -i also have to delete these files again to get rotation working on the older version after i switch back. ->this makes me assume that the resource update breaks some config files. touch rotation breaks again after i change: settings->general->tools->kinetic scrolling from "on middle-click drag" to "on touch drag". changing the setting back to "on middle-click drag" doesn't revert the behavior. only deleting kritadisplayrc fixes this. kritadisplayrc WORKING: [General] canvasState=TRY_OPENGL kritadisplayrc BROKEN: [General] EnableHiDPI=true OpenGLRenderer=auto canvasState=OPENGL_SUCCESS EnableHiDPIFractionalScaling=false LogUsage=true rootSurfaceFormat=bt709-g22 Created attachment 148008 [details]
correct left vs broken right (kritarc)
another method to break touch rotation is to enable/disable touch painting (maybe just changing any of the "tool" settings breaks touch rotation). i went and checked which part of the settings breaks in particular and found that the order in which rgb+color space for mdiBackgroundColorXML get saved is messed up (correct on the left, wrong on the right).
i assume there's another settings file that breaks that's not saved in appdata\local, because no matter what files i deleted here, i couldn't get touch drag kinetic scrolling to work again using only one finger.
LastBackGroundColor also seems to be saved in a different order, but this doesn't seem to break anything Uh, there seems to be a lot of things mixed in this report... Anyway, considering only the issue of panning the canvas, first I shall clarify that "kinetic scrolling" only applies to the dockers and certain lists, for example the layers docker and the brush preset chooser. The touch gestures for manipulating the canvas are configured separately from the "Canvas Input Settings" section. Krita's touch gesture support has been somewhat revamped in https://invent.kde.org/graphics/krita/-/merge_requests/1341, which consequently means the canvas input settings needs to be reset in order to get the new default gestures, or the user can add the gestures themself. This also makes the input profile somewhat incompatible between old and new versions. We are in the process of changing some stuff regarding touch gestures in https://invent.kde.org/graphics/krita/-/merge_requests/1395. For the time being, when moving to nightly you may have to reassign some of the gestures yourself. i just read this again (didn't really get it the first time haha) but thank you, it works again now |
SUMMARY i updated to 5.1.0-prealpha (git 959bf28) from 5.1.0-prealpha (git 2599950) today and now kinetic scrolling doesn't work anymore to move or rotate the canvas. it used to work on 2599950. STEPS TO REPRODUCE i'm using: cintiq 13 pro Build ABI: x86_64-little_endian-llp64 Build CPU: x86_64 CPU: x86_64 Kernel Type: winnt Kernel Version: 10.0.19043 Pretty Productname: Windows 10 (10.0) Product Type: windows Product Version: 10 WHAT I ALREADY TRIED - enabling/disabling windows ink - disabling/enabling kinetic scrolling (kinetic scrolling is set to "on touch drag") - replacing this with a gesture: canvas input settings->pan canvas->gesture/one finger drag/pan mode while this works to an extent, it takes a while for krita to register the one finger drag as a gesture to start pan mode, so there is a noticable delay + this doesn't help with rotating the canvas