Skip to content

Instantly share code, notes, and snippets.

@miabrahams
Last active May 6, 2018 16:22
Show Gist options
  • Save miabrahams/fbd1ce98276c1bb3dd44 to your computer and use it in GitHub Desktop.
Save miabrahams/fbd1ce98276c1bb3dd44 to your computer and use it in GitHub Desktop.
Build Wacom control panel on Debian/Ubuntu
PART 1: Install a boatload of dependencies
sudo apt-get install extra-cmake-modules qtbase5-dev libqt5x11extras5-dev qtdeclarative5-dev libkf5coreaddons-dev libkf5i18n-dev libkf5globalaccel-dev libkf5config-dev libkf5xmlgui-dev libkf5widgetsaddons-dev libkf5windowsystem-dev libkf5notifications-dev libkf5dbusaddons-dev plasma-framework-dev kdoctools-dev libx11-dev
PART 2: Build and install the Wacom control panel
git clone git://anongit.kde.org/wacomtablet
cd wacomtablet
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DKDE_INSTALL_PLUGINDIR=/usr/lib/x86_64-linux-gnu/qt5/plugins
make -j8
sudo make install
Make sure the installation paths are correct.
In particular, verify that .so files have been put in /usr/lib/x86_64-linux-gnu/qt5/plugins.
I once had to run this command:
sudo cp -r /usr/lib/x86_64-linux-gnu/plugins/* /usr/lib/x86_64-linux-gnu/qt5/plugins
START THE SERVICE:
kquitapp kded5 && kded5
INSTALLED FILES LIST, on my machine:
/usr/share/plasma/plasmoids/org.kde.wacomtablet
/usr/share/plasma/plasmoids/org.kde.wacomtablet/metadata.desktop
/usr/share/plasma/plasmoids/org.kde.wacomtablet/contents
/usr/share/plasma/plasmoids/org.kde.wacomtablet/contents/ui
/usr/share/plasma/plasmoids/org.kde.wacomtablet/contents/ui/RotationButton.qml
/usr/share/plasma/plasmoids/org.kde.wacomtablet/contents/ui/FullRepresentation.qml
/usr/share/plasma/plasmoids/org.kde.wacomtablet/contents/ui/main.qml
/usr/share/kservices5/plasma-applet-org.kde.wacomtablet.desktop
/usr/lib/x86_64-linux-gnu/qt5/plugins/plasma/dataengine/plasma_engine_wacomtablet.so
/usr/share/kservices5/plasma-dataengine-wacomtablet.desktop
/usr/share/plasma/services/wacomtablet.operations
/usr/lib/x86_64-linux-gnu/qt5/plugins/kcm_wacomtablet.so
/usr/share/kservices5/kcm_wacomtablet.desktop
/usr/lib/x86_64-linux-gnu/qt5/plugins/kded_wacomtablet.so
/usr/share/kservices5/kded/wacomtablet.desktop
/usr/share/knotifications5/wacomtablet.notifyrc
/usr/share/dbus-1/interfaces/org.kde.Wacom.xml
/usr/bin/kde_wacom_tabletfinder
/usr/share/applications/kde_wacom_tabletfinder.desktop
/usr/share/wacomtablet/data/companylist
/usr/share/wacomtablet/data/aiptek_devicelist
/usr/share/wacomtablet/data/default_devicelist
/usr/share/wacomtablet/data/huion_devicelist
/usr/share/wacomtablet/data/lenovo_devicelist
/usr/share/wacomtablet/data/ntrig_devicelist
/usr/share/wacomtablet/data/toshiba_devicelist
/usr/share/wacomtablet/data/wacom_devicelist
/usr/share/wacomtablet/data/waltop_devicelist
/usr/share/wacomtablet/data/toshiba_devicelist
/usr/share/wacomtablet/images/bl_1.png
/usr/share/wacomtablet/images/bl_2.png
/usr/share/wacomtablet/images/bl_3.png
/usr/share/wacomtablet/images/bl_4.png
/usr/share/wacomtablet/images/bl_5.png
/usr/share/wacomtablet/images/bl_6.png
/usr/share/wacomtablet/images/bl_7.png
/usr/share/wacomtablet/images/bl_8.png
/usr/share/wacomtablet/images/bl_9.png
/usr/share/wacomtablet/images/pen.png
/usr/share/doc/HTML/en/kcontrol/wacomtablet/index.cache.bz2
/usr/share/doc/HTML/en/kcontrol/wacomtablet/index.docbook
/usr/share/doc/HTML/en/kcontrol/wacomtablet/presscurve.png
/usr/share/doc/HTML/en/kcontrol/wacomtablet/tabletarea.png
@AI-Bot-Karl
Copy link

Hi , thanks for the nice install instructions.
Sadly, this didn't work for me.

at Step:

make -j8

I got an error saying:

/home/kalikal/wacomtablet/src/common/tabletprofile.cpp:127:41: error: ‘qAsConst’ was not declared in this scope
     for (const auto &key : qAsConst(keys)) {

at:

[ 15%] Building CXX object src/common/CMakeFiles/wacom_common.dir/tabletprofile.cpp.o
/home/kalikal/wacomtablet/src/common/tabletprofile.cpp: In member function ‘QStringList Wacom::TabletProfile::listDevices() const’:

Full output:

kalikal@thinkpaddy:~/wacomtablet/build$ make -j8 
[  0%] Automatic moc for target kde_wacom_tabletfinder
[  1%] Built target org.kde.plasma.wacomtablet-metadata-json
[  1%] Automatic moc for target kded_wacomtablet_lib
[  1%] Automatic moc for target kcm_wacomtablet
[  1%] Built target doc-user-index-cache-bz2
[  1%] Automatic moc for target kded_wacomtablet
[  2%] Automatic moc for target faketablet
[  2%] Built target kde_wacom_tabletfinder_automoc
[  2%] Automatic moc for target plasma_engine_wacomtablet
[  3%] Automatic moc for target wacom_common
[  3%] Automatic moc for target Test.Common.ButtonShortcut
[  3%] Built target kcm_wacomtablet_automoc
[  3%] Built target kded_wacomtablet_lib_automoc
[  4%] Built target kded_wacomtablet_automoc
[  4%] Built target faketablet_automoc
[  4%] Automatic moc for target Test.Common.DeviceInformation
[  5%] Built target plasma_engine_wacomtablet_automoc
[  5%] Built target Test.Common.ButtonShortcut_automoc
[  5%] Built target wacom_common_automoc
[  6%] Automatic moc for target Test.Common.DeviceProfile
[  6%] Automatic moc for target Test.Common.DeviceProfileConfigAdaptor
[  6%] Automatic moc for target Test.Common.DeviceProperty
[  6%] Automatic moc for target Test.Common.Enum
[  6%] Built target Test.Common.DeviceInformation_automoc
[  7%] Automatic moc for target Test.Common.LibwacomData
[  7%] Automatic moc for target Test.Common.Property
[  7%] Built target Test.Common.DeviceProfile_automoc
[  8%] Automatic moc for target Test.Common.ProfileManager
[  8%] Built target Test.Common.DeviceProperty_automoc
[  8%] Built target Test.Common.DeviceProfileConfigAdaptor_automoc
[  8%] Built target Test.Common.Enum_automoc
[  9%] Automatic moc for target Test.Common.PropertySet
[  9%] Automatic moc for target Test.Common.TabletInformation
[  9%] Automatic moc for target Test.Common.TabletArea
[  9%] Built target Test.Common.ProfileManager_automoc
[  9%] Built target Test.Common.LibwacomData_automoc
[  9%] Built target Test.Common.Property_automoc
[  9%] Automatic moc for target Test.Common.TabletProfile
[  9%] Automatic moc for target Test.Common.TabletProfileConfigAdaptor
[ 10%] Automatic moc for target Test.KDED.DBusTabletService
[ 10%] Built target Test.Common.TabletInformation_automoc
[ 10%] Built target Test.Common.PropertySet_automoc
[ 11%] Automatic moc for target Test.KDED.TabletDatabase
[ 12%] Automatic moc for target Test.KDED.TabletBackend
[ 12%] Built target Test.Common.TabletArea_automoc
[ 12%] Built target Test.Common.TabletProfileConfigAdaptor_automoc
[ 12%] Built target Test.KDED.DBusTabletService_automoc
[ 12%] Built target Test.Common.TabletProfile_automoc
[ 12%] Automatic moc for target Test.KDED.TabletHandler
[ 12%] Built target Test.KDED.TabletBackend_automoc
[ 13%] Automatic moc for target Test.KDED.XInputAdaptor
[ 13%] Built target Test.KDED.TabletDatabase_automoc
[ 14%] Automatic moc for target Test.KDED.XsetWacomAdaptor
[ 14%] Built target Test.KDED.TabletHandler_automoc
[ 14%] Built target Test.KDED.XInputAdaptor_automoc
[ 15%] Built target faketablet
[ 15%] Built target Test.KDED.XsetWacomAdaptor_automoc
[ 15%] Building CXX object src/common/CMakeFiles/wacom_common.dir/tabletprofile.cpp.o
/home/kalikal/wacomtablet/src/common/tabletprofile.cpp: In member function ‘QStringList Wacom::TabletProfile::listDevices() const’:
/home/kalikal/wacomtablet/src/common/tabletprofile.cpp:127:41: error: ‘qAsConst’ was not declared in this scope
     for (const auto &key : qAsConst(keys)) {
                                         ^
src/common/CMakeFiles/wacom_common.dir/build.make:601: die Regel für Ziel „src/common/CMakeFiles/wacom_common.dir/tabletprofile.cpp.o“ scheiterte
make[2]: *** [src/common/CMakeFiles/wacom_common.dir/tabletprofile.cpp.o] Fehler 1
CMakeFiles/Makefile2:151: die Regel für Ziel „src/common/CMakeFiles/wacom_common.dir/all“ scheiterte
make[1]: *** [src/common/CMakeFiles/wacom_common.dir/all] Fehler 2
Makefile:138: die Regel für Ziel „all“ scheiterte
make: *** [all] Fehler 2

I tried updating Qt (qAsConst() function was introduced in Qt 5.7 https://github.com/maxrd2/subtitlecomposer/issues/88 ) with
sudo apt-get upgrade libqt4-dev
Sadly, this didn't solve the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment