Git Product home page Git Product logo

thenickdude / wacom-driver-fix Goto Github PK

View Code? Open in Web Editor NEW
1.4K 58.0 59.0 4.11 MB

Fixes the Wacom Bamboo, Graphire, Intuos 1+2+3 and Cintiq 1st gen tablet drivers for macOS Catalina, Big Sur, Monterey (including M1 macs)

Makefile 60.98% Rich Text Format 3.69% Shell 3.18% HTML 17.87% Assembly 9.20% Python 5.07%
wacom-driver tablet-driver bamboo-pen macos-driver intuos catalina big-sur wacom graphire monterey

wacom-driver-fix's Introduction

Fixed drivers for Wacom Bamboo, Graphire, Intuos 1, 2, 3, and Cintiq 1st gen tablets on macOS Catalina / Big Sur / Monterey

Wacom's macOS drivers for Bamboo, Graphire, Intuos 1, 2 & 3 and Cintiq 1st gen tablets have bugs in them that cause them to completely fail to start on macOS 10.15 Catalina and later versions (including 11 Big Sur and 12 Monterey). This doesn't apply to the Windows driver, or to the drivers for their newer tablets.

When you try to open the Wacom preference pane with a Bamboo tablet, you'll get an error message saying "Waiting for synchronization", then finally "There is a problem with your tablet driver. Please reboot your system. If the problem persists reinstall or update the driver". For an Intuos 3 or Cintiq 1st gen tablet, the preference pane will open, but clicking anything will cause it to crash with the message "There was an error in Wacom Tablet preferences." For Graphire and Intuos 1 & 2 tablets, the driver's installer couldn't even run on Catalina.

Thankfully I was able to track down the issues and I have patched the drivers to fix them!

My fixed Bamboo driver (v5.3.7-6) supports these tablets:

  • CTE-450, CTE-650 - Bamboo Fun / Bamboo Art Master (2007)
  • CTE-460, CTE-660 - Bamboo One Pen
  • CTF-430 - Bamboo One
  • CTH-300, CTH300, CTH301K - Bamboo Pad
  • CTH-460, CTH-660 - Bamboo Pen and Touch
  • CTH-461 - Bamboo Fun Pen and Touch / Bamboo Craft / Bamboo Fun Special Edition
  • CTH-470 - Bamboo Capture / Bamboo Pen & Touch / Bamboo Create
  • CTH-661 - Bamboo Fun / Bamboo Art Master (2009) / Bamboo Fun Pen and Touch
  • CTH-670 - Bamboo Create
  • CTL-460, CTL-660 - Bamboo Pen
  • CTL-470 - Bamboo Connect / Bamboo Pen
  • CTT-460 - Bamboo Touch
  • MTE-450 - Bamboo

My fixed Graphire 1 & 2 and Intuos 1 & 2 driver (v6.1.6-4) supports these tablets:

  • ET-0405-U - Graphire / Graphire 1 (USB)
  • ET-0405-R - Graphire / Graphire 1 (Serial) - Untested, let me know if it works!
  • ET-0405A - Graphire 2
  • GD-0405-U, GD-0608-U, GD-0912-U, GD-1212-U, GD-1218-U - Intuos (USB) (1998)
  • GD-0405-R, GD-0608-R, GD-0912-R, GD-1212-R, GD-1218-R - Intuos (Serial) (1998) - Untested
  • XD-0405-U, XD-0608-U, XD-0912-U, XD-1212-U, XD-1218-U - Intuos 2 (USB)
  • XD-0405-R, XD-0608-R, XD-0912-R, XD-1212-R, XD-1218-R - Intuos 2 (Serial) - Untested

My fixed Graphire 3 driver (v5.2.6-5) supports these tablets:

  • CTE-430, CTE-630 - Graphire 3
  • CTE-630BT - Graphire 3 Wireless

My fixed Graphire 4 driver (v5.3.0-3) supports these tablets:

  • CTE-440, CTE-640 - Graphire 4

And my fixed Intuos 3 and Cintiq driver (v6.3.15-3) supports these tablets:

  • PTZ-430, PTZ-630, PTZ-630SE, PTZ-631W, PTZ-930, PTZ-1230, PTZ-1231W - Intuos 3
  • DTZ-2100 - Cintiq 21UX 1st Gen.
  • DTZ-2000 - Cintiq 20WSX

For Intuos 4 my fix is not needed. You can use Wacom's official driver v6.3.41-2 instead.

🇦🇺 Simplified English instructions
🇧🇷 / 🇵🇹 Instruções em português
🇯🇵 日本語で表示
🇷🇺 Инструкция на русском языке
🇪🇸 Instrucciones en español
🇵🇱 Instrukcja po polsku
🇫🇷 Instructions en français

Install the fix

Download the correct installer for your tablet here and double click it to run it, this will install my fixed version of Wacom's driver:

If you get an error message that your Mac only allows apps to be installed from the App Store, right-click on it and click "Open" instead.

After installing, follow the instructions in the next section to fix up the tablet's permissions.

Fix up the tablet permissions

Touch your pen tip to your tablet, and it should prompt you visit System Preferences > Security & Privacy > Privacy Tab to grant the tablet permissions.

On the Accessibility page, click the padlock to unlock the page, then find and tick any PenTabletDriver, WacomTabletDriver TabletDriver or WacomTabletSpringboard entries you see in the list. Do the same on the Input Monitoring page.

If your tablet supports touch, touch the tablet with your finger, it should again prompt you to grant permissions. On the Accessibility page, tick the ConsumerTouchDriver or WacomTouchDriver entry.

With some tablets, the driver might only appear on the Input Monitoring page, and you may need to reboot a second time for it to appear on the Accessibility page too.

If your Wacom preference pane, pen support, or touch support is not yet working

You likely had permissions left over from the previous tablet driver, and these stale entries all need to be removed like so:

On the "Accessibility" page of Security & Privacy, Find anything related to Wacom in the list (e.g. PenTabletDriver, WacomTabletDriver, TabletDriver, ConsumerTouchDriver, WacomTabletSpringboard, WacomTouchDriver), select them, and click the minus button to remove them. Go to the "Input Monitoring page" and do the same there.

Now either reboot your computer, or run these two commands in the Terminal, to reload the tablet driver. For Bamboo and Graphire 3 & 4 tablets:

launchctl unload /Library/LaunchAgents/com.wacom.pentablet.plist

launchctl load -w /Library/LaunchAgents/com.wacom.pentablet.plist

For Graphire 1 & 2, Intuos, and Cintiq tablets:

launchctl unload /Library/LaunchAgents/com.wacom.wacomtablet.plist

launchctl load -w /Library/LaunchAgents/com.wacom.wacomtablet.plist

This should restore the prompts to ask you to add permissions, so now begin the instructions in this section again.

If nothing ever appears in "Input Monitoring" for you

For a handful of people, the Wacom driver never appears in the Input Monitoring list for them. To fix this, first open up the "Terminal" app and paste this line in and press enter to ensure that the Wacom service is enabled:

For Bamboo and Graphire 3 & 4 tablets:

launchctl load -w /Library/LaunchAgents/com.wacom.pentablet.plist

For Graphire 1 & 2, Intuos, and Cintiq tablets:

launchctl load -w /Library/LaunchAgents/com.wacom.wacomtablet.plist

If that doesn't trigger it to ask you to add Input Monitoring permissions when you try to use the tablet, you can add it manually instead.

In Finder, click Go -> Go to Folder, and paste this path in there and click OK:

/Library/Application Support/Tablet/

In there you should see a "PenTabletDriver" file (Bamboo), "PenTabletSpringboard" (Graphire 3 & 4), or "WacomTabletSpringboard" (Graphire 1 & 2, Intuos, Cintiq).

Unlock the Input Monitoring page, then drag the PenTabletDriver / PenTabletSpringboard / WacomTabletSpringboard file onto it to add it to the list, and make sure it's ticked. Now reboot your computer, and when you try to use the tablet it should prompt you to tick it in the Accessibility page too, after which it should start working.

If it still doesn't work

Make sure you don't still have Wacom's very latest driver installed. Use "Wacom Utility"/ "Tablet Utility" to fully uninstall all of Wacom's drivers (rather than just dragging them to the trash), then install my driver again.

Corrupt preferences can prevent things from working, especially if you installed a bunch of different driver versions while trying to get things to work. Use Wacom Utility to reset your preferences, reboot, and try using the tablet again.

Support me

If you enjoyed having your tablet back in action, please consider sending me a tip!

ko-fi

This will help fund me and further development of these fixed drivers.

Technical details of the bugs

Bamboo driver

PenTabletDriver launches two sub-drivers to do the work for it, ConsumerTouchDriver and TabletDriver. To find those drivers within its Resources folder it eventually calls this function to extract a path from a URL:

CFString * MacPaths::PathFromURL(CFURL *url)
{
    CFString *path;

    path = _objc_retainAutoreleasedReturnValue(url->path());

    _objc_release(path); /* Whoops, path is destroyed here! */

    return path; /* Now returning a free'd path */
}

Forgive me for paraphrasing the original Objective C code as C++, I don't speak objc!

When CFURL creates the path, its reference count starts out at 1. It queues the reference count to be decremented later by calling autorelease() on it, then returns it to Wacom's driver. This call to autorelease pairs up with Wacom's retainAutoreleasedReturnValue() call, and so and leaves the path's reference count untouched, at 1.

But now the Wacom driver calls _objc_release() on the path. This decrements its reference count to 0, and the path is immediately freed!

This freed path is used while launching the sub-driver, which can trigger a segfault in ProcessUtils::LaunchApplicationWithBundleID(). This kills the driver.

The fix is a single-byte change which replaces the call to _objc_release() in PathFromURL to a call to _objc_retain(). This prevents the path from being freed before it is used, which cures the segfault.

The ConsumerTouchDriver also contains this same bug, and the patch is the same there.

Both the pen driver and the touch driver need fixes to stop them from crashing when a multi-touch gesture is performed, or the scroll ring is used to zoom.

When a gesture is performed, the function CMacHIDGestureEventOSX1010::PostGesture is responsible for sending that gesture to the operating system:

void CMacHIDGestureEventOSX1010::PostGesture(EIOHIDEventType gestureType_I, int32_t eventDirAmount)
{
  __CFDataOSX1010 *eventStructure;
  
  if (gestureType_I == 61 /* kCGHIDEventTypeGestureStarted */) {
    this->eventPhase = 1 /* kCGSGesturePhaseBegan */;
  } else {
    this->eventPhase = 4 /* kCGSGesturePhaseEnded */;
    (**(code **)(*(long *)this + 0x18))(0,this,(uint32_t) eventDirAmount);
  }

  eventStructure = (__CFDataOSX1010 *) _CGEventCreate(0); // Dubious

  _CGEventSetType(eventStructure, 29 /* kCGSEventGesture */);

  eventStructure->eventSubType = gestureType_I;    // Relies on the exact memory layout of CGEvent (!)
  eventStructure->eventDirAmount = eventDirAmount; // Ditto

  _CGEventPost(0, eventStructure);
  _CFRelease(eventStructure);
}

Notice how the result from CGEventCreate is being cast to a structure? CGEvent is supposed to be an opaque type, programs aren't supposed to know or rely on its layout, since its structure changes from OS version to OS version, but here it is being cast to a structure so that its eventSubType and eventDirAmount fields can be assigned directly. These two writes cause heap corruption on Catalina and trigger a crash, because the layout of CGEvent has changed since Sierra!

The proper way to store values into an event is by using the CGEventSetIntegerValueField API, which allows you to refer to fields of CGEvent by a logical ID instead of their position in memory. So what are the equivalent field IDs for the two writes that the Wacom driver needs to make?

I disassembled macOS Sierra's SkyLight framework, which contains the implementation for CGEventSetIntegerValueField, to see what the IDs should have been for those fields. It appears that the eventSubType can be written by field ID 110, and the eventDirAmount can be written by ID 115. But these field IDs are nowhere to be found in Apple's documentation, which explains why Wacom couldn't use them!

I did some Googling and discovered that these fields are undocumented because they're part of Apple's private API. This WebKit header reveals their names:

kCGEventGestureHIDType = 110
kCGEventGestureSwipeValue = 115
kCGEventGesturePhase = 132

And those private API fields are stable from Sierra all the way to Big Sur! Now that we know this, the two assignments to eventStructure can be replaced by these calls, and the driver crashes are eliminated:

_CGEventSetIntegerValueField(eventStructure, 110 /* kCGEventGestureHIDType */,    gestureType_I);
_CGEventSetIntegerValueField(eventStructure, 115 /* kCGEventGestureSwipeValue */, eventDirAmount);

The floating-point version of PostGesture has the same issue:

void CMacHIDGestureEventOSX1010::PostGesture(EIOHIDEventType eventSubType, float dirAmount)
{
  __CFDataOSX1010 *eventStructure;

  eventStructure = (__CFDataOSX1010 *)_CGEventCreate(0);
  
  _CGEventSetType(eventStructure, 29 /* kCGSEventGesture */);
  
  eventStructure->eventSubType = eventSubType;                            // !
  eventStructure->eventDirAmount = reinterpret_cast<int32_t&>(dirAmount); // !
  eventStructure->eventState = this->eventPhase;                          // !
  
  if (this->eventPhase == 1 /* kCGSGesturePhaseBegan */) {
    this->eventPhase = 2 /* kCGSGesturePhaseChanged */;
  }

  _CGEventSetLocation(eventStructure, GetMouseLocationInScreenCoordinates());
  _CGEventPost(0, eventStructure);
  _CFRelease(eventStructure);
}

And we can patch it like so:

_CGEventSetIntegerValueField(eventStructure, 110 /* kCGEventGestureHIDType */,    gestureType_I);
_CGEventSetIntegerValueField(eventStructure, 115 /* kCGEventGestureSwipeValue */, reinterpret_cast<int32_t&>(dirAmount));
_CGEventSetIntegerValueField(eventStructure, 132 /* kCGEventGesturePhase */,      this->eventPhase);

In Wacom's Preference Pane, Wacom falls victim to Apple Bug 8746551. Since macOS Catalina, the Preference Pane effectively breaks the operation of NSApp->mainWindow by allowing any window type to become the active window, even Sheets, which was impossible in previous versions of macOS and in standalone apps (in previous versions only the actual main Preferences window would become the mainWindow).

When a modal sheet is open, and the user wants to open a new sheet, the original sheet needs to be closed first. But Apple's bug causes Wacom's check to see if there is currently a sheet open to fail, since when it checks to see if a sheet is attached to the mainWindow, it instead ends up checking for a sheet attached to the current sheet, which has inexplicably become the mainWindow. This triggers a crash (e.g. in the Pen Mapping settings).

I patched the accesses to mainWindow so that the first value that is read is cached afterwards, so as long as the initial value is sensible, it doesn't get broken after the mainWindow is updated to point to the first-opened sheet (see PenTablet.prefpane.newcode.asm).

Intuos 3 and Cintiq driver

The Intuos 3 and Cintiq driver has a bug in its preference pane that causes it to crash as soon as an item is clicked on.

One of the main features of the preference pane's UI are the lists of icons representing the tablets, tools and applications you can configure. That icon list control uses a function like this to dispatch events (such as clicks) to its children:

void WTCCPLIconList::action:(ID event, SEL param_2, ID param_3) {
  int selectedIndex;
  ID target;
  ID action;
  
  target = _objc_retainAutoreleasedReturnValue(event->target());
  action = event->action();
  selectedIndex = event->selectedIndex();

  event->scrollIndexToVisible(selectedIndex);

  if ((target != 0) && (action != 0)) {
    code* handler = target->methodForSelector(action);

    Object *result = handler(target, action, event);
                    
    result = _objc_retainAutoreleasedReturnValue(result); // (!)
    _objc_release(result);                                // (!)
  }

  event->updateButtonStates();

  _objc_release(target);
}

The problem with this code is that it requires the event's handler() function to return an object, which it then uselessly retains() and releases(). But one of the handler functions that will be called is OEventDispatcher_Professional::listClickAction(), and that function is a void function (with no well-defined return value)!

So action:() ends up calling retain() and release() on a garbage pointer, which causes a segfault.

The patch here is easy - that useless pair of retain() and release() calls is deleted. The same bug exists in ONumberTextField::textDidChange:, with the same fix.

There's another problem with this driver. If, while trying to get your tablet to work, you accidentally install the latest Wacom driver (that doesn't support Intuos 3), it writes a newer-format preference file that the old Intuos 3 driver will crash when trying to read. And this situation doesn't resolve itself, the user has to manually use the Wacom Utility to delete the tablet preferences in order to fix it.

This is odd because the preference file includes a version number which is designed to avoid this very situation. The old driver uses version 5, and the latest driver uses version 6:

<ImportFileVersion type="integer">6</ImportFileVersion>

And the driver code explicitly checks for this version number and should abort when it is too new:

CTabletDriver::ReadSettings(basic_string settingsFilename, ...) 
{    
    basic_string settingsFileContent;
    CSettingsMap settingsMap;

    ...

    ReadFromXMLFile(settingsMap, settingsFilename, settingsFileContent);

    SettingsMigration *migration = SettingsMigration::MigratePen(settingsMap);

    if (migration != nullptr) {
        int fileVersion = settingsMap.IntegerForKeyWithDefault("ImportFileVersion", -1)

        if (fileVersion < 1) {
            // Report error
        } else if (fileVersion <= this->supportedVersion) {
            // Accept the loaded settings
        } else {
            // Report error: Settings are too new   
        }
    }

    ...
}

But the driver never aborts, instead it crashes while attempting to load the preferences. So what's going wrong here? The secret lies inside the MigratePen() function. This function is designed to upgrade older settings files to the current version, but unfortunately in the process it unconditionally overwrites the ImportFileVersion with the current version (5)! This leaves CTabletDriver::ReadSettings() unable to detect that the settings are too new to be parsed.

To solve this I beefed up the invalid version detection code from MigratePen():

if (settingsVersion < 1) {
    // Report invalid settings version and return NULL
} 

To make it:

if (settingsVersion < 1 || settingsVersion > 5) {
    // Report invalid settings version and return NULL
} 

So now if the preferences are too new, MigratePen() won't attempt to upgrade them, and ReadSettings() will cleanly skip loading the preferences. This causes the preferences to remain at their defaults, and if the user edits the settings using the preference pane, the settings should be cleanly overwritten.

Graphire 3 & 4 drivers

The installers for the Graphire drivers are an old format that Catalina no longer supports, so I had to completely rebuild them.

Graphire's preference pane incorrectly relied on private symbols from the macOS standard library that are no longer present in Catalina, so it could no longer start.

For example, Wacom's NSNibWakingOverride::awakeFromNib() function is called during GUI deserialization, and adds the loaded GUI control to a map so it can be accessed by its tag later:

void NSNibWakingOverride::awakeFromNib(NSControl *this) {
  OMasterDictionaryPtr->addObject:withTag:(this, this->_tag));
}

But this relies on reading NSControl._tag, which is a private field. In macOS 10.9 that worked because NSControl was defined like this:

@interface NSControl : NSView
{
    /*All instance variables are private*/
    NSInteger	_tag;
    id		_cell;
    struct __conFlags {
        ...
    } _conFlags;
}

But in macOS 10.10, NSControl was refactored to move the _tag field into a new _aux field, making it inaccessible:

@interface NSControl : NSView
{
    /*All instance variables are private*/
    NSControlAuxiliary *_aux;
    id		_cell;
    struct __conFlags {
        ...
    } _conFlags;
}

@property NSInteger tag;

I patched awakeFromNib to make it properly call the public accessor function for this field:

void NSNibWakingOverride::awakeFromNib(NSControl *this) {
  OMasterDictionaryPtr->addObject:withTag:(this, this->tag()));
}

In Wacom's OPopupOutlineView::reloadData() function, the private NSTableView._dataSource field is incorrectly read directly:

void OPopupOutlineView::reloadData(OPopupOutlineView *this) {
  this->_dataSource.willReloadDataForOutlineView(this);
  
  ...
}

So I patched this to use the public accessor instead:

void OPopupOutlineView::reloadData(OPopupOutlineView *this) {
  this->dataSource()->willReloadDataForOutlineView(this);
  
  ...
}

Graphire 1 & 2 and Intuos 1 & 2 drivers

These drivers have the same problems as the Graphire 3 & 4 drivers, plus the same _dataSource problem in their ORadialSubMenuTableView::reloadData() method, with the same fix.

wacom-driver-fix's People

Contributors

betep-ok avatar dependabot[bot] avatar fatroom avatar oginodesign avatar remique avatar thenickdude avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wacom-driver-fix's Issues

Thanks!, just one thing.

OK, it WORKS!!! THANK THANK THANK YOU.

However the .pkg, did not work on 10.15.4 Catalina, it produces a "supported tablet not found". So I installed the WacomTablet_6.3.15-3 driver from Wacom, I then after the tablet was working, did the Manual install of the two exec files, and it worked great.

Thank you, for the work you do, as soon as I am re-employed, I shall give you a tip.

Thanks!!

Support for Graphire Tablets?

Thanks for your work on this! I was curious if there was any chance of it working with the Wacom ET-0405-U Graphire Tablet?

I tried your Graphire3 test release and when I click on the Preference Pane item (Bamboo) I just get "Could not load Bamboo Preference pane."

macOS: 10.15.5

Intuos 3 PTZ-631W support?

Hi there, I don't see mention of the Wacom Intuos3 PTZ-631W? I've got one in great condition but no dice with MacOS Catalina. Could it be supported please? Thanks in advance.

Crash when changing screen mapping monitor index in CTL-470 bamboo

Thank you for your great work!!

now my old bamboo is working again.

However I have 2 monitors and I'm no more able to map the tablet in the second one... at the moment it covers both the screens...

Do you have any tip to allow me to select only the second screen? I tried editing the xml config file but with no results...

thank you again!

10.15.6 makes pref pane incompatible

I have been successfully using this great driver for several months. I updated osx this morning and when it was done is said that PenTablet.prefPane was incompatible and moved it to the incompatible folder.

Nothing visible on the screen

I have successfully installed the fix and everything seems to work, but I see nothing on the screen.

MacBookPro and Catalina 10.15.4

The pentab is detected but the pen doesn't move the mouse

The pentab is detected in the preferences panel and it also allows to change the mapping mode and stuff but the Pentab doesn't move the mouse at all and upon quitting the Pentab driver the Pentab can move the mouse but in mouse mode and not in pen mode

CTL-460 Working like a charm, THANK YOU!

Hi just to tell you that I've only installed your driver for my bamboo CTL-460 following the simplified english documentation, and it worked directly without any complication.

I had nothing to remove, or to add, just follow the macos instructions to enable accessibility feature when installation ask for it.

Thank you !

Big Sur loads the tablets but doesn't register pen input.

So, I have a CTL-460 and a CTH-470. macOS loads the preferences and reads the tablets but fails to register pen input. The tablets do register the inputs but not the system. On the 470 (Touch-enabled Bamboo tablet) the system registers touch input too.

Didn't work for me HELP

So I did all the steps and my Wacom still doesn't align with my screen, the cursor moves but that's what it did usually. Please help, I've seen people say this works

CTL 470 not working :( Please Help!

Firstly, I wasn't sure whether we were supposed to uninstall the original Wacom Driver so I did that anyway - should I reinstall it and begin the process again?

Everything looks good and my tablet comes up under the Wacom app in System Preferences - however, it won't work. Trying to paint in PhotoShop and the curser isn't moving. [Had to use the Terminal app to input the commands to give permissions for the tablet. Touching my stylus to the screen didn't prompt the access pop-up.]

I have the CTL-470 Bamboo Pen tablet, and the Intuos LP-190k Stylus. My friend uses this combination on her PC and it worked fine for her. Any suggestions? I have attached screenshots.

Screenshot 2020-10-17 at 13 36 36

Screenshot 2020-10-17 at 13 36 46

Screenshot 2020-10-17 at 13 31 11

Screenshot 2020-10-17 at 13 31 57

10.15.5 update removed Tablet pref pane

Hi,
First of all, Thanks for the hard-work and creating the modified drivers!
I have a CTH-460 and was using the modified drivers & app with 10.15.4 successfully.
Post the 10.15.5 update the tablet preference app (System Preferences) has been removed.
When I first booted into 10.15.5 a warning message was displayed, that the Tablet App is no longer compatible with the current OSX and it has been moved into the incompatible software folder. (Maybe I'm blind but cannot locate the ISF on the HD (root) level....)
Tablet still works, however customisation/ fine tuning is no longer feasible.
Can you take a look? Thanks in advance!

I can't get it to work for Bamboo CTL-470

I have tried installing the driver patch, with the automated method as well as the manual method,
but neither work.

After plugging the tablet into the computer. I get this message in the control panel.
I have tried rebooting after install but without luck.

I am running macOS Catalina version 10.15.3.

Screenshot 2020-03-24 at 12 53 07

There is a problem with your tablet driver. Please reboot your system. If the problem persists reinstall or update the driver.

I don't get the permission prompts

Hi! I don't get the permission prompts, with either the unpatched driver or your driver. Additionally, I noticed that your driver doesn't install anything to my /Library/Extensions. And if I unpack the .pkg with unpkg.app, the kernel extensions aren't there. I tried installing the original driver (which does indeed install some kexts) and following the manual patching guide, but I get no permissions prompts either with that method as well. I'm several reboots in. My tablet is a CTE-640.

Pentable Preference panel got disabled on 10.15.5

I got my Wacom Bamboo working again on MacOS 10.15.4 with your fixed driver which I bumped into quite recently.

This morning, I upgraded my system to 10.15.5 and at first boot after the upgrade process, the system told me it disabled the Pentablet Preference pane as it is incompatible with this version of the OS.

What is needed to get this working again on 10.15.5?

Driver unload after restart (Intuos 3)

Hello. The installer works like a charm on my Mac Pro 5,1 running Catalina via OpenCore.
Unfortunately, the driver unloads after every restart and I have to reinstall for the current session. Any ideas?

Intuous 3 on Catalina 10.15.3 Error: There is a problem with your tablet driver

Hi Nick
After follow your instruction, to replace the /Library/PreferencePanes/WacomTablet.prefpane/Contents/MacOS/WacomDriver with your patch and reboot multiple time, I got this error.
Error: There is a problem with your tablet driver
I follow this thread: http://forum.wacom.eu/viewtopic.php?f=6&p=10042
"My ability to find issues with the Intuos 3 driver is very limited because I don't own an Intuos 3 myself. If you open up the "Console" app, check the Crash Reports tab and see if you find anything recent there mentioning your tablet, if so this provides rich information I can use to hunt down and fix bugs in this driver. If not, it's very hard for me to figure out what's going wrong with your tablet."

WacomTabletDriver_2020-03-15-152506_Thes-MacBook-Air.txt

Catalina missing Ink System Preferences

Hi.

I just moved to Catalina from Mojave, and lost the functionality of my Wacom CTH-470 Bamboo tablet. I found your patched driver (impressive work!), and installed it. I fixed the tablet permissions. After that, touching the tablet with my finger prompted the system to install the ConsumerTouchDriver item in "Accessibility" (under Security and Privacy -> Privacy tab); touching it with the pen prompted it to install the PenTabletDriver.

There is no item at all under "Input Monitoring". There is also no sign of any other item you listed (WacomTouchDriver, WacomTabletDriver, TabletDriver, WacomTabletSpringboard). I can control the pointer with both finger and pen, which means those two drivers are operational. The "Extra-Menu" on the top status line is also active and behaves well.

I then launched an Ink request with the pen, which spawned a small window warning me that the Ink System Pane should be called up to authorize it. But then, upon pressing the "OK" button, nothing followed. I searched for an "Ink" pane or extra menu everywhere I could (verifying many system locations found online), but no such pane, or extra menu, was to be found anywhere on my system.

I then found another webpage advertising the fact that Catalina has removed an "Inkwell" component that had been present up to Mojave. I don't know if my missing the "Ink Pane" is due to Catalina removing it from the system, or to something else.

I think this is likely to be independent of your driver, but perhaps you have a suggestion on how to proceed? Have you encountered this issue before?

Thanks
Yours
Leo Liberti

after about an hour, my inputs switched

Thanks for the great fix with the patch. After getting my tablet working again and using zbrush for about an hour i noticed 'option' wasn't working then i noticed my entire keyboard was a different language keyboard, restarted and all good for about another hour again. not sure if this is the right place for this type of thing but you fixed what wacom failed to so.....

Crashing when entering mapping tab with Intuos 3 / Cintiq 1st gen

I have an Intuos 3 (PTZ-631W), which has been working fine even under Catalina (10.5.5), though I don’t really use any of the keymapping features, just the pen itself.

I wanted to change some settings, which gave me the preference crash, so I found this patch and installed it. It installed, I gave permissions during the installation, and then it prompted for a restart, which I did.

Having restarted, the pen itself still works as before: I can use it to move the cursor, click, right-click, etc. But when I open the Wacom preference pane, I now get… this:

Preference pane error, no tablet installed

Does the installer actually remove the driver for the tablet (and not install a new one in its place)? Or am I missing something?

Uninstall?

Hey, I recently did an O/S update that seemed to break this functionality, and then there was a sale...so I bought a new Intuos Pro, and am having an arm wrestle with the security settings in Catalina with the new official driver. Wondering if remnants of this patch are anything to do with it - is there a way to re-set/remove everything and start over?

Request: Install from Homebrew

Hey! I've been using your driver for the last 6 months and it works amazing! Now that I've updated to Big Sur, going to need to reinstall it, so I was thinking, is there a way to get the installer on to homebrew to make the update easier?

CTE-630BT on macOS 10.15.6 issue...

Thanks for your work on this...

I have a Graphire Bluetooth (CTE-630BT) I am trying to use on a Mac mini (2018) macOS 10.15.6. I installed the driver Install-Wacom-Tablet-5.3.0-3-patched.pkg. The tablet connects via bluetooth as "WACOM Pen Tablet" and is recognized by the Bamboo System Preferences app (the installed driver). The tablet itself registers a a pen touch or motion (the light around the on/off button changes colour), however neither the mouse nor the pen move the cursor on the computer screen.

If I do not install the driver, then the computer recognizes the bluetooth tablet as a mouse (and can move the cursor, etc.) The problem seems to be related to the Security & Privacy / Accessibility setting:
Under Security & Privacy - Input Monitoring there is a checked "PenTabletSpringboard" entry, but nothing related to the tablet under Accessibility. I have tried rebooting several times, and also entering the terminal commands unload and load the .plist file as mentioned in the instructions. However nothing appears in the Accessibility list related to the tablet.

Any suggestions on how to proceed?

Panel not loading

So I installed the patch, the tablet is working, touch is working, pen is not working and the panel not loading. I updated to 10.15.4, and just today installed your patch. Any ideas?

CTH-670 not working.. weird thing.

Alright, so I stumbled upon your post on reddit and decided to try this fix since I was already beginning to give up on this tablet, which is a shame cause it's still in an amazing shape! But for a couple hours now I just can't get it to work. Either "A supported tablet was not found by the system" or "There's a problem with your tablet driver, reboot your system" etc..

I went through the closed issues already and tried what the guy did in this post but still nothing. Unloading/loading does nothing basically, i tried reinstalling a couple of times, removing preferences, removing/adding the "PenTabletDriver" in Accessibility as well as Input Monitoring, still nothing. Although i'm getting this weird message sometimes (might help understand what the problem is).

Running Catalina 10.15.5.

Maybe I'm stupid, I don't know, I'll try again to see if something will work.. Any help is gladly appreciated.

Testing on GD-0608-D macos 10.13.6

Tested full installer, works great by now, thanks a lot.
Trick I learned from https://apple.stackexchange.com
Worked up to 10.13.4, then Apple remove the "change to 32-bits on application's info panel".

How worked for me. Sierra 10.12.6 Intuos GD-0608-U. Clean installation driver 6.2.0w4 Go /Library/PreferencePanes, move to desktop WacomTablet.prefpane, open package (I use Pacifist on demo) and extract Info.plist, trash this WacomTablet.prefpane From driver 6.3.15-3, open installer package (Pacifist again) DO NOT INSTALL, open package, copy to desktop WacomTablet.prefpane, open package, change the Info.plist (with the one from 6.2.0w4). Close all. Put this prefpane in /Library/PreferencePanes. I set System Preferences.app to 32bit with info, before open Preferences, is working, close and set off 32bit. Summary: Is a 6.2.0w4 installation with a preferences panel from 6.3.15-3 which has inside an Info.plist from 6.2.0w4. This works so did not try any other version of the driver.
NOTE: whats different for me, is that all information is about a newest driver with and oldest PrefPane, that did not worked for me. The last driver for Intuos (GD series) is 6.2.0w4 and did not work on osX 10.12.6, so use that oldest driver installation, but with a newest PrefPane from 6.3.15-3 with inside the info.plist from 6.2.0w4. And you get a full functional System Preferences Panel, don't need old preferences file.

Again, looks great by now, regards.

Missing options in Accessibility page

I've installed the patched version of the software, but on the accessibility page of the Security and privacy menu I don't see any of : PenTableDriver, WacomTabletDriver, TabletDriver or WacomTabletSpringboard.
That being said, PenTabletDriver shows up in the monitoring page.

Setup: macOS 10.15.6
Tablet: CTH-661 bamboo fun

Not working for me.

Good evening! I have a wacom CTH 461, I use catalina 10.15.5 and I tried several times step by step to install the drive and I couldn't. The image below shows the error it gives. Thank you!
Screen Shot 2020-06-18 at 23 09 50

Menu Icon in Dark Mode doesn't appear

First of all, thank you so much for this patch! 🎉

Now for the actual issue. This isn't a problem with this specific patch. It's been a problem since I can remember. I was wondering if a fix could be incorporated into this repo that fixes the menu icon in dark mode?

Dark Mode when monitor is active

Screen Shot 2020-03-31 at 3 08 15 PM

Dark mode when another monitor is active

Screen Shot 2020-03-31 at 3 08 08 PM

Light mode when monitor is active

Screen Shot 2020-03-31 at 3 09 23 PM

Light mode when another monitor is active

Screen Shot 2020-03-31 at 3 09 17 PM

CTH-460 not working

Hi, first of all thanks for your work!

I've got a CTH-460 which doesn't want to work. I see the led flash twice during OSX startup (10.15.6) and then it stays off for the rest of the time...

In the console I can see this log:

Oct 27 22:45:02 MBP-gpisati com.apple.xpc.launchd[1] (com.wacom.pentablet[339]): Service exited with abnormal code: 255
Oct 27 22:45:12 MBP-gpisati com.apple.xpc.launchd[1] (com.apple.xpc.launchd.domain.user.502): Service tried to register a port for an endpoint declared in its launchd.plist(5): service = com.wacom.pentablet, endpoint = Wacom_Driver

and this:

Process:               WacomTabletDriver [3264]
Path:                  /Applications/Wacom Tablet.localized/*/WacomTabletDriver.app/Contents/MacOS/WacomTabletDriver
Identifier:            WacomTabletDriver
Version:               Wacom Tablet 6.3.41-2 (6.3.41f2)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           WacomTabletDriver [3264]
User ID:               502

Date/Time:             2020-10-27 22:18:14.540 +0100
OS Version:            Mac OS X 10.15.6 (19G2021)
Report Version:        12
Anonymous UUID:        AE6D5951-F9CD-729D-EB29-81631DAE2FB0


Time Awake Since Boot: 200 seconds

System Integrity Protection: enabled

Crashed Thread:        0

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    DYLD, [0x1] Library missing

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Library not loaded: /Library/Frameworks/WacomMultiTouch.framework/Versions/A/WacomMultiTouch
  Referenced from: /Applications/Wacom Tablet.localized/*/WacomTabletDriver.app/Contents/MacOS/WacomTabletDriver
  Reason: image not found

Binary Images:
       0x1093f5000 -        0x109a97fe7 +com.wacom.wacomtablet (Wacom Tablet 6.3.41-2 - 6.3.41f2) <92EE69E7-F100-3E25-A54C-EA54A00C811F> /Applications/Wacom Tablet.localized/*/WacomTabletDriver.app/Contents/MacOS/WacomTabletDriver
       0x113b5b000 -        0x113becf47  dyld (750.6) <F9D4DEDC-8296-3E3F-B517-9C8B89A4C094> /usr/lib/dyld

Repeated unloading of driver after wake

First up, this driver is a lifesaver, and has brought my CTH-670 (Bamboo Create medium) back to life in MacOS. Since multi-touch is exclusive to Intuos Pro now, you've saved me the best part of $400. Thank you!

I am running MacOS Mojave 10.14.6 (18G5033) on a 2019 iMac Retina 5K and I rarely reboot. I've noticed that three scenarios can (but don't always) cause the driver to stop working:

  1. Restarting the Mac
  2. Letting it sleep overnight — especially if I use the quick switch menu to go to the Login Window before walking away. This happens the most consistently.
  3. Sometimes it seems to be completely random, in the middle of using the computer

My solution has been to create a shell script to unload and reload the driver:

#!/bin/bash echo 'Reloading Wacom Driver'; launchctl unload /Library/LaunchAgents/com.wacom.pentablet.plist; launchctl load -w /Library/LaunchAgents/com.wacom.pentablet.plist;

It's set to run automatically on login, and I have it handy in ~/ so if any of the above three cases happen, I can run the script. It fixes the problem ~80% of the time. ~15% of the time, it will only cause the pen or the touch functions to work, and I run it a second time, which fixes the problem. The rest of the time, it doesn't do anything, and pulling the USB cable out of the tablet and plugging it back in seems to reactivate it.

I wouldn't call this a show stopper, at least for someone savvy enough to follow the instructions in your ReadMe file, and you do mention this fix is specifically for Catalina, which I won't be upgrading to, so if this is too esoteric to track reproduce, or you're simply not going to fix Mojave issues, I completely understand.

Again, thank you for your patch, it's been great to get back to pen and touch after 18 months with a mouse!

catalina 10.15.7

i receive this error every time i try to load the driver:

Process: TabletDriver [2011]
Path: /Library/Application Support/Tablet/PenTabletDriver.app/Contents/Resources/TabletDriver.app/Contents/MacOS/TabletDriver
Identifier: com.wacom.TabletDriver
Version: ???
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: TabletDriver [2011]
User ID: 501

Date/Time: 2020-10-12 10:09:13.732 +0200
OS Version: Mac OS X 10.15.7 (19H2)
Report Version: 12
Bridge OS Version: 4.6 (17P6610)
Anonymous UUID: FDAAA784-02E0-E308-12EE-08534685417E

Sleep/Wake UUID: 5532B93D-F212-45D9-BEF0-1A3792326238

Time Awake Since Boot: 13000 seconds
Time Since Wake: 3000 seconds

System Integrity Protection: disabled

Crashed Thread: Unknown

Exception Type: EXC_CRASH (Code Signature Invalid)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

Termination Reason: Namespace CODESIGNING, Code 0x1

kernel messages:

Backtrace not available

Unknown thread crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000000 rcx: 0x0000000000000000 rdx: 0x0000000000000000
rdi: 0x0000000000000000 rsi: 0x0000000000000000 rbp: 0x0000000000000000 rsp: 0x00007ffee5279b68
r8: 0x0000000000000000 r9: 0x0000000000000000 r10: 0x0000000000000000 r11: 0x0000000000000000
r12: 0x0000000000000000 r13: 0x0000000000000000 r14: 0x0000000000000000 r15: 0x0000000000000000
rip: 0x000000011523a000 rfl: 0x0000000000000200 cr2: 0x0000000000000000

Logical CPU: 0
Error Code: 0x00000000
Trap Number: 0

Binary images description not available

External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 8433
thread_create: 0
thread_set_state: 0

every component has already been added in the security tab, both accessibility and input monitoring...

what should i do?

i have a cth-470/K

thanks
Mauri

edit:

well, actually i don't receive it, just spot it in the console...

Catalina 10.15.7 and patch stopped working

For some reason, I'm not getting the prompts after reinstalling the drivers.

Modal
CTH-460

Things I tried:

  • Removed all remains from accessibility and input monitoring
  • Running load and unload

Is anybody else having the issue?

Thank you,
Vye

Not an Issue - could you maybe enable Wiki for some notes or "gotchas"?

It may not be confusing to anyone else but I was doing reboots and reboots and installations and couldn't figure out why my Bamboo CTH-470 wasn't being detected.

I definitely hadn't used it a while (I got Astropad) and it turns out that plugging this tablet in via USB is just for charging, at least when you have the wireless module. It wasn't until I unhooked it, plugged in the USB transceiver and pressed power on my tablet that it woke up and started asking for permissions to things 😂

If I'm the only idiot that didn't realize this that's fine, but I thought it may be helpful to have a place to list some little caveats or gotchas like this?

❯ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.15.3
BuildVersion:	19D76

~
❯ uname -a
Darwin <expunged> 19.3.0 Darwin Kernel Version 19.3.0: Thu Jan  9 20:58:23 PST 2020; root:xnu-6153.81.5~1/RELEASE_X86_64 x86_64

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.