Subscribe

Wacom.so unloaded by Xorg server

  1. 2010-09-05 09:37:45 PDT
    I'm running 64-bit, OpenSUSe 11.3. Everything finally compiled okay but the tablet still doesn't work. I'm seeing the following message in my xorg.0.log: [ 389.710] (II) Loading /usr/lib64/xorg/modules/input/wacom_drv.so [ 389.710] (II) Module wacom: vendor="X.Org Foundation" [ 389.710] compiled for 4.3.99.902, module version = 1.0.0 [ 389.710] Module class: X.Org XInput Driver [ 389.710] ABI class: [ 389.710] (EE) module ABI major version (2) doesn't match the server's version (9) [ 389.710] (II) UnloadModule: "wacom" [ 389.710] (II) Unloading /usr/lib64/xorg/modules/input/wacom_drv.so [ 389.710] (EE) Failed to load module "wacom" (module requirement mismatch, 0) Someone suggested adding the following to Xorg.conf but it only killed the Xserver. Section "ServerFlags" Option "IgnoreABI" "True" EndSection is there another workaround?
  2. 2010-09-06 01:11:58 PDT
    How did you compile the driver on driver on the system? Please post your steps along with the outputs here. Thank you.
  3. 2010-09-06 08:26:31 PDT
    The driver was compiled on the same machine that's giving the error. The machine is running this kernel: Linux 2.6.34-12-desktop x86_64. The machine is new, the tablet (CTH-661)is now about 6 months old. The machine got a fresh install of OpenSUSe 11.3, 64 bit. I installed the kcm_tablet - KDE 4 KCModule for the Wacom Linux Drivers - v 1.2-1.2 and wacom-kmp-desktop - Kernel modules for Wacom Tablets- v 0.8.1_k2.6.34.0_12-10.1 files that came with the distro. They didn't seem to work, so I went to the LinuxWacom project site and other forums for more information. I installed base development & TCL/TK development packages (I'm not a developer and these are "extra" to the basic desktop) I verified that ncurses, libtool, libXi and the other development packages were installed. Using directions in this thread on the OpenSUSe forums: http://forums.opensuse.org/english/get-help-here/hardware/443230-there-no-x11-input-wacom-packages-opensuse-11-3-a-3.html I installed these additional kernel packages: kernel-source, kernel-syms, xorg-x11-server-sdk I downloaded xf86-input-wacom-0.10.8.tar.bz2, unpacked it, ran configure, make, & make install I downloaded wacomlinux-0.8.8-8.tar.bz2, unpacked it, ran ./configure --enable-wacom --prefix=/usr, and copied the modules to the specified directories The directions given for creating symbolic links failed with "file or directory not found" on the Module.symvers, and dbus-arch-deps.h. This command seemed to work:[ code]# cd /usr/src/linux-`uname -r | cut -d- -f1,2` # make oldconfig && make modules_prepare Things still weren't working - everything pointed to the need for a Xorg.conf file, which OpenSUSe 11.3 doesn't use, so I copied the Xorg.conf.install as Xorg.conf. Then I added the Wacom settings: Section "ServerLayout" Identifier "Layout" Screen "vboxvideo" Screen "vmware" Screen "cirrus" Screen "fbdev" Screen "vesa" InputDevice "stylus" "SendCoreEvents" InputDevice "eraser" "SendCoreEvents" InputDevice "cursor" "SendCoreEvents" # For non-LCD tablets only InputDevice "touch" "SendCoreEvents" # Only a few TabletPCs support this type InputDevice "pad" # For Intuos3/CintiqV5/Graphire4/Bamboo tablets EndSection Section "InputDevice" Driver "wacom" Identifier "stylus" Option "Device" "/dev/input/wacom" # USB ONLY Option "Type" "stylus" Option "USB" "on" # USB ONLY EndSection Section "InputDevice" Driver "wacom" Identifier "eraser" Option "Device" "/dev/input/wacom" # USB ONLY Option "Type" "eraser" Option "USB" "on" # USB ONLY EndSection Section "InputDevice" Driver "wacom" Identifier "cursor" Option "Device" "/dev/input/wacom" # USB ONLY Option "Type" "cursor" Option "USB" "on" # USB ONLY EndSection # This section is for Intuos3, CintiqV5, Graphire4, or Bamboo without touch Section "InputDevice" Driver "wacom" Identifier "pad" Option "Device" "/dev/input/wacom" # USB ONLY Option "Type" "pad" Option "USB" "on" # USB ONLY EndSection # This section is for USB Bamboo with touch Section "InputDevice" Driver "wacom" Identifier "pad" Option "Device" "/dev/input/wacom-touch" # USB ONLY Option "Type" "pad" Option "USB" "on" # USB ONLY EndSection # This section is for the TabletPC that supports touch Section "InputDevice" Driver "wacom" Identifier "touch" Option "Device" "/dev/input/wacom-touch" # USB ONLY Option "Type" "touch" Option "USB" "on" # USB ONLY EndSection The Wacom rules file at /etc/udev/rules.d didn't have much in it (I think it was 10-wacom.rules) so I replaced it with the 60-wacom.rules from linuxwacom-0.8.8-8/src/util and added the following to it: BUS=="usb", KERNEL=="event*", SYSFS{bInterfaceNumber}=="00", ENV{WACOM_TYPE}="stylus" BUS=="usb", KERNEL=="event*", SYSFS{bInterfaceNumber}=="01", ENV{WACOM_TYPE}="touch" BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", ENV{WACOM_TYPE}!="touch", SYMLINK+="input/wacom" BUS=="usb", KERNEL=="event*", SYSFS{idVendor}=="056a", ENV{WACOM_TYPE}=="touch", SYMLINK+="input/wacom-touch" The tablet still wasn't working after system restarts. dmesg would show the system knew the tablet was there and it looked like a driver was being loaded, depmod -a didn't make any difference. I ran across a posting saying macros should be installed, so I tried that wget http://xorg.freedesktop.org/archive/individual/util/util-macros-1.10.0.tar.bz2 tar xvfj util-macros-1.10.0.tar.bz2 cd util-macros ./configure --prefix=/usr sudo make install still no response from the tablet. checking the xorg.0.log I found the ABI error. Searching forums, I found the code to stop the mismatch-error. It killed the xserver, so I took it back out. They system works, the tablet doesn't. if you need any more information, please let me know. thanks, nancy
  4. 2010-09-06 09:30:05 PDT
    Hi nancy, You don't have a Wacom tablet mouse so remove the cursor section from the xorg.conf and the cursor line from "ServerLayout". You are correct, the pad should be on the wacom-touch symlink so remove the duplicate pad section with the wacom symlink. The pad line in "ServerLayout" would be trying to make both active. Favux
  5. 2010-09-06 14:01:40 PDT
    Favux I removed the pad & cursor lines from xorg.conf and restarted the system. I still get the ABI mismatch (2 versus 9) & the tablet doesn't work.
  6. 2010-09-08 02:32:09 PDT
    What is the output of "X -version" on your system? Please redo the following steps to see what happens: download wacomlinux-0.8.8-8.tar.bz2 unpacked it ./configure make su make install reboot
  7. 2010-09-08 02:34:21 PDT
    Sorry, I meant linuxwacom-0.8.8-8.tar.bz2. It was copied and pasted from your messages ;).
  8. 2010-09-08 11:03:24 PDT
    that's okay - I knew what you meant ;-) output from ./config: checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for gawk... (cached) gawk checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ld used by gcc... /usr/x86_64-suse-linux/bin/ld checking if the linker (/usr/x86_64-suse-linux/bin/ld) is GNU ld... yes checking for /usr/x86_64-suse-linux/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking how to recognize dependent libraries... pass_all checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking how to run the C++ preprocessor... g++ -E checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgf95... no checking for lf95... no checking for ftn... no checking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... no checking the maximum length of command line arguments... 1572864 checking command to parse /usr/bin/nm -B output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... ranlib checking for strip... strip checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by g++... /usr/x86_64-suse-linux/bin/ld -m elf_x86_64 checking if the linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) is GNU ld... yes checking whether the g++ linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC checking if g++ PIC flag -fPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so (cached) (cached) checking how to hardcode library paths into programs... immediate appending configuration tag "F77" to libtool checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for HAL... no checking for arch type... x86_64-suse-linux checking for kernel type... Linux checking for linux-based kernel... yes checking for kernel source/headers... /lib/modules/2.6.34-12-desktop/build checking kernel version... 2.6.34-12-desktop checking for kernel module support... yes checking for Xlib... yes checking for XSERVER... yes checking for xserver libc-wrapper header-files... no checking if scaling tablet to screen size is needed... no checking if Xorg server is version 1.4 or later... yes checking if Xorg is 7.3 or earlier... no checking if Xorg server is version 1.5.2 or later... yes checking if Xorg server is version 1.6 or later... yes checking if Xorg server is version 1.7 or later... yes checking if Xorg SDK defined IsXExtensionPointer... yes checking if Xorg SDK defines dixScreenOrigins... yes checking XInput extension version... >= 2.0 checking for lib xf86config... found, /usr/include/xorg checking for X... libraries /usr/lib64, headers checking whether -R must be followed by a space... neither works checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking for tclsh... /usr/bin/tclsh checking for tcl version... 8.5 checking for tcl header files... found, /usr/include checking for tk header files... found, /usr/include checking ncurses.h usability... yes checking ncurses.h presence... yes checking for ncurses.h... yes checking if libwacomcfg should/can be built... yes checking if libwacomxi should/can be built... yes checking if wacdump should/can be built... yes checking if xidump should/can be built... yes checking if xsetwacom should be built... yes checking if wacomxrrd should be built... checking X11/extensions/Xrandr.h usability... yes checking X11/extensions/Xrandr.h presence... yes checking for X11/extensions/Xrandr.h... yes yes checking for Wacom X driver module path... /usr/lib64/xorg/modules/input checking for dynamic driver loading support... yes checking if wacom_drv.{o,so} should be compiled... yes checking if gcc accepts -fno-merge-constants... yes checking if gcc accepts -fno-stack-protector... yes configure: creating ./config.status config.status: creating Makefile config.status: creating mkxincludes config.status: creating src/Makefile config.status: creating src/util/Makefile config.status: creating src/xdrv/Makefile config.status: creating src/2.6.16/Makefile config.status: creating src/2.6.18/Makefile config.status: creating src/2.6.24/Makefile config.status: creating src/2.6.30/Makefile config.status: creating src/wacomxi/Makefile config.status: creating src/wacomxi/wacomcpl config.status: creating src/include/xdrv-config.h config.status: src/include/xdrv-config.h is unchanged config.status: creating src/include/kernel-config.h config.status: src/include/kernel-config.h is unchanged config.status: creating src/include/util-config.h config.status: src/include/util-config.h is unchanged config.status: executing depfiles commands ---------------------------------------- BUILD ENVIRONMENT: architecture - x86_64-suse-linux linux kernel - yes 2.6.30 kernel source - yes /lib/modules/2.6.34-12-desktop/build XFree86 source - no Xorg SDK - yes /usr/include/xorg XSERVER64 - yes dlloader - yes XLib - yes /usr/lib64 xf86config - yes TCL - yes /usr/include TK - yes /usr/include ncurses - yes BUILD OPTIONS: wacom.o - no wacdump - no xidump - no libwacomcfg - no libwacomxi - no xsetwacom - no wacomxrrd - no hid.o - no wacom_drv.so - no /usr/lib64/xorg/modules/input wacom_drv.o - no wacom*_drv quirks - IsXExtensionPointer key-events dixScreenOrigins ---------------------------------------- You can build the kernel driver from this package by ./configure --enable-wacom NOTE: this package only supports Xorg server older than 1.7. You are running a newer version. Please build the X driver from xf86-input-wacom. from make: Making all in src make[1]: Entering directory `/tmp/linuxwacom-0.8.8-8/src' Making all in 2.6.30 make[2]: Entering directory `/tmp/linuxwacom-0.8.8-8/src/2.6.30' Building linuxwacom drivers for 2.6 kernel. ***Note: Drivers not enabled as modules in your kernel config but requested through configure are NOT built make -C /lib/modules/2.6.34-12-desktop/build M=/tmp/linuxwacom-0.8.8-8/src/2.6.30 make[3]: Entering directory `/usr/src/linux-2.6.34-12-obj/x86_64/desktop' make -C ../../../linux-2.6.34-12 O=/usr/src/linux-2.6.34-12-obj/x86_64/desktop/. Building modules, stage 2. MODPOST 0 modules make[3]: Leaving directory `/usr/src/linux-2.6.34-12-obj/x86_64/desktop' make[2]: Leaving directory `/tmp/linuxwacom-0.8.8-8/src/2.6.30' make[2]: Entering directory `/tmp/linuxwacom-0.8.8-8/src' make[2]: Nothing to be done for `all-am'. make[2]: Leaving directory `/tmp/linuxwacom-0.8.8-8/src' make[1]: Leaving directory `/tmp/linuxwacom-0.8.8-8/src' make[1]: Entering directory `/tmp/linuxwacom-0.8.8-8' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/tmp/linuxwacom-0.8.8-8' from make install: Making install in src make[1]: Entering directory `/tmp/linuxwacom-0.8.8-8/src' Making install in 2.6.30 make[2]: Entering directory `/tmp/linuxwacom-0.8.8-8/src/2.6.30' make[2]: Nothing to be done for `install'. make[2]: Leaving directory `/tmp/linuxwacom-0.8.8-8/src/2.6.30' make[2]: Entering directory `/tmp/linuxwacom-0.8.8-8/src' make[3]: Entering directory `/tmp/linuxwacom-0.8.8-8/src' make[3]: Nothing to be done for `install-exec-am'. test -z "/usr/local/share/man/man4" || /bin/mkdir -p "/usr/local/share/man/man4" /usr/bin/install -c -m 644 'wacom.4x.gz' '/usr/local/share/man/man4/wacom.4x.gz' /usr/bin/install -c -m 644 'xsetwacom.4x.gz' '/usr/local/share/man/man4/xsetwacom.4x.gz' test -z "/usr/local/share/man/man4" || /bin/mkdir -p "/usr/local/share/man/man4" /usr/bin/install -c -m 644 'wacom.4x' '/usr/local/share/man/man4/wacom.4x' test -z "/usr/local/share/man/man4" || /bin/mkdir -p "/usr/local/share/man/man4" /usr/bin/install -c -m 644 'wacom.4x.gz' '/usr/local/share/man/man4/wacom.4x.gz' test -z "/usr/local/share/man/man4" || /bin/mkdir -p "/usr/local/share/man/man4" /usr/bin/install -c -m 644 'xsetwacom.4x' '/usr/local/share/man/man4/xsetwacom.4x' test -z "/usr/local/share/man/man4" || /bin/mkdir -p "/usr/local/share/man/man4" /usr/bin/install -c -m 644 'xsetwacom.4x.gz' '/usr/local/share/man/man4/xsetwacom.4x.gz' make[3]: Leaving directory `/tmp/linuxwacom-0.8.8-8/src' make[2]: Leaving directory `/tmp/linuxwacom-0.8.8-8/src' make[1]: Leaving directory `/tmp/linuxwacom-0.8.8-8/src' make[1]: Entering directory `/tmp/linuxwacom-0.8.8-8' make[2]: Entering directory `/tmp/linuxwacom-0.8.8-8' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/tmp/linuxwacom-0.8.8-8' make[1]: Leaving directory `/tmp/linuxwacom-0.8.8-8'
  9. 2010-09-08 12:53:48 PDT
    Your wacom_drv.so did not build from linuxwacom-0.8.8-8. I wonder what X server you are running. Please post the output of "X -version" here.
  10. 2010-09-08 13:04:03 PDT
    Hi nancy, It looks like your Xserver is version 1.7 or higher (that's what Ping wanted to find out with 'Xorg -version') so linuxwacom will not build the X driver wacom_drv.so. That's why in the config output you see: checking if Xorg server is version 1.7 or later... yes You need to compile xf86-input-wacom for the X driver. That's why you see in the BUILD ENVIRONMENT: wacom_drv.so - no /usr/lib64/xorg/modules/input Also it looks like you forgot the '--enable-wacom' flag this time because it also says: wacom.o - no So it's not compiling the new wacom.ko you need. This will give an ABI mismatch. For instructions see Sections 1 & 2 on this HOW TO: http://ubuntuforums.org/showthread.php?t=1038949 Although it's for Debian/Ubuntu other Suse users say they are able to follow it. Just remember in Section 1 after compiling linuxwacom not to do 'sudo make install', just copy the new compiled wacom.ko into place. Favux
  11. 2010-09-08 16:04:02 PDT
    Here's the info from the "X -version"aQQQQQQQ X.Org X Server 1.8.0 Release Date: 2010-04-02 X Protocol Version 11, Revision 0 Build Operating System: openSUSE SUSE LINUX Current Operating System: Linux linux-8iym 2.6.34-12-desktop #1 SMP PREEMPT 2010-06-29 02:39:08 +0200 x86_64 Kernel command line: root=/dev/sda2 resume=/dev/disk/by-id/ata-ST3750528AS_9VP5BBKL-part7 splash=silent quiet vga=0x31a Build Date: 19 August 2010 03:34:22PM Current version of pixman: 0.18.0 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. I compiled the drivers from xf86-input-wacom on an earlier pass, just as I ran the --enable-wacom flag when doing the wacom build (on an earlier pass). I just didn't use the flag on this pass. The wacom.ko file I'm running is dated August 31, 2010. I compiled the driver & copied it to the following directories: /lib/modules/2.6.34-12-desktop/kernel/drivers/input/tablet/wacom.ko /lib/modules/2.6.34-12-desktop/updates/wacom.ko
  12. 2010-09-08 16:35:29 PDT
    Hi nancy, The only other thing I can think of, is since you're on 64-bit, you may need to add the 64-bit flag: "Using --prefix=/usr installs to /usr instead of the default /usr/local. On a 64-bit install you may need to add another flag. To check see where evdev_drv.so is located. If it is in /usr/lib/xorg/modules/input, then '--prefix=/usr' is correct. If in /usr/lib64/xorg/modules/input, then you need to add '--libdir=/usr/lib64'". And that would be for both linuxwacom and xf86-input-wacom. Otherwise we'll have to see if Ping knows what's wrong. Favux
  13. 2010-09-08 19:11:02 PDT
    IT WORKS!!!!! I'm going to do a Snoopy dance now!!!!! Thank you Thank you Thank you
  14. 2010-09-08 19:23:07 PDT
    Hi nancy, Awesome! : )
  15. 2010-09-08 19:35:29 PDT
    Thank you favux for your awesome help. Thank you Nancy for your patience.
Jump To:
< Previous | 1 | Next >

Add a Reply

This forum does not allow anonymous participation.

Log in to add a reply. Not registered? Create an account to participate and receive email updates when replies are posted to this topic.