GNOME Bugzilla – Bug 732476
Issue between Wacom configuration and Nvidia driver twinview.
Last modified: 2021-05-26 09:20:39 UTC
Hi, I have a series of bugs here with Wacom preference on GNOME 3.12 ( those bugs wasn't in GNOME 3.10 , but other existed too ). Summary : ========= Issues happens when using Nvidia driver , dual screen twinview and GNOME Wacom configurator. 1)Spam notifications to calibrate : =================================== At each restart ( login/logout), or after playing game fullscreen, or a coming back from a locked-screen , GNOME welcome with a notification to calibrate. It happen very often and it is spammy. This happen because of a new rule in 3.12 : propose a calibration when the resolution has changed. To compare if the resolution of a Cintiq changed, GNOME save in org.gnome.settings-daemon.peripherals.wacom then last-calibrated-resolution the resolution of the Cintiq ( in my case 1600x1200, a Cintiq21UX ). This number is compared -I guess- to the desktop resolution. In my case 1920x1200+1600x1200, so 3520 x 1200 ( I use a twinview dual-screen Nvidia ). I could guess this, because if you change in Dconf 1600x1200 to 3520 x 1200 the notification spam is stopping. But it's only temporary ; as soon as I recalibrate ; it's overwrite the tweaked resolution. 2)Tablet mapping to a single-screen doesn't load at start-up : ============================================================== At each restart ( login/logout), GNOME decide my Intuos3Large should be mapped to both screen, Letterboxed; it works on a first configuration and also if I go again to the control-center, wacom, and tweaks on/off the value again. On a restart, the settings are correctly saved in in org.gnome.settings-daemon.peripherals.wacom (eg : in 'display' key : ['ACI', 'PA246', 'DFP-1'] in my case ), but it feels they can't be read/loaded. Too bad this mapping to a single monitor isn't restored properly, with the bug (1) happening at same time I had trouble to debug, and accused gnome-settings-daemon during a long period. I spent hours on trying to fix it, but I can't. My setup : ========== I have two screens, and two tablets : +-------------------+ +------------------+ | DVI-D-0 | | DVI-D-1 | | 1920x1200 primary |---| 1600x1200 cintiq | | | |(mapped to itself)| +-------------------+ +------------------+ | +-----------------+ + Intuos3 Medium + +mapped to DVI-D-0+ +-----------------+ My graphic card is 650GTX Ti Nvidia, using Proprietary driver ( a mandatory need-to-use, for performance with Blender and Krita, my professional Gfx freelance work ). I'm using Gnome 3.12 from Gnome-stagging PPA, on UbuntuGnome 14.04. ( And Ubuntu Gnome 14.04 is a bastardized GNOME 3.10 by default, as they claim it's 3.10 but in fact ship 3.8 Wacom panel, same for Ubuntu Main with their fork of 3.8 wacom panel, same with Linux Mint with their fork too... they all fork a non functionnal config panel imo , but well ; the forkers don't own tablet anyway , so , who care?) Those bugs were reproductible with four variant of Nvidia driver ( I accused it during a period too ) ; from 304 to 331 ; and also all was tested reproductible here with a new user added with empty/default config. Workaround : ============ 1) I'll write a 'dconf set' line on a *.sh on each startup to hard-write the right twinview resolution and avoid spammy message to recalibrate my Cintiq. 2) In the same *.sh, I'll setup a xsetwacom script to overwrite the MapToOutput correctly on startup, and make the Intuos3 mapped to correct screen in my case this ; xsetwacom set "Wacom Intuos3 9x12 stylus" MapToOutput "HEAD-0" xsetwacom set "Wacom Intuos3 9x12 eraser" MapToOutput "HEAD-0" xsetwacom set "Wacom Intuos3 9x12 pad" MapToOutput "HEAD-0" (( Note ...and I'll also add as usual since last 2 release : xsetwacom set "Wacom Intuos3 9x12 stylus" Button 2 "key ctrl" since it's still impossible to map a Ctrl key ( Bug 711566 , https://bugzilla.gnome.org/show_bug.cgi?id=711566 ). )) Various other Infos : ===================== ~$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Wacom Cintiq 21UX stylus id=8 [slave pointer (2)] ⎜ ↳ Razer Razer DeathAdder id=9 [slave pointer (2)] ⎜ ↳ Wacom Intuos3 9x12 stylus id=13 [slave pointer (2)] ⎜ ↳ Wacom Cintiq 21UX eraser id=14 [slave pointer (2)] ⎜ ↳ Wacom Cintiq 21UX pad id=15 [slave pointer (2)] ⎜ ↳ Wacom Intuos3 9x12 eraser id=16 [slave pointer (2)] ⎜ ↳ Wacom Intuos3 9x12 cursor id=17 [slave pointer (2)] ⎜ ↳ Wacom Intuos3 9x12 pad id=18 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Power Button id=7 [slave keyboard (3)] ↳ NOVATEK USB Keyboard id=10 [slave keyboard (3)] ↳ NOVATEK USB Keyboard id=11 [slave keyboard (3)] ↳ UVC Camera (046d:081d) id=12 [slave keyboard (3)] ~$ xrandr Screen 0: minimum 8 x 8, current 3520 x 1200, maximum 16384 x 16384 VGA-0 disconnected (normal left inverted right x axis y axis) HDMI-0 disconnected (normal left inverted right x axis y axis) DVI-D-0 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 546mm x 352mm 1920x1200 60.0*+ 1920x1080 60.0 1680x1050 60.0 1600x1200 60.0 1440x900 59.9 1280x1024 75.0 60.0 1280x960 60.0 1152x864 75.0 1024x768 75.0 70.1 60.0 800x600 75.0 72.2 60.3 56.2 640x480 75.0 72.8 59.9 DVI-D-1 connected 1600x1200+1920+0 (normal left inverted right x axis y axis) 432mm x 324mm 1600x1200 60.0*+ 1280x1024 85.0 75.0 60.0 1024x768 85.0 75.0 70.1 60.0 800x600 85.1 75.0 72.2 60.3 56.2 640x480 85.0 75.0 72.8 59.9
What's the output of /usr/libexec/gnome-rr-debug on that machine (you can Ctrl+C once it's listed all the displays).
Hi Bastien, here is my output : deevad@workstation:~$ /usr/lib/gnome-rr-debug bash: /usr/lib/gnome-rr-debug: No such file or directory deevad@workstation:~$ locate gnome-rr-debug /usr/lib/libgnome-desktop-3-10/gnome-rr-debug /usr/lib/libgnome-desktop-3-7/gnome-rr-debug deevad@workstation:~$ /usr/lib/libgnome-desktop-3-10/gnome-rr-debug [DVI-D-0] connected: 1 builtin (laptop): 0 primary: 1 id: 0 dimensions: 546x352 edid: 128 bytes [0:255:255:255] [DVI-D-1] connected: 1 builtin (laptop): 0 primary: 0 id: 1 dimensions: 432x324 edid: 128 bytes [0:255:255:255] ^C deevad@workstation:~$ /usr/lib/libgnome-desktop-3-7/gnome-rr-debug [VGA-0] connected: 0 laptop: 0 primary: 0 id: 637 [HDMI-0] connected: 0 laptop: 0 primary: 0 id: 638 [DVI-D-0] connected: 1 laptop: 0 primary: 1 id: 639 edid: 128 bytes [0:255:255:255] [DVI-D-1] connected: 1 laptop: 0 primary: 0 id: 659 edid: 128 bytes [0:255:255:255] deevad@workstation:~$
You'll have to clarify the versions of everything you're using. gnome-control-center 3.12.x requires gnome-desktop 3.11.3, so I'm not sure how you get gnome-desktop 3.10 with that. (The debug output of gnome-rr-debug is slightly longer than that) What are the versions of gnome-settings-daemon, gnome-control-center and gnome-desktop?
Hi Bastien, * gnome-settings-daemon : 3.12.2-0ubuntu1~trusty1 * gnome-control-center : ( libgnome-control-center1 ) 1:3.12.1-0ubuntu1~trusty3 * gnome-desktop : ( libgnome-desktop-3-10 , and libgnome-desktop-3-7 ) 3.12.2-0ubuntu1~trusty2 , and 3.8.4-0ubuntu3 It sounds like "Ubuntu Gnome" 14.04 packagers are not helping. It's hard here to know what version is packaged ; the package names are branded 3.12.* anyway in my package manager (synaptic). Also, running the process from command line, with --debug flag or --help don't print version number.
(In reply to comment #4) > Hi Bastien, > > * gnome-settings-daemon : 3.12.2-0ubuntu1~trusty1 > * gnome-control-center : ( libgnome-control-center1 ) 1:3.12.1-0ubuntu1~trusty3 > * gnome-desktop : ( libgnome-desktop-3-10 , and libgnome-desktop-3-7 ) > 3.12.2-0ubuntu1~trusty2 , and 3.8.4-0ubuntu3 It's gnome-desktop 3.12, so that's not the problem. Can you please grab: https://git.gnome.org/browse/gnome-desktop/plain/libgnome-desktop/gnome-rr-debug.c And compile it with: gcc -o gnome-rr-debug `pkg-config --libs --cflags gnome-desktop-3.0` gnome-rr-debug.c Then launch: ./gnome-rr-debug As you would the previous time. (In reply to comment #0) > 1)Spam notifications to calibrate : > =================================== > This happen because of a new rule in 3.12 : propose a calibration when the > resolution has changed. To compare if the resolution of a Cintiq changed, GNOME > save in org.gnome.settings-daemon.peripherals.wacom then > last-calibrated-resolution the resolution of the Cintiq ( in my case 1600x1200, > a Cintiq21UX ). This number is compared -I guess- to the desktop resolution. It's not. It's the resolution of the screen the Cintiq is mapped to: https://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/wacom/gsd-wacom-manager.c#n1531 > In > my case 1920x1200+1600x1200, so 3520 x 1200 ( I use a twinview dual-screen > Nvidia ). I could guess this, because if you change in Dconf 1600x1200 to 3520 > x 1200 the notification spam is stopping. It sounds like the Cintiq isn't mapped to any monitor, bizarrely enough. What's the output of "gsd-list-wacom" (it's in /usr/lib... somewhere as well). > 2)Tablet mapping to a single-screen doesn't load at start-up : It's one bug per bug usually, but as this seem related, let's fix the first one first.
> Can you please grab: > https://git.gnome.org/browse/gnome-desktop/plain/libgnome-desktop/gnome-rr-debug.c > And compile it with: > gcc -o gnome-rr-debug `pkg-config --libs --cflags gnome-desktop-3.0` gnome-rr-debug.c > Then launch: > ./gnome-rr-debug > As you would the previous time. Ok, I tried, but it didn't succeed to compile : wget https://git.gnome.org/browse/gnome-desktop/plain/libgnome-desktop/gnome-rr-debug.c Package gnome-desktop-3.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gnome-desktop-3.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gnome-desktop-3.0' found gnome-rr-debug.c:23:22: fatal error: gdk/gdkx.h: No such file or directory #include <gdk/gdkx.h> ^ compilation terminated. > It sounds like the Cintiq isn't mapped to any monitor, bizarrely enough. What's the output of "gsd-list-wacom" (it's in /usr/lib... somewhere as well). Here is the /usr/lib/gnome-settings-daemon/gsd-list-wacom http://pastebin.com/1BnhPfZf
(In reply to comment #6) > > Can you please grab: > > https://git.gnome.org/browse/gnome-desktop/plain/libgnome-desktop/gnome-rr-debug.c > > And compile it with: > > gcc -o gnome-rr-debug `pkg-config --libs --cflags gnome-desktop-3.0` gnome-rr-debug.c > > Then launch: > > ./gnome-rr-debug > > As you would the previous time. > Ok, I tried, but it didn't succeed to compile : > wget > https://git.gnome.org/browse/gnome-desktop/plain/libgnome-desktop/gnome-rr-debug.c > Package gnome-desktop-3.0 was not found in the pkg-config search path. Install the development package.
> Install the development package. Ok, I opened synaptic and tryied to install the max of *-dev packages things related with this issue. Problem : Gnome-devel and Gnome-core-devel is still available in version 3.8+4ubuntu3 ; and synaptic refuse me to install them anyway ( broken dependencies warning ). I guess this two packages are blocked to this previous version because it's what the Ubuntu dev are using for the Unity main desktop. Would it mean I reached a dead-end ? I wouldn't be surprise... Here are additionnal infos; I installed the following packages ; it's what I could do : =========================================================== accerciser (3.12.0-1) anjuta (2:3.11.90-0ubuntu1~trusty1) anjuta-common (2:3.11.90-0ubuntu1~trusty1) autoconf (2.69-6) autogen (1:5.18-2ubuntu2) automake (1:1.14.1-2ubuntu1) autopoint (0.18.3.1-1ubuntu3) autotools-dev (20130810.1) devhelp (3.12.1-0ubuntu1~trusty1) devhelp-common (3.12.1-0ubuntu1~trusty1) docbook-dsssl (1.79-7ubuntu1) gir1.2-gtk-2.0 (2.24.23-0ubuntu1.1) glade (3.18.3-1~trusty1) gnome-api-docs (1:3.8+4ubuntu3) gnome-common (3.12.0-1~trusty1) gnome-control-center-dev (1:3.12.1-0ubuntu1~trusty3) gnome-devel-docs (3.8.1-1) gnome-platform-devel (1:3.8+4ubuntu3) gnome-settings-daemon-dev (3.12.2-0ubuntu1~trusty1) gsettings-desktop-schemas-dev (3.12.0-0ubuntu1~trusty1) gstreamer1.0-doc (1.2.4-0ubuntu1) gtk-doc-tools (1.20-1ubuntu1) intltool (0.50.2-2) ipython3 (1.2.1-2) jade (1.2.1-47.3ubuntu1) libanjuta-3-0 (2:3.11.90-0ubuntu1~trusty1) libapr1 (1.5.0-1) libaprutil1 (1.5.3-1) libatk1.0-doc (2.12.0-1ubuntu1~trusty1) libcairo2-doc (1.13.0~20140204-0ubuntu1) libcanberra-doc (0.30-0ubuntu3) libclutter-1.0-dev (1.16.4-0ubuntu2) libclutter-1.0-doc (1.16.4-0ubuntu2) libclutter-gtk-1.0-dev (1.4.4-3ubuntu2) libclutter-gtk-1.0-doc (1.4.4-3ubuntu2) libcogl-dev (1.16.2-1) libcogl-doc (1.16.2-1) libcogl-pango-dev (1.16.2-1) libdbus-glib-1-dev (0.100.2-1) libdevhelp-3-2 (3.12.1-0ubuntu1~trusty1) libgail-3-dev (3.12.2-0ubuntu4~trusty1) libgail-3-doc (3.12.2-0ubuntu4~trusty1) libgail-dev (2.24.23-0ubuntu1.1) libgail-doc (2.24.23-0ubuntu1.1) libgbm-dev (10.1.3-0ubuntu0.1) libgda-5.0-4 (5.2.2-1) libgda-5.0-common (5.2.2-1) libgdk-pixbuf2.0-doc (2.30.7-0ubuntu1) libgdl-3-5 (3.8.1-2ubuntu1) libgdl-3-common (3.8.1-2ubuntu1) libgdm-dev (3.12.2-0ubuntu1~trusty1) libgladeui-2-6 (3.18.3-1~trusty1) libgladeui-common (3.18.3-1~trusty1) libglib2.0-doc (2.40.0-2) libgnome-desktop-3-dev (3.12.2-0ubuntu1~trusty2) libgnome-menu-3-dev (3.10.1-0ubuntu2) libgstreamer1.0-dev (1.2.4-0ubuntu1) libgtk-3-doc (3.12.2-0ubuntu4~trusty1) libgtk2.0-dev (2.24.23-0ubuntu1.1) libgtk2.0-doc (2.24.23-0ubuntu1.1) libgtksourceview-3.0-dev (3.12.1-0ubuntu1~trusty1) libgtksourceview-3.0-doc (3.12.1-0ubuntu1~trusty1) libjson-glib-dev (1.0.0-1~trusty1) libltdl-dev (2.4.2-1.7ubuntu1) libnotify-doc (0.7.6-1ubuntu3) libopts25 (1:5.18-2ubuntu2) libopts25-dev (1:5.18-2ubuntu2) libpango1.0-doc (1.36.3-1ubuntu1) libserf-1-1 (1.3.3-1) libsvn1 (1.8.8-1ubuntu3) libtelepathy-glib-doc (0.24.0-1~trusty1) libtool (2.4.2-1.7ubuntu1) libvala-0.20-0 (0.20.1-2ubuntu5) libvala-0.24-0 (0.24.0-5~14.04~valateam0) libxml-parser-perl (2.41-1build3) libxml2-dev (2.9.1+dfsg1-3ubuntu4.3) libxml2-doc (2.9.1+dfsg1-3ubuntu4.3) m4 (1.4.17-2ubuntu1) policykit-1-doc (0.105-4ubuntu2) python3-decorator (3.4.0-2build1) python3-simplegeneric (0.8.1-1) valac-0.20 (0.20.1-2ubuntu5) valac-0.20-vapi (0.20.1-2ubuntu5) Second attempt : ================ deevad@workstation:~/Software/lib-gnome-desktop$ gcc -o gnome-rr-debug `pkg-config --libs --cflags gnome-desktop-3.0` gnome-rr-debug.c /tmp/ccMkjjQl.o: In function `print_output': gnome-rr-debug.c:(.text+0x29): undefined reference to `gnome_rr_output_get_name' gnome-rr-debug.c:(.text+0x3b): undefined reference to `g_print' gnome-rr-debug.c:(.text+0x58): undefined reference to `g_print' gnome-rr-debug.c:(.text+0x67): undefined reference to `g_print' gnome-rr-debug.c:(.text+0x7b): undefined reference to `g_print' gnome-rr-debug.c:(.text+0x87): undefined reference to `gnome_rr_output_is_builtin_display' gnome-rr-debug.c:(.text+0x98): undefined reference to `g_print' gnome-rr-debug.c:(.text+0xa4): undefined reference to `gnome_rr_output_get_is_primary' gnome-rr-debug.c:(.text+0xb5): undefined reference to `g_print' gnome-rr-debug.c:(.text+0xc1): undefined reference to `gnome_rr_output_get_id' gnome-rr-debug.c:(.text+0xd2): undefined reference to `g_print' gnome-rr-debug.c:(.text+0xe9): undefined reference to `gnome_rr_output_get_physical_size' gnome-rr-debug.c:(.text+0x100): undefined reference to `g_print' gnome-rr-debug.c:(.text+0x10c): undefined reference to `gnome_rr_output_get_min_backlight_step' gnome-rr-debug.c:(.text+0x11a): undefined reference to `gnome_rr_output_get_backlight' gnome-rr-debug.c:(.text+0x12d): undefined reference to `g_print' gnome-rr-debug.c:(.text+0x140): undefined reference to `gnome_rr_output_get_edid_data' gnome-rr-debug.c:(.text+0x19f): undefined reference to `g_print' gnome-rr-debug.c:(.text+0x1b7): undefined reference to `gnome_rr_output_get_ids_from_edid' gnome-rr-debug.c:(.text+0x1d5): undefined reference to `g_print' gnome-rr-debug.c:(.text+0x1e1): undefined reference to `g_free' gnome-rr-debug.c:(.text+0x1ed): undefined reference to `g_free' gnome-rr-debug.c:(.text+0x1f9): undefined reference to `g_free' gnome-rr-debug.c:(.text+0x208): undefined reference to `g_print' /tmp/ccMkjjQl.o: In function `screen_changed': gnome-rr-debug.c:(.text+0x22e): undefined reference to `g_print' /tmp/ccMkjjQl.o: In function `main': gnome-rr-debug.c:(.text+0x2a8): undefined reference to `gtk_init' gnome-rr-debug.c:(.text+0x2ad): undefined reference to `gdk_screen_get_default' gnome-rr-debug.c:(.text+0x2bc): undefined reference to `gnome_rr_screen_new' gnome-rr-debug.c:(.text+0x2eb): undefined reference to `g_log' gnome-rr-debug.c:(.text+0x2f7): undefined reference to `g_error_free' gnome-rr-debug.c:(.text+0x308): undefined reference to `gnome_rr_screen_list_outputs' gnome-rr-debug.c:(.text+0x37c): undefined reference to `g_signal_connect_data' gnome-rr-debug.c:(.text+0x3a3): undefined reference to `g_signal_connect_data' gnome-rr-debug.c:(.text+0x3ca): undefined reference to `g_signal_connect_data' gnome-rr-debug.c:(.text+0x3cf): undefined reference to `gtk_main' gnome-rr-debug.c:(.text+0x3db): undefined reference to `g_object_unref' collect2: error: ld returned 1 exit status deevad@workstation:~/Software/lib-gnome-desktop$
Hi David, I would also find it very useful if you provided the output of: /usr/lib/gnome-settings-daemon/gnome-settings-daemon -r --debug after logging in. I would be mainly interested in the whole initialization logs, after that you can keep this running on the terminal to avoid altering the current session, or log out/in to get a normally running session.
Hi Carlos, Unfortunately the setup was too unstable to use, and I moved to Xfce temporary with Xsetwacom and DispcalGui, and a simplier setup. I cannot test this anymore or reproduce. Bastien already read it on a Google+ I wrote; sorry for not updating this thread as well. Thanks for all helps. I'll see later if it's still happen under Fedora or Arch GNOME ; but I'll surely avoid Ubuntu-Gnome.
Closing this bug report as no further information has been provided. Please feel free to report this to https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/ if you can provide the information that was asked for in a previous comment and if this still happens in a recent and supported version. Thanks!