PDA

View Full Version : VoodooPS2 optimized for Snow Leopard, Leopard and Tiger


andyvand
12-22-2010, 07:32 PM
I rebuilt (and slightly rewrote) VoodooPS2 for Snow Leopard, Leopard and Tiger.
This does not need a nub so delete AppleACPIPS2Nub.kext before install (Don't delete on Tiger though).
The nub is built directly into the VoodooPS2Controller.
For Tiger the nub is dropped because it is present allready in AppleACPIPlatform.kext's plugins.
I also implemented Slice's multimedia keys fix (working now) and the high resolution fix (2400 dpi for Synaptics).
NOTE: If you have a Synaptics touchpad make sure to set the speed to high prior to installation (in Apple Trackpad prefpane).
For Synaptics the speed will start at max (new fix) so it works smooth.
The tapping function for ALPS should work too now...
Happy X-Mas to everybody too and a happy new year. ;)
Download including sources:
http://rapidshare.com/files/440463070/VoodooPS2.zip
The built products are under build/Release (Tiger/Leopard)

Bronxteck
12-24-2010, 06:54 PM
Hi I have a Dell D620 Laptop with an ALPS trackpad Running Snow Leopard. Overall your kext is working great but its very sensitive when scrolling on safari, but it will not allow adjustment from the "voodoo" trackpad pref because it closes out when adjusting the settings. but I was able to turn it on with the "vanilla" trackpad pref by adding vendor ID 1452 to the Info.Plist. is there a way to build the sensitivity and relocate the scrolling to lets say the right side and bottom of track pad in the voodooALPStrackpad.cpp file? I was using a kext that was modified by Slashack that works in this manner but it outputs debug info so it is constantly outputting tracking parameters to log which is killing my battery life from from all the hard drive access.. the problem is there is no source to compile from to remedy the situation of debug output but there seems to be a Patch.diff but i'm not 100% sure if its correct. I can supply it to you if you wish.
And thank you for your time and many effort you have supplied the Hackintosh community over the years.

andyvand
12-25-2010, 06:22 PM
Hi I have a Dell D620 Laptop with an ALPS trackpad Running Snow Leopard. Overall your kext is working great but its very sensitive when scrolling on safari, but it will not allow adjustment from the "voodoo" trackpad pref because it closes out when adjusting the settings. but I was able to turn it on with the "vanilla" trackpad pref by adding vendor ID 1452 to the Info.Plist. is there a way to build the sensitivity and relocate the scrolling to lets say the right side and bottom of track pad in the voodooALPStrackpad.cpp file? I was using a kext that was modified by Slashack that works in this manner but it outputs debug info so it is constantly outputting tracking parameters to log which is killing my battery life from from all the hard drive access.. the problem is there is no source to compile from to remedy the situation of debug output but there seems to be a Patch.diff but i'm not 100% sure if its correct. I can supply it to you if you wish.
And thank you for your time and many effort you have supplied the Hackintosh community over the years.
I could take a look if you supply me with the diff.
I allready changed the 2 finger scrolling functions for ALPS so this one I can do too :)

Bronxteck
12-26-2010, 05:30 AM
Ok I will download it again and try it Thanks for the quick response. this was the version I tried...
http://forum.voodooprojects.org/index.php/topic,245.0.html

andyvand
12-26-2010, 11:00 AM
Ok I will download it again and try it Thanks for the quick response. this was the version I tried...
http://forum.voodooprojects.org/index.php/topic,245.0.html
Ok, I'll implement this (tomorrow I think).
I'll post results when I'm done. ;)
EDIT: I did it today (I was bored :p).
It is available from the first post.
I did not implement the debug logging but I did implement the other fixes. ;)

Bronxteck
12-27-2010, 12:17 AM
Ok i have been fiddling around with it for like 5 hours but it panics on load.. (the original one you posted on the 22 does not) I also get build errors compiling- clock_get_uptime(&now) cannot convert absolute time to unit64_t and it goes on 6 times (but im building in i386) so can the uploaded file be corrupted? or is it something on my part that im doing wrong.

jason99
12-27-2010, 12:39 AM
hi andyvan, the two finger scroll works well with alsp, with both version, the speed is too fast, solutions for this?

Bronxteck
12-27-2010, 11:16 PM
I got it Working... (a little while after posting it was something with my boot loader).
then I "adjusted" the trackpad Info.Plist to suit my needs... (which in turn Slowed it down just a little not enough though.) but the pressure sensitivity is still an issue it's too sensitive.

andyvand
01-01-2011, 05:37 PM
New version available...
This one has multimedia key support (thank you Slice).
This one also has a high resolution trackpad fix for Synaptics (2400 dpi instead of 100 dpi).
The high resolution fix makes sure the pointer of the trackpad goes smooth and gives better control in the Apple Trackpad prefpane (thanks to ivik for suggesting this).
Also Tiger version is fixed... this one needs AppleACPIPS2Nub.kext though (should be standard present in /System/Library/Extensions/AppleACPIPlatform.kext/PlugIns).
Updated: Fixed minor issue with Synapics speed and only high resolution trackpad fix for Synaptics, not ALPS...

kidslow
01-02-2011, 09:07 PM
I am on an Asus 1008HA at 10.6.5 with latest NBI patching bootloader. Trackpad is Synaptics, apparently multi-gesture enabled.

I have seen my trackpad preferences reset after multiple system hardware events: after every reboot, disconnecting an external monitor and plug/unplug USB devices. My preferences (both in the VoodooPS2 and Apple Trackpad Preference panes) appear to be reset when I go back and check. Is that a plist stored somewhere?

The defaults for my trackpad movement are sluggish. Like moving wet concrete. Still driving with a mouse until I iron out some more of these kinks.

Also can't get the source to compile. I haven't had time to track down the causes for compilitation failure, yet. Something about 'Cannot convert 'AbsoluteTime*' to 'uint64_t*' in 'void_clock_get_uptime'.

I was using meklorts ApplePS2Controller.kext with AppleACPIPS2Nub.kext , but I like the idea of removing the Nub, and found you had done it. Otherwise, those were a passable combination.

andyvand
01-02-2011, 10:52 PM
I am on an Asus 1008HA at 10.6.5 with latest NBI patching bootloader. Trackpad is Synaptics, apparently multi-gesture enabled.

I have seen my trackpad preferences reset after multiple system hardware events: after every reboot, disconnecting an external monitor and plug/unplug USB devices. My preferences (both in the VoodooPS2 and Apple Trackpad Preference panes) appear to be reset when I go back and check. Is that a plist stored somewhere?

The defaults for my trackpad movement are sluggish. Like moving wet concrete. Still driving with a mouse until I iron out some more of these kinks.

Also can't get the source to compile. I haven't had time to track down the causes for compilitation failure, yet. Something about 'Cannot convert 'AbsoluteTime*' to 'uint64_t*' in 'void_clock_get_uptime'.

I was using meklorts ApplePS2Controller.kext with AppleACPIPS2Nub.kext , but I like the idea of removing the Nub, and found you had done it. Otherwise, those were a passable combination.
I just updated the mistake I made of not editing the Info.plist parameters section (divisor set to 1 instead of 23).
Download and try the new version I just posted, it will work better...
If you after this still find it too slow set in the Apple trackpad prefpane the speed to max (then it really flies).
Hope this helps you out... ;)

vako
01-03-2011, 06:26 PM
Hi, there.

I've got Sony VAIO VPC F12M with ALPS touchpad and SnowLeopard 10.6.5 on-board.
and some issues I've got
- sources did not compile because of this function clock_get_uptime(&now), thats not supported on this kernel (for debug version)
- I can compile it, but Touchpad kext do not load automatically. When I load manually, it's register in IOreg tree but no reaction any touchpad actions.

andyvand
01-03-2011, 09:05 PM
Hi, there.

I've got Sony VAIO VPC F12M with ALPS touchpad and SnowLeopard 10.6.5 on-board.
and some issues I've got
- sources did not compile because of this function clock_get_uptime(&now), thats not supported on this kernel (for debug version)
- I can compile it, but Touchpad kext do not load automatically. When I load manually, it's register in IOreg tree but no reaction any touchpad actions.
Use the precompiled version that ships with the zip (under build/Release).
It should work then.
There is no need to recompile as the VoodooPS2Controller.kext contains everything you need. ;)

vako
01-04-2011, 11:27 AM
that's I did as a first step, but no success.
may be this will clear something:
1/4/11 1:11:20 PM kernel VoodooPS2SynapticsTouchPad loaded

1/4/11 1:11:20 PM kernel ApplePS2Trackpad: ALPS GlidePoint v4.115
1/4/11 1:11:23 PM WindowServer[73] Unable to open IOHIDSystem (0xe00002bd)
1/4/11 1:11:23 PM loginwindow[28] Login Window Started Security Agent
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickTime Value: 500000000
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickSpace Value: ??
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDKeyRepeat Value: 83333333
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDInitialKeyRepeat Value: 500000000
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDScrollAcceleration Value: 20480
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDPointerButtonMode Value: 2
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDF12EjectDelay Value: 250
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDSlowKeysDelay Value: 0
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDStickyKeysDisabled Value: 0
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDStickyKeysOn Value: 0
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDStickyKeysShiftToggles Value: 0
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDMouseKeysOptionToggles Value: 0
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDFKeyMode Value: 0
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickSpace Value: ??
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickTime Value: 500000000
1/4/11 1:11:24 PM kernel ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
1/4/11 1:11:24 PM kernel virtual bool IOHIDEventSystemUserClient::initWithTask(task*, void*, UInt32): Client task not privileged to open IOHIDSystem for mapping memory

kidslow
01-05-2011, 01:50 PM
I just updated the mistake I made of not editing the Info.plist parameters section (divisor set to 1 instead of 23).
Download and try the new version I just posted, it will work better...
If you after this still find it too slow set in the Apple trackpad prefpane the speed to max (then it really flies).
Hope this helps you out... ;)

That improved it so now the preferences for VoodooPS2 are being saved, except after a reboot when they push the "Speed" all the way to the maximum. Previously the preferences were reset by hardware changes and would go back to the middle of the "Speed" curve (i.e. slow) after a reboot. Slight improvement, but I still need to go in and adjust the preferences after I reboot.

I actually set my speed a little lower than the max and use the Mouse Acceleration Preference Pane to fine-tune the responsiveness of my trackpad. It's a great little utility.

http://triq.net/articles/mouse-acceleration-preference-pane-mac-os-x

It would be nice if I could compile the sources for myself. Vako, what did you adjust to get it to compile?

vako
01-06-2011, 10:21 AM
It would be nice if I could compile the sources for myself. Vako, what did you adjust to get it to compile?
in case, I can't get kext working, probably will be not a good idea to share my changes)).
anyway, that was regarding clock_get_uptime ()

cabezaboton
01-08-2011, 01:40 AM
Hello! First of all congratulations for your job and thank you for sharing, thanks to people like you dummies like me can dive into hackintosh world (almost) without drowning.

I'm trying to setup a Compaq C700 machine with Snow Leopard, and one of my pending issues to fix is the touchpad, it's not acting like one because not even tap works (for sure two finger scrolling doesn't work either, but this could be considered as "nice to have" in front of the tapping issue) Everything was working when the machine run OsX 10.5.x...

Ok, so I've tried your kext and I've noticed (happily) that the keyboard is acting as a full spanish layout laptop keyboard, which is new for me, as some minor key mismatching I got used to live with appeared in the past... but bad news is, I don't have any response from trackpad. As far as I know, it's an ALPS model. Could you give me some help? I'll send youa ll the information you require for the purpose. I've got a silly doubt, I've used the files in "build/Release" folder, even if it doesn't say "Snow Leopard" (no folder says so) Am I right?

Once again, a thousand thanks.

Regards.

kidslow
01-16-2011, 02:09 AM
I finally was able to get the sources to compile. Would be better to #include it in a different file, but I tested this & it builds and runs. Answer came from following this thread:

http://lists.apple.com/archives/darwin-drivers/2007/Apr/msg00059.html

It won't compile for Tiger now, but will for Leopard and SL.

Add the following code at the end of these files:

./VoodooPS2Keyboard/VoodooPS2Keyboard.h
./VoodooPS2Mouse/VoodooPS2Mouse.h
./VoodooPS2Trackpad/VoodooPS2ALPSGlidePoint.h
./VoodooPS2Trackpad/VoodooPS2SentelicFSP.h
./VoodooPS2Trackpad/VoodooPS2SynapticsTouchPad.h


#ifdef ADD_ABSOLUTETIME

#define AsUInt64(x) (x)

#else

static inline const UInt64& AsUInt64(const AbsoluteTime& rhs)
{
return reinterpret_cast<const uint64_t&>(rhs);
}

static inline UInt64& AsUInt64(AbsoluteTime& rhs)
{
return reinterpret_cast<uint64_t&>(rhs);
}

static inline void absolutetime_to_nanoseconds(const AbsoluteTime& abs, UInt64* ns)
{
absolutetime_to_nanoseconds(AsUInt64(abs), ns);
}

static inline void nanoseconds_to_absolutetime(UInt64 ns, AbsoluteTime* abs)
{
nanoseconds_to_absolutetime(ns, reinterpret_cast<uint64_t*>(abs));
}

static inline void clock_get_uptime(AbsoluteTime* abs)
{
clock_get_uptime(reinterpret_cast<uint64_t*>(abs));
}

static inline void ADD_ABSOLUTETIME(AbsoluteTime* time, const AbsoluteTime* offset)
{
*reinterpret_cast<uint64_t*>(time) += *reinterpret_cast<const uint64_t*>(offset);
}

static inline void SUB_ABSOLUTETIME(AbsoluteTime* time, const AbsoluteTime* offset)
{
*reinterpret_cast<uint64_t*>(time) -= *reinterpret_cast<const uint64_t*>(offset);
}

static inline int64_t CMP_ABSOLUTETIME(const AbsoluteTime* lhs, const AbsoluteTime* rhs)
{
return (*reinterpret_cast<const uint64_t*>(lhs) - *reinterpret_cast<const uint64_t*>(rhs));
}

#endif /* ADD_ABSOLUTETIME */

kidslow
01-17-2011, 12:14 AM
There is a more elegant way to fix the issue with uint64 than my header file mess. Found from the first link here. I also did finally figure out how to make my preferences save properly. Still not able to get tapping to work on the trackpad, but that is the next thing to tackle.

Andy, can you incorporate some of these other patches back into your sources?

http://www.insanelymac.com/forum/index.php?s=&showtopic=240639&view=findpost&p=1623714


// from
clock_get_uptime(&now);
// to
clock_get_uptime((uint64_t *)&now);


http://forum.voodooprojects.org/index.php?topic=99.15


- NSString *tmp1, *tmp2;


- f=fopen ([tmp2=[NSHomeDirectory() stringByAppendingString:tmp1
- = [NSString stringWithCString: "/Library/Preferences/org.voodoo.SynapticsTouchpad.plist"]] UTF8String], "rb");
- CFRelease(tmp1);
- CFRelease(tmp2);
+ //There was no AutoreleasePool, here is the allocation and init
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
+ NSString *tmp1, *tmp2;
+
+ //NSStrings Allocation and Initialization
+ tmp1 = [[NSString alloc] initWithCString:"/Library/Preferences/org.voodoo.SynapticsTouchpad.plist"];
+ tmp2 = [[NSString alloc] init];
+ tmp2 = [NSHomeDirectory() stringByAppendingString:tmp1];
+
+ f=fopen ([tmp2 UTF8String], "rb");
+
+ //We release the AutoreleasePool, this also releases tmp1 and tmp2
+ [pool release];

ed_co
05-11-2011, 09:37 PM
First of all, hello all. This is my first post.

I have a synaptics touchpad, which is recognized as an alps, the result is that the correct drivers are not loaded and the I can't use it.
Someone found that in the id sequence it returns 0x02 instead of the expected 0x47 and that results in the touchpad not to be recognized as a synaptics.
void ApplePS2Mouse::interruptOccurred(UInt8 data) // PS2InterruptAction
{
//
// This will be invoked automatically from our device when asynchronous mouse
// needs to be delivered. Process the mouse data. Do NOT send any BLOCKING
// commands to our device in this context.
//
// We ignore all bytes until we see the start of a packet, otherwise the mouse
// packets may get out of sequence and things will get very confusing.
//
if (_packetByteCount == 0 && ((data == kSC_Acknowledge) || !(data & 0x08)))
{
IOLog("%s: Unexpected data from PS/2 controller.\n", getName());
return;
}



I mean, it is using voodooPS2mouse.kext instead, because the driver is not loaded properly, due to the synaptic trackpad is recognized as ALPS.
The behaviour is pretty good, but when it wakes from sleep, there is an erratic movement from trackpad and I have the following in the kernel.log:
- ApplePS2mouse: unexpected data received from PS2 controller.
- ApplePS2controller: timed out on mouse input stream.

Someone could take a look on it.
By the way my trackpad is a Synaptic (ID: SYN0166, ID COMPATIBLES: SYN0100, SYN0002, PNP0F13).
The computer is a 8540w.

Here is a thread:
http://forum.voodooprojects.org/index.php/topic,1803.0.html

Cheers.

chitchit
11-09-2011, 04:18 AM
Hey andy, would it be possible to rebuild this using lion trackpad so us hackintoshers can have 3 finger scrolling?

How do I go about compiling a kext from all the source?

andyvand
11-09-2011, 12:22 PM
Hey andy, would it be possible to rebuild this using lion trackpad so us hackintoshers can have 3 finger scrolling?

How do I go about compiling a kext from all the source?
Load the sources in Xcode 4.1.
Then set for Release and tap build.
It'll build ;).
3 finger scrolling probably needs to be coded in...

chitchit
11-09-2011, 08:51 PM
Alright thanks! And how hard would that be to do?

chitchit
11-23-2011, 12:24 AM
Is anyone going to try to do this?