darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.74k stars 1.14k forks source link

Selection escapes from the mouse #15948

Open manuel-serrano opened 10 months ago

manuel-serrano commented 10 months ago

Describe the bug

On my two Linux/Debian machines (one using testing and one stable), the last 4.60 shows the same problem. When I create a selection (for instance in the exposure module it can be an area or a gradient, in the retouch module, it can be a user defined area or a circle or an ellipsis) and when later on, I click on that selection to move it, the selection "escapes" the mouse, that is it is displaced somewhere else, sometime even out of the image.

I think (I'm not sure), that it is moved away from the mouse to vertical and horizontal offsets that correspond to the offset of the area with respect to the center of the image. That is, if the area is locate at the center of the image, it stays below the mouse. If it is located close to a border, it is move very far away when selected.

Steps to reproduce

  1. Open an image
  2. Open the exposure module
  3. Select a gradient
  4. move the gradient close to a border
  5. click the gradient again to move it elsewhere (please note that using a gradient is just an example, the problem also shows up for any other area (circles, ellipsis, user defined areas, ...).

Expected behavior

No response

Logfile | Screenshot | Screencast

No response

Commit

No response

Where did you obtain darktable from?

downloaded from www.darktable.org

darktable version

4.6.0

What OS are you using?

Linux

What is the version of your OS?

Debian 12

Describe your system?

$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm Codename: bookworm rumney:.../enfants/tobias> cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 154 model name : 12th Gen Intel(R) Core(TM) i7-12800H stepping : 3 microcode : 0x423 cpu MHz : 663.386 cache size : 24576 KB physical id : 0 siblings : 20 core id : 0 cpu cores : 14 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 32 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi umip pku ospke waitpkg gfni vaes vpclmulqdq tme rdpid movdiri movdir64b fsrm md_clear serialize pconfig arch_lbr ibt flush_l1d arch_capabilities vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause bugs : spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bogomips : 5606.40 clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual power management: $ clinfo Number of platforms 1 Platform Name Intel(R) OpenCL HD Graphics Platform Vendor Intel(R) Corporation Platform Version OpenCL 3.0 Platform Profile FULL_PROFILE Platform Extensions cl_khr_byte_addressable_store cl_khr_device_uuid cl_khr_fp16 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_intel_command_queue_families cl_intel_subgroups cl_intel_required_subgroup_size cl_intel_subgroups_short cl_khr_spir cl_intel_accelerator cl_intel_driver_diagnostics cl_khr_priority_hints cl_khr_throttle_hints cl_khr_create_command_queue cl_intel_subgroups_char cl_intel_subgroups_long cl_khr_il_program cl_intel_mem_force_host_memory cl_khr_subgroup_extended_types cl_khr_subgroup_non_uniform_vote cl_khr_subgroup_ballot cl_khr_subgroup_non_uniform_arithmetic cl_khr_subgroup_shuffle cl_khr_subgroup_shuffle_relative cl_khr_subgroup_clustered_reduce cl_intel_device_attribute_query cl_khr_suggested_local_work_size cl_intel_split_work_group_barrier cl_intel_spirv_media_block_io cl_intel_spirv_subgroups cl_khr_spirv_no_integer_wrap_decoration cl_intel_unified_shared_memory cl_khr_mipmap_image cl_khr_mipmap_image_writes cl_intel_planar_yuv cl_intel_packed_yuv cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_3d_image_writes cl_intel_media_block_io cl_intel_va_api_media_sharing cl_intel_sharing_format_query cl_khr_pci_bus_info cl_intel_subgroup_local_block_io Platform Extensions with Version cl_khr_byte_addressable_store 0x400000 (1.0.0) cl_khr_device_uuid 0x400000 (1.0.0) cl_khr_fp16 0x400000 (1.0.0) cl_khr_global_int32_base_atomics 0x400000 (1.0.0) cl_khr_global_int32_extended_atomics 0x400000 (1.0.0) cl_khr_icd 0x400000 (1.0.0) cl_khr_local_int32_base_atomics 0x400000 (1.0.0) cl_khr_local_int32_extended_atomics 0x400000 (1.0.0) cl_intel_command_queue_families 0x400000 (1.0.0) cl_intel_subgroups 0x400000 (1.0.0) cl_intel_required_subgroup_size 0x400000 (1.0.0) cl_intel_subgroups_short 0x400000 (1.0.0) cl_khr_spir 0x400000 (1.0.0) cl_intel_accelerator 0x400000 (1.0.0) cl_intel_driver_diagnostics 0x400000 (1.0.0) cl_khr_priority_hints 0x400000 (1.0.0) cl_khr_throttle_hints 0x400000 (1.0.0) cl_khr_create_command_queue 0x400000 (1.0.0) cl_intel_subgroups_char 0x400000 (1.0.0) cl_intel_subgroups_long 0x400000 (1.0.0) cl_khr_il_program 0x400000 (1.0.0) cl_intel_mem_force_host_memory 0x400000 (1.0.0) cl_khr_subgroup_extended_types 0x400000 (1.0.0) cl_khr_subgroup_non_uniform_vote 0x400000 (1.0.0) cl_khr_subgroup_ballot 0x400000 (1.0.0) cl_khr_subgroup_non_uniform_arithmetic 0x400000 (1.0.0) cl_khr_subgroup_shuffle 0x400000 (1.0.0) cl_khr_subgroup_shuffle_relative 0x400000 (1.0.0) cl_khr_subgroup_clustered_reduce 0x400000 (1.0.0) cl_intel_device_attribute_query 0x400000 (1.0.0) cl_khr_suggested_local_work_size 0x400000 (1.0.0) cl_intel_split_work_group_barrier 0x400000 (1.0.0) cl_intel_spirv_media_block_io 0x400000 (1.0.0) cl_intel_spirv_subgroups 0x400000 (1.0.0) cl_khr_spirv_no_integer_wrap_decoration 0x400000 (1.0.0) cl_intel_unified_shared_memory 0x400000 (1.0.0) cl_khr_mipmap_image 0x400000 (1.0.0) cl_khr_mipmap_image_writes 0x400000 (1.0.0) cl_intel_planar_yuv 0x400000 (1.0.0) cl_intel_packed_yuv 0x400000 (1.0.0) cl_khr_int64_base_atomics 0x400000 (1.0.0) cl_khr_int64_extended_atomics 0x400000 (1.0.0) cl_khr_image2d_from_buffer 0x400000 (1.0.0) cl_khr_depth_images 0x400000 (1.0.0) cl_khr_3d_image_writes 0x400000 (1.0.0) cl_intel_media_block_io 0x400000 (1.0.0) cl_intel_va_api_media_sharing 0x400000 (1.0.0) cl_intel_sharing_format_query 0x400000 (1.0.0) cl_khr_pci_bus_info 0x400000 (1.0.0) cl_intel_subgroup_local_block_io 0x400000 (1.0.0) Platform Numeric Version 0xc00000 (3.0.0) Platform Extensions function suffix INTEL Platform Host timer resolution 1ns

Platform Name Intel(R) OpenCL HD Graphics Number of devices 1 Device Name Intel(R) Graphics [0x46a6] Device Vendor Intel(R) Corporation Device Vendor ID 0x8086 Device Version OpenCL 3.0 NEO Device UUID 86800000-a646-0000-0000-000000000000 Driver UUID 32322e34-332e-3234-3539-350000000000 Valid Device LUID No Device LUID 00db-ffffff7f0000 Device Node Mask 0 Device Numeric Version 0xc00000 (3.0.0) Driver Version 22.43.24595 Device OpenCL C Version OpenCL C 1.2 Device OpenCL C all versions OpenCL C 0x400000 (1.0.0) OpenCL C 0x401000 (1.1.0) OpenCL C 0x402000 (1.2.0) OpenCL C 0xc00000 (3.0.0) Device OpenCL C features opencl_c_int64 0xc00000 (3.0.0) opencl_c_3d_image_writes 0xc00000 (3.0.0) opencl_c_images 0xc00000 (3.0.0) opencl_c_read_write_images 0xc00000 (3.0.0) opencl_c_atomic_order_acq_rel 0xc00000 (3.0.0) __opencl_c_atomic_order_seq_cst 0xc00000 (3.0.0) opencl_c_atomic_scope_all_devices 0xc00000 (3.0.0) opencl_c_atomic_scope_device 0xc00000 (3.0.0) opencl_c_generic_address_space 0xc00000 (3.0.0) opencl_c_program_scope_global_variables 0xc00000 (3.0.0) __opencl_c_work_group_collective_functions 0xc00000 (3.0.0) opencl_c_subgroups 0xc00000 (3.0.0) Latest conformance test passed v2022-04-22-00 Device Type GPU Device PCI bus info (KHR) PCI-E, 0000:00:02.0 Device Profile FULL_PROFILE Device Available Yes Compiler Available Yes Linker Available Yes Max compute units 96 Max clock frequency 1400MHz Device IP (Intel) 0xc0000 (0.192.0) Device ID (Intel) 18086 Slices (Intel) 1 Sub-slices per slice (Intel) 6 EUs per sub-slice (Intel) 16 Threads per EU (Intel) 7 Feature capabilities (Intel) DP4A Device Partition (core) Max number of sub-devices 0 Supported partition types None Supported affinity domains (n/a) Max work item dimensions 3 Max work item sizes 512x512x512 Max work group size 512 Preferred work group size multiple (device) 64 Preferred work group size multiple (kernel) 64 Max sub-groups per work group 64 Sub-group sizes (Intel) 8, 16, 32 Preferred / native vector sizes
char 16 / 16
short 8 / 8
int 4 / 4
long 1 / 1
half 8 / 8 (cl_khr_fp16) float 1 / 1
double 1 / 1 (n/a) Half-precision Floating-point support (cl_khr_fp16) Denormals Yes Infinity and NANs Yes Round to nearest Yes Round to zero Yes Round to infinity Yes IEEE754-2008 fused multiply-add Yes Support is emulated in software No Single-precision Floating-point support (core) Denormals Yes Infinity and NANs Yes Round to nearest Yes Round to zero Yes Round to infinity Yes IEEE754-2008 fused multiply-add Yes Support is emulated in software No Correctly-rounded divide and sqrt operations No Double-precision Floating-point support (n/a) Address bits 64, Little-Endian Global memory size 26594451456 (24.77GiB) Error Correction support No Max memory allocation 4294959104 (4GiB) Unified memory for Host and Device Yes Shared Virtual Memory (SVM) capabilities (core) Coarse-grained buffer sharing Yes Fine-grained buffer sharing No Fine-grained system sharing No Atomics No Unified Shared Memory (USM) (cl_intel_unified_shared_memory) Host USM capabilities (Intel) USM access, USM atomic access Device USM capabilities (Intel) USM access, USM atomic access Single-Device USM caps (Intel) USM access, USM atomic access Cross-Device USM caps (Intel) (n/a) Shared System USM caps (Intel) (n/a) Minimum alignment for any data type 128 bytes Alignment of base address 1024 bits (128 bytes) Preferred alignment for atomics
SVM 64 bytes Global 64 bytes Local 64 bytes Atomic memory capabilities relaxed, acquire/release, sequentially-consistent, work-group scope, device scope, all-devices scope Atomic fence capabilities relaxed, acquire/release, sequentially-consistent, work-item scope, work-group scope, device scope, all-devices scope Max size for global variable 65536 (64KiB) Preferred total size of global vars 4294959104 (4GiB) Global Memory cache type Read/Write Global Memory cache size 2949120 (2.812MiB) Global Memory cache line size 64 bytes Image support Yes Max number of samplers per kernel 16 Max size for 1D images from buffer 268434944 pixels Max 1D or 2D image array size 2048 images Base address alignment for 2D image buffers 4 bytes Pitch alignment for 2D image buffers 4 pixels Max 2D image size 16384x16384 pixels Max planar YUV image size 16384x16352 pixels Max 3D image size 2048x2048x2048 pixels Max number of read image args 128 Max number of write image args 128 Max number of read/write image args 128 Pipe support No Max number of pipe args 0 Max active pipe reservations 0 Max pipe packet size 0 Local memory type Local Local memory size 65536 (64KiB) Max number of constant args 8 Max constant buffer size 4294959104 (4GiB) Generic address space support Yes Max size of kernel argument 2048 (2KiB) Queue properties (on host)
Out-of-order execution Yes Profiling Yes Device enqueue capabilities (n/a) Queue properties (on device)
Out-of-order execution No Profiling No Preferred size 0 Max size 0 Max queues on device 0 Max events on device 0 Device queue families rcs (1) Queue properties Out-of-order execution, Profiling Capabilities create single-queue events, create cross-queue events Prefer user sync for interop Yes Profiling timer resolution 52ns Execution capabilities
Run OpenCL kernels Yes Run native kernels No Non-uniform work-groups Yes Work-group collective functions Yes Sub-group independent forward progress No IL version SPIR-V_1.2 ILs with version SPIR-V 0x402000 (1.2.0) SPIR versions 1.2 printf() buffer size 4194304 (4MiB) Built-in kernels (n/a) Built-in kernels with version (n/a) Device Extensions cl_khr_byte_addressable_store cl_khr_device_uuid cl_khr_fp16 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_intel_command_queue_families cl_intel_subgroups cl_intel_required_subgroup_size cl_intel_subgroups_short cl_khr_spir cl_intel_accelerator cl_intel_driver_diagnostics cl_khr_priority_hints cl_khr_throttle_hints cl_khr_create_command_queue cl_intel_subgroups_char cl_intel_subgroups_long cl_khr_il_program cl_intel_mem_force_host_memory cl_khr_subgroup_extended_types cl_khr_subgroup_non_uniform_vote cl_khr_subgroup_ballot cl_khr_subgroup_non_uniform_arithmetic cl_khr_subgroup_shuffle cl_khr_subgroup_shuffle_relative cl_khr_subgroup_clustered_reduce cl_intel_device_attribute_query cl_khr_suggested_local_work_size cl_intel_split_work_group_barrier cl_intel_spirv_media_block_io cl_intel_spirv_subgroups cl_khr_spirv_no_integer_wrap_decoration cl_intel_unified_shared_memory cl_khr_mipmap_image cl_khr_mipmap_image_writes cl_intel_planar_yuv cl_intel_packed_yuv cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_3d_image_writes cl_intel_media_block_io cl_intel_va_api_media_sharing cl_intel_sharing_format_query cl_khr_pci_bus_info cl_intel_subgroup_local_block_io Device Extensions with Version cl_khr_byte_addressable_store 0x400000 (1.0.0) cl_khr_device_uuid 0x400000 (1.0.0) cl_khr_fp16 0x400000 (1.0.0) cl_khr_global_int32_base_atomics 0x400000 (1.0.0) cl_khr_global_int32_extended_atomics 0x400000 (1.0.0) cl_khr_icd 0x400000 (1.0.0) cl_khr_local_int32_base_atomics 0x400000 (1.0.0) cl_khr_local_int32_extended_atomics 0x400000 (1.0.0) cl_intel_command_queue_families 0x400000 (1.0.0) cl_intel_subgroups 0x400000 (1.0.0) cl_intel_required_subgroup_size 0x400000 (1.0.0) cl_intel_subgroups_short 0x400000 (1.0.0) cl_khr_spir 0x400000 (1.0.0) cl_intel_accelerator 0x400000 (1.0.0) cl_intel_driver_diagnostics 0x400000 (1.0.0) cl_khr_priority_hints 0x400000 (1.0.0) cl_khr_throttle_hints 0x400000 (1.0.0) cl_khr_create_command_queue 0x400000 (1.0.0) cl_intel_subgroups_char 0x400000 (1.0.0) cl_intel_subgroups_long 0x400000 (1.0.0) cl_khr_il_program 0x400000 (1.0.0) cl_intel_mem_force_host_memory 0x400000 (1.0.0) cl_khr_subgroup_extended_types 0x400000 (1.0.0) cl_khr_subgroup_non_uniform_vote 0x400000 (1.0.0) cl_khr_subgroup_ballot 0x400000 (1.0.0) cl_khr_subgroup_non_uniform_arithmetic 0x400000 (1.0.0) cl_khr_subgroup_shuffle 0x400000 (1.0.0) cl_khr_subgroup_shuffle_relative 0x400000 (1.0.0) cl_khr_subgroup_clustered_reduce 0x400000 (1.0.0) cl_intel_device_attribute_query 0x400000 (1.0.0) cl_khr_suggested_local_work_size 0x400000 (1.0.0) cl_intel_split_work_group_barrier 0x400000 (1.0.0) cl_intel_spirv_media_block_io 0x400000 (1.0.0) cl_intel_spirv_subgroups 0x400000 (1.0.0) cl_khr_spirv_no_integer_wrap_decoration 0x400000 (1.0.0) cl_intel_unified_shared_memory 0x400000 (1.0.0) cl_khr_mipmap_image 0x400000 (1.0.0) cl_khr_mipmap_image_writes 0x400000 (1.0.0) cl_intel_planar_yuv 0x400000 (1.0.0) cl_intel_packed_yuv 0x400000 (1.0.0) cl_khr_int64_base_atomics 0x400000 (1.0.0) cl_khr_int64_extended_atomics 0x400000 (1.0.0) cl_khr_image2d_from_buffer 0x400000 (1.0.0) cl_khr_depth_images 0x400000 (1.0.0) cl_khr_3d_image_writes 0x400000 (1.0.0) cl_intel_media_block_io 0x400000 (1.0.0) cl_intel_va_api_media_sharing 0x400000 (1.0.0) cl_intel_sharing_format_query 0x400000 (1.0.0) cl_khr_pci_bus_info 0x400000 (1.0.0) cl_intel_subgroup_local_block_io 0x400000 (1.0.0)

NULL platform behavior clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) Intel(R) OpenCL HD Graphics clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [INTEL] clCreateContext(NULL, ...) [default] Success [INTEL] clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) Success (1) Platform Name Intel(R) OpenCL HD Graphics Device Name Intel(R) Graphics [0x46a6] clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (1) Platform Name Intel(R) OpenCL HD Graphics Device Name Intel(R) Graphics [0x46a6] clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) Success (1) Platform Name Intel(R) OpenCL HD Graphics Device Name Intel(R) Graphics [0x46a6]

ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0

Are you using OpenCL GPU in darktable?

Yes

If yes, what is the GPU card and driver?

see below,

Please provide additional context if applicable. You can attach files too, but might need to rename to .txt or .zip

I was using darktable 4.4.2 (I'm not 100% of the last 2, sorry, I cannot remember) and it was just fine. The problem persists with an empty configdir. If needed and it is helps, I can make a video to illustrate the problem.

Anyway, thank you a million for developing and improving Darktable and I wish you good luck for solving that (small but very annoying) problem.

Best,

manuel-serrano commented 10 months ago

As an update, the problem only concern left mouse. That is, when middle mouse can be used to move shapes (it can be for circles for instance), it does it correctly. The right mouse button also behave correctly. That is, when clicking with the right mouse button on a shape, before deleting the shape, I'm able to move it and that shape correctly stay below the mouse. Then problem is only related to the left mouse button then.

pehar1 commented 10 months ago

Tried with all shapes available but cannot reproduce with 4.7.0+62~gace4a37b1b on Ubuntu 22.04.

elstoc commented 10 months ago

I also can't reproduce with a self-build of the 4.6.x branch on ArchLinux

zisoft commented 10 months ago

Also not reproducible on macOS

manuel-serrano commented 10 months ago

I have forgotten to mention that I'm using X and fluxbox. Maybe you are using Darktable with wayland. I have tried with the original tarball that I have compiled locally and it exhibits the same thing. I'm currently cloning the git repo and I will compile the last commit of the 4.6.0 branch. I will let you know the result... Thanks anyway for your testing and follow up.

manuel-serrano commented 10 months ago

I have tried with wayland/gnome and I cannot reproduce the problem. I then confirm that it is related to darktable4.6.0 + X (and maybe X + flubox).

elstoc commented 10 months ago

Wayland is not recommended with darktable as it doesn't yet include colour management. I am using xfce. I guess it could be an issue with fluxbox. Can you try with another window manager?

pehar1 commented 10 months ago

Using X / LXQt / Openbox here, so fluxbox may be the problem ?

manuel-serrano commented 10 months ago

Yes, I confirm. The problem is fluxbox. It works nicely with openbox. I have no idea what's wrong with fluxbox... I willing to help if you guys are interested in tracking this bug. Just let me know what to try. One more time, thank you for your help.

pehar1 commented 10 months ago

Never used Fluxbox, so... ? From a pragmatic point of view, I would stick with Openbox unless there are compelling reasons to use Fluxbox. In this case, my next attempt would be to try the default configuration of Fluxbox (i.e. rename ~/.fluxbox and restart Fluxbox).

manuel-serrano commented 10 months ago

Thanks for the advice but unfortunately resetting the default fluxbox configuration does not fix the problem. I will keep investigating and if I find something I will let you know.

github-actions[bot] commented 8 months ago

This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.