Page 23 of 89 FirstFirst ... 1321222324253373 ... LastLast
Results 221 to 230 of 883

Thread: Macbook Pro 8,1 + Maverick

  1. #221
    Join Date
    Nov 2005
    Beans
    60

    Re: Macbook Pro 8,1 + Maverick

    Quote Originally Posted by cubefish View Post
    Same problem here (MBP 8,2), but even without the mactel packages.
    No ideas for possible workarounds; for the moment, disabling "click on tap" seems to help (but I can't confirm that it actually prevents the problem from occurring, since I haven't ben using the laptop under ubuntu in the past few days), but it's a bit of a pain.
    I have been experiencing something similar with my previous laptop as well - a Dell XPS M1330 (but the problem occurred somewhat less frequently and seemed to slowly fade away as the years passed - or maybe I just unconsciously learned to avoid those movement that triggered the unwanted clicks, who knows).

    Anyway, if somebody has any idea, I could do some testing.

    Cheers
    This seems to have (largely) fixed it for me:

    Code:
    synclient HorizTwoFingerScroll=0 TapButton1=1 LockedDrags=0 FingerLow=20 FingerHigh=120 VertScrollDelta=18 MaxTapMove=10 SingleTapTimeout=100 MaxTapTime=100 MaxDoubleTapTime=200 RTCornerButton=0 RBCornerButton=0 LTCornerButton=0 PalmDetect=1 PalmMinZ=300 MaxSpeed=4 PalmMinWidth=10 VertEdgeScroll=0 FastTaps=1
    I've also got kernel patches for 2.6.39 which enable AHCI (SATA) mode when not EFI booted and and which enable screen dimming, if anyone is interested.

    MBP 8,3.

  2. #222
    Join Date
    Jun 2005
    Beans
    100

    Re: Macbook Pro 8,1 + Maverick

    I am using the multitouch input, and I get:
    synclient HorizTwoFingerScroll=0 TapButton1=1 LockedDrags=0 FingerLow=20 FingerHigh=120 VertScrollDelta=18 MaxTapMove=10 SingleTapTimeout=100 MaxTapTime=100 MaxDoubleTapTime=200 RTCornerButton=0 RBCornerButton=0 LTCornerButton=0 PalmDetect=1 PalmMinZ=300 MaxSpeed=4 PalmMinWidth=10 VertEdgeScroll=0 FastTaps=1
    Couldn't find synaptics properties. No synaptics driver loaded?

    when I try that.
    Last edited by dmb; April 16th, 2011 at 01:20 AM.

  3. #223
    Join Date
    Nov 2005
    Beans
    60

    Re: Macbook Pro 8,1 + Maverick

    I am *not* using multitouch. I only really care about two finger right click/swipe to scroll, and that does not require multitouch.

  4. #224
    Join Date
    Jun 2005
    Beans
    100

    Re: Macbook Pro 8,1 + Maverick

    Quote Originally Posted by Sloth View Post
    I am *not* using multitouch. I only really care about two finger right click/swipe to scroll, and that does not require multitouch.
    So what exactly does the multitouch driver provide that the non-multitouch driver can't do?

  5. #225
    Join Date
    Nov 2005
    Beans
    60

    Re: Macbook Pro 8,1 + Maverick

    Quote Originally Posted by dmb View Post
    So what exactly does the multitouch driver provide that the non-multitouch driver can't do?
    Three finger? Pinch to zoom? Not sure.

    Nothing I care about.

  6. #226
    Join Date
    Nov 2005
    Location
    Munich
    Beans
    24
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: Macbook Pro 8,1 + Maverick

    Quote Originally Posted by dmb View Post
    I seem to have a issue where my mouse pointer just locks up, and I can not move it. Only way I can unfreeze it is to go fn-control-option F1 then fn-control-option f7. Has anyone seen this issue, or have a fix?
    Yes, same issue here with a MBP 8,1. I had to unload the module again and purge the xorg.conf from the multitouch stuff.
    Another problem is that I have no right click and left-click and grabbing/moving a window doesn't work either.

  7. #227
    Join Date
    Jun 2005
    Beans
    100

    Re: Macbook Pro 8,1 + Maverick

    Yeah, for me, when using multitouch driver, sensitivity is too high, and mouse randomly locks up (but not the display), and with the non multitouch default driver, i can't seem to click and drag, which I really need, especially when I want to copy and paste or move a window.

  8. #228
    Join Date
    Sep 2006
    Beans
    Hidden!

    Re: Macbook Pro 8,1 + Maverick

    Quote Originally Posted by Sloth View Post
    I've also got kernel patches for 2.6.39 which enable AHCI (SATA) mode when not EFI booted and and which enable screen dimming, if anyone is interested.
    I'm very interested. Can you post the patches somewhere?

    cheers

  9. #229
    Join Date
    Oct 2005
    Location
    Earth, Europe, The Nether
    Beans
    10

    Lightbulb Re: Macbook Pro 8,1 + Maverick

    Slightly offtopic:

    There's a request to test the new Natty Narwal beta 2 on laptops. This might be a great way to make sure Natty Narwal will run perfectly on the new Macbooks.

    See here for more info:
    http://primes2h.wordpress.com/2011/0...aptop-tracker/
    http://laptop.qa.ubuntu.com/qatracker/laptop
    https://wiki.ubuntu.com/Testing/Laptop

  10. #230
    Join Date
    Nov 2005
    Beans
    60

    Re: Macbook Pro 8,1 + Maverick

    Quote Originally Posted by andybotting View Post
    I'm very interested. Can you post the patches somewhere?

    cheers
    Here they are. Against 2.6.39-rc3:

    Code:
    diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
    index 135df16..c0f71fb 100644
    --- a/drivers/pci/pci-driver.c
    +++ b/drivers/pci/pci-driver.c
    @@ -455,8 +455,8 @@ static int pci_restore_standard_config(struct pci_dev *pci_dev)
     
     static void pci_pm_default_resume_early(struct pci_dev *pci_dev)
     {
    +        pci_fixup_device(pci_fixup_resume_early, pci_dev);
     	pci_restore_standard_config(pci_dev);
    -	pci_fixup_device(pci_fixup_resume_early, pci_dev);
     }
     
     #endif
    diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
    index 5129ed6..00c6891 100644
    --- a/drivers/pci/quirks.c
    +++ b/drivers/pci/quirks.c
    @@ -2971,3 +2971,67 @@ int pci_dev_specific_reset(struct pci_dev *dev, int probe)
     
     	return -ENOTTY;
     }
    +
    +static bool mbp_force_ahci;
    +module_param(mbp_force_ahci, bool, 0444);
    +MODULE_PARM_DESC(mbp_force_ahci, "AHCI mode for MacBook Pro");
    +
    +static bool quirk_mbp_sata_dev(struct pci_dev *pdev)
    +{
    +	printk(KERN_INFO "Quirking ahci device %04x:%04x\n", pdev->vendor, pdev->device);
    +	pci_write_config_word(pdev, 0x90, 0x60); /* AHCI - 6 ports enabled */
    +	pdev->class = PCI_CLASS_STORAGE_SATA_AHCI;
    +	//	pci_write_config_dword(pdev, 0x9c, 0);
    +	pci_write_config_byte(pdev, PCI_CLASS_PROG, 0x01);
    +	pci_write_config_byte(pdev, PCI_CLASS_DEVICE, 0x06);
    +  	/* The PCI device ID will have been changed */
    +	pci_read_config_word(pdev, PCI_DEVICE_ID, &pdev->device);
    +	printk(KERN_DEBUG "ICH AHCI quirk: SATA AHCI controller has device ID %04x:%04x\n", pdev->vendor, pdev->device);
    +	return false;
    +}
    +
    +static void quirk_mbp_sata(struct pci_dev *pdev)
    +{
    +	int ret = 0;
    +
    +	if (!mbp_force_ahci)
    +		return;
    +
    +	if (quirk_mbp_sata_dev(pdev))
    +		return; /* nothing to do */
    +
    +	/* Try to allocate the resource on BAR 5.
    +	 * If we have a bad alignment, don't even try,
    +	 * thus neatly avoiding a scary warning.
    +	 */
    +	if (pci_resource_alignment(pdev, &pdev->resource[5]))
    +		ret = pci_assign_resource(pdev, 5);
    +	if (!ret) {
    +		printk (KERN_INFO "Quirked ICH SATA controller to AHCI mode\n");
    +		return;
    +	}
    +	mbp_force_ahci = 0;
    +	printk (KERN_ERR "MBP ICH AHCI quirk: pci_assign_resource returned %d\n", ret);
    +}
    +
    +
    +/* On resume, the device will have been reset to IDE mode, so we need to re-quirk */
    +static void quirk_mbp_sata_resume(struct pci_dev *pdev)
    +{
    +	if (mbp_force_ahci && !quirk_mbp_sata_dev(pdev)) {
    +		pci_update_resource(pdev, 5);
    +		printk (KERN_INFO "Re-quirked ICH SATA controller to AHCI mode\n");
    +	}
    +}
    +
    +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x3b28, quirk_mbp_sata);               /* MacBook Pro (6,1) force AHCI                                                                            */
    +DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_INTEL, 0x3b29, quirk_mbp_sata_resume); /* MacBook Pro (6,1) force AHCI on resume.  Note that the original quirk will have changed the device ID   */
    +
    +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x3b20, quirk_mbp_sata);               /* iMac 11,1 force AHCI                                                                                    */
    +DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_INTEL, 0x3b22, quirk_mbp_sata_resume); /* iMac 11,1 force AHCI on resume.  Note that the original quirk will have changed the device ID           */
    +
    +
    +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1c01, quirk_mbp_sata);               /* iMac 8,1 force AHCI                                                                                    */
    +DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_INTEL, 0x1c03, quirk_mbp_sata_resume); /* iMac 8,1 force AHCI on resume.  Note that the original quirk will have changed the device ID           */
    +
    +
    diff --git a/drivers/video/backlight/apple_bl.c b/drivers/video/backlight/apple_bl.c
    index be98d15..74ef258 100644
    --- a/drivers/video/backlight/apple_bl.c
    +++ b/drivers/video/backlight/apple_bl.c
    @@ -31,6 +31,8 @@ struct hw_data {
     	/* I/O resource to allocate. */
     	unsigned long iostart;
     	unsigned long iolen;
    +	unsigned long io_1_start;
    +	unsigned long io_1_len;
     	/* Backlight operations structure. */
     	const struct backlight_ops backlight_ops;
     	void (*set_brightness)(int);
    @@ -44,6 +46,12 @@ static const struct hw_data *hw_data;
     static int debug;
     module_param_named(debug, debug, int, 0644);
     MODULE_PARM_DESC(debug, "Set to one to enable debugging messages.");
    +static int use_gmux;
    +module_param_named(use_gmux, use_gmux, int, 0644);
    +MODULE_PARM_DESC(use_gmux, "Set to one to use gmux backlight method");
    +static int max_brightness = 132000;
    +module_param_named(max_brightness, max_brightness, int, 0644);
    +MODULE_PARM_DESC(max_brightness, "Set to max allowable brightness");
     
     /*
      * Implementation for machines with Intel chipset.
    @@ -139,6 +147,53 @@ static const struct hw_data nvidia_chipset_data = {
     	.set_brightness = nvidia_chipset_set_brightness,
     };
     
    +#define PORT_BACKLIGHT_1 0x774
    +#define PORT_BACKLIGHT_2 0x10724
    +
    +static void gmux_set_brightness(int intensity)
    +{
    +	outw(0x2f, PORT_BACKLIGHT_2);
    +	outl(intensity, PORT_BACKLIGHT_1);
    +}
    +
    +static int gmux_send_intensity(struct backlight_device *bd)
    +{
    +	int intensity = bd->props.brightness;
    +
    +	if (debug)
    +		printk(KERN_DEBUG DRIVER "setting brightness to %d\n",
    +		       intensity);
    +
    +	gmux_set_brightness(intensity);
    +	return 0;
    +}
    +
    +static int gmux_get_intensity(struct backlight_device *bd)
    +{
    +	int intensity;
    +	intensity = inl(PORT_BACKLIGHT_1);
    +
    +	if (debug)
    +		printk(KERN_DEBUG DRIVER "read brightness of %d\n",
    +		       intensity);
    +
    +	return intensity;
    +}
    +
    +static const struct hw_data gmux_data = {
    +	.iostart = PORT_BACKLIGHT_1,
    +	.iolen = 4,
    +	.io_1_start = PORT_BACKLIGHT_2,
    +	.io_1_len = 2,
    +	.backlight_ops		= {
    +		.options	= BL_CORE_SUSPENDRESUME,
    +		.get_brightness	= gmux_get_intensity,
    +		.update_status	= gmux_send_intensity
    +	},
    +	.set_brightness = gmux_set_brightness,
    +};
    +
    +
     static int __devinit apple_bl_add(struct acpi_device *dev)
     {
     	struct backlight_properties props;
    @@ -152,10 +207,16 @@ static int __devinit apple_bl_add(struct acpi_device *dev)
     		return -ENODEV;
     	}
     
    -	if (host->vendor == PCI_VENDOR_ID_INTEL)
    -		hw_data = &intel_chipset_data;
    -	else if (host->vendor == PCI_VENDOR_ID_NVIDIA)
    -		hw_data = &nvidia_chipset_data;
    +	if(use_gmux == 0) {
    +		if (host->vendor == PCI_VENDOR_ID_INTEL)
    +			hw_data = &intel_chipset_data;
    +		else if (host->vendor == PCI_VENDOR_ID_NVIDIA)
    +			hw_data = &nvidia_chipset_data;
    +	}
    +	else 
    +		hw_data = &gmux_data;
    +	
    +	printk(KERN_ERR DRIVER "host->vendor == %x gmux = %d", host->vendor, use_gmux);
     
     	pci_dev_put(host);
     
    @@ -170,24 +231,38 @@ static int __devinit apple_bl_add(struct acpi_device *dev)
     
     	if (!intensity) {
     		hw_data->set_brightness(1);
    -		if (!hw_data->backlight_ops.get_brightness(NULL))
    +		if (!hw_data->backlight_ops.get_brightness(NULL)) {
    +			printk(KERN_ERR DRIVER "cannot set brightness - no device found\n");
     			return -ENODEV;
    +		}
    +		
     
     		hw_data->set_brightness(0);
     	}
    -
    +	
     	if (!request_region(hw_data->iostart, hw_data->iolen,
    -			    "Apple backlight"))
    -		return -ENXIO;
    +						"Apple backlight")) {
    +		printk(KERN_ERR DRIVER "cannot request backlight region\n");
    +		//		return -ENXIO;
    +	}
    +	if (hw_data->io_1_start != 0 && !request_region(hw_data->io_1_start, hw_data->io_1_len,
    +						"Apple backlight1")) {
    +		printk(KERN_ERR DRIVER "cannot request backlight region 1\n");
    +		//		return -ENXIO;
    +	}
    +	
     
     	memset(&props, 0, sizeof(struct backlight_properties));
     	props.type = BACKLIGHT_PLATFORM;
    -	props.max_brightness = 15;
    -	apple_backlight_device = backlight_device_register("apple_backlight",
    +	props.max_brightness = use_gmux ? max_brightness : 15;
    +	apple_backlight_device = backlight_device_register("acpi_video0",
     				  NULL, NULL, &hw_data->backlight_ops, &props);
     
     	if (IS_ERR(apple_backlight_device)) {
     		release_region(hw_data->iostart, hw_data->iolen);
    +		if(hw_data->io_1_start)
    +			release_region(hw_data->io_1_start, hw_data->io_1_len);
    +		printk(KERN_ERR DRIVER "cannot register device\n");
     		return PTR_ERR(apple_backlight_device);
     	}
     
    @@ -203,6 +278,8 @@ static int __devexit apple_bl_remove(struct acpi_device *dev, int type)
     	backlight_device_unregister(apple_backlight_device);
     
     	release_region(hw_data->iostart, hw_data->iolen);
    +	if(hw_data->io_1_start)
    +		release_region(hw_data->io_1_start, hw_data->io_1_len);
     	hw_data = NULL;
     	return 0;
     }

Page 23 of 89 FirstFirst ... 1321222324253373 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •