procrastination Posted November 22, 2014 Share Posted November 22, 2014 Hi, I recently installed Yosemite on my brand new Asus UX303ln. After reading much, failing miserably so many times, I finally managed to get it working quite well with Clover Bootloader, a few kexts and a patch DSDT+SSDT.However, I cannot seem to get two things : - Screen Brightness controll, although I applied RehabMan haswell brightness patch. I got a slider in system preferences, but it does not change the screen brightness. - I didn't managed to disable the Nvidia 860M optimus chip after trying the pinned method (I might try again later, this is a far less annoying issue).Here are my patched DSDT and SSDT (SSDT7 is renamed SSDT in clover folder), config.plist and ioreg. DSDT.txtSSDT7.txtconfig.txtioreg.txt I might precise if other ux303 users stumble upon this post that the touchpad is only recognized as a single touch one without any scrolling or multitouch gesture. This is due to the touchpad being a focaltouch one. It is thus unsupported by the elantech driver. Link to comment Share on other sites More sharing options...
RehabMan Posted November 22, 2014 Share Posted November 22, 2014 Hi, I recently installed Yosemite on my brand new Asus UX303ln. After reading much, failing miserably so many times, I finally managed to get it working quite well with Clover Bootloader, a few kexts and a patch DSDT+SSDT. However, I cannot seem to get two things : - Screen Brightness controll, although I applied RehabMan haswell brightness patch. I got a slider in system preferences, but it does not change the screen brightness. - I didn't managed to disable the Nvidia 860M optimus chip after trying the pinned method (I might try again later, this is a far less annoying issue). These two are related. In many cases, nvidia must be disabled before the brightness registers can be manipulated from ACPI. Link to comment Share on other sites More sharing options...
procrastination Posted November 23, 2014 Author Share Posted November 23, 2014 I now have managed to disable the Nvidia chip, but still no luck with the brightness setting.I also seem to have a problem with the USB ports which are not working after a sleep+wakeup any longer. Link to comment Share on other sites More sharing options...
RehabMan Posted November 23, 2014 Share Posted November 23, 2014 I now have managed to disable the Nvidia chip, but still no luck with the brightness setting. I also seem to have a problem with the USB ports which are not working after a sleep+wakeup any longer. Download patchmatic: https://github.com/RehabMan/OS-X-MaciASL-patchmatic. Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic. In terminal, rm -Rf ~/Downloads/RehabMan mkdir ~/Downloads/RehabMan cd ~/Downloads/RehabMan patchmatic -extract Post contents of Downloads/RehabMan directory (as ZIP). Also, post a copy of ioreg: Use the IORegistryExplorer v2.1 Link to comment Share on other sites More sharing options...
procrastination Posted November 23, 2014 Author Share Posted November 23, 2014 Here you go.I originally extracted DSDT and SSDT table from ubuntu and used "iasl -da" from ubuntu too.RehabMan.zipioreg_output.zip Link to comment Share on other sites More sharing options...
RehabMan Posted November 23, 2014 Share Posted November 23, 2014 Here you go. I originally extracted DSDT and SSDT table from ubuntu and used "iasl -da" from ubuntu too. RehabMan.zipioreg_output.zip You forgot to drop OEM SSDTs. You cannot provide patched SSDTs without dropping the corresponding OEM tables. One way is to use config.plist/ACPI/SSDT/DropOem=true. Link to comment Share on other sites More sharing options...
procrastination Posted November 23, 2014 Author Share Posted November 23, 2014 Sorry.Here are the original files, unmatched, extracted from ubuntu. orig_aml.zip Link to comment Share on other sites More sharing options...
procrastination Posted November 23, 2014 Author Share Posted November 23, 2014 I just discovered that the brightness slider is actually brought up by the addPNLF Clover DSDT fix, not by the patch I applied. Link to comment Share on other sites More sharing options...
RehabMan Posted November 24, 2014 Share Posted November 24, 2014 I just discovered that the brightness slider is actually brought up by the addPNLF Clover DSDT fix, not by the patch I applied. You should not use that option if you intend to implement backlight control. Link to comment Share on other sites More sharing options...
Ramalama Posted November 24, 2014 Share Posted November 24, 2014 Enable in Clover config.plist under ACPI-->DSDT-->Fixes --> FixRegions_10000000 (YES) and NewWay_80000000 (YES) And DropOEM (YES) Then you need to download "ssdtprgen.sh", available on pikeralphas Github, generate your SSDT.aml and put this (Attached) DSDT.aml and SSDT.aml (ssdtprgen) into Clover/ACPI/patched/ folder :-) Cheers :-) DSDT.zip Link to comment Share on other sites More sharing options...
procrastination Posted November 24, 2014 Author Share Posted November 24, 2014 @Ramalama :I just tried that and got a kernel panic just after the "Machine-check capabilities : 0x000000000000c07" and the list of 4 processors detected (I guess 2 cores and hyperthreading). I will try again without the SSDT and report. Link to comment Share on other sites More sharing options...
procrastination Posted November 24, 2014 Author Share Posted November 24, 2014 @Ramalama : Ok, the DSDT file you provided seems to be the one causing the kernel panic. Link to comment Share on other sites More sharing options...
RehabMan Posted November 24, 2014 Share Posted November 24, 2014 Enable in Clover config.plist under ACPI-->DSDT-->Fixes --> FixRegions_10000000 (YES) and NewWay_80000000 (YES) And DropOEM (YES) Note: DropOEM will do nothing, as it is spelled correctly 'DropOem'. ... and put this (Attached) DSDT.aml and SSDT.aml (ssdtprgen) into Clover/ACPI/patched/ folder :-) Note: Merging a bunch of SSDTs into DSDT is not necessary and a classic "bad idea"... Link to comment Share on other sites More sharing options...
procrastination Posted November 24, 2014 Author Share Posted November 24, 2014 I got it working : I just had to clean up my mess. I used my dsdt.aml, the associated ssdt.aml (renamed ssdt-1.aml), generated a ssdt for my processor and checked the "Drop OEM" option under clover configurator. I will post all those files tonight for ux303ln users. I still have to change my wifi card and beg for the elan kext developer to include fochaltech touchpad support and I will have a fully working hack book air. Link to comment Share on other sites More sharing options...
Ramalama Posted November 24, 2014 Share Posted November 24, 2014 Okay, good to know :-) Link to comment Share on other sites More sharing options...
procrastination Posted November 25, 2014 Author Share Posted November 25, 2014 And yet... it turns out it's not all OK yet. I realised this got the 4400 HD lose QE/CI. I re-added some of the SSDT file back, got QE/CI working but lost sleeping : I now have a reboot on wakeup. Il will have to narrow down on which precise table I need to get a fully functionning graphic card and dump the rest. Link to comment Share on other sites More sharing options...
RehabMan Posted November 25, 2014 Share Posted November 25, 2014 And yet... it turns out it's not all OK yet. I realised this got the 4400 HD lose QE/CI. I re-added some of the SSDT file back, got QE/CI working but lost sleeping : I now have a reboot on wakeup. Il will have to narrow down on which precise table I need to get a fully functionning graphic card and dump the rest. You have to be very careful with DropOem. When you drop all tables, you may eliminate one that is needed. So be sure to review all of them, and only drop the ones that aren't necessary. Also, keep in mind that renames must be "balanced". If you do a rename (eg. GFX0->IGPU) in one file, you must do the rename in all that have references to the same object. Before I even attempt an install, I spend a bit of time just going over the OEM DSDT/SSDTs... Link to comment Share on other sites More sharing options...
procrastination Posted November 25, 2014 Author Share Posted November 25, 2014 Yes, I am starting to get that little by little. I feel a little blind though. I may know how to code in C/C++ but ACPI is still a big mystery. On another note, you have developped a branch of VoodooPS2 controller. Might it be possible to adapt it to a focaltech touchpad in order to get multitouch support by importing the linux driver ? (I mean I am willing to try that myself, but I'd rather get your opinion before trying anything useless). Link to comment Share on other sites More sharing options...
RehabMan Posted November 25, 2014 Share Posted November 25, 2014 Yes, I am starting to get that little by little. I feel a little blind though. I may know how to code in C/C++ but ACPI is still a big mystery. Reading the ACPI spec can be helpful. The rest is just "school of hard knocks"... On another note, you have developped a branch of VoodooPS2 controller. Might it be possible to adapt it to a focaltech touchpad in order to get multitouch support by importing the linux driver ? (I mean I am willing to try that myself, but I'd rather get your opinion before trying anything useless). You could adapt it if you can find or reverse engineer the focaltech ps2 protocol. Link to comment Share on other sites More sharing options...
procrastination Posted November 25, 2014 Author Share Posted November 25, 2014 Someone already partly reverse engineered the protocol : https://github.com/mgottschlag/linux/tree/focaltech/drivers/input/mouse I will first solve my ACPI problems and then have a long look at that (and I will probably ask for help in a dedicated thread). Link to comment Share on other sites More sharing options...
procrastination Posted November 27, 2014 Author Share Posted November 27, 2014 Getting there, slowly.The sleep problem was caused by the SSDT generated by "ssdtprgen.sh". Instead of going to sleep, the computer went directly in hibernation. Setting : pmset -a hibernatemode 0 didn't change that behavior. I ditched this SSDT, stopped dropping OEM SSDT tables and everything is working BUT... the sleep mode. Having a USB device plugged in causes an instant wakeup, as shown in system logs : Nov 27 08:04:34 pc52 kernel[0]: The USB device USB3.0 Hub (Port 1 of Hub at 0x15000000) may have caused a wake by issuing a remote wakeup (3) Nov 27 08:05:32 MacBook-Air kernel[0]: The USB device USB3.0 Hub (Port 1 of Hub at 0x15000000) may have caused a wake by issuing a remote wakeup (3) I guess my DSDT needs another patch (in _WAK method ?) but I have no clue which one. Link to comment Share on other sites More sharing options...
procrastination Posted November 28, 2014 Author Share Posted November 28, 2014 I have settled on a configuration which is working pretty well. You will find my config.plist and patched DSDT/SDST zipped as an attachment. CLOVER.zipI am using the latest clover boot loader with the following drivers installed : CsmVideoDxe-64.efi FSInject-64.efi HFSPlus-64.efi NTFS.efi OsxAptioFix2Drv-64.efi OsxFatBinaryDrv-64.efi PartitionDxe-64.efi I had to install those kexts : FakeSMC.kext ACPIBacklight.kext AsusNBFnKeys.kext VoodooHDA.kext AppleHDADisabler.kext VoodooPS2Controller.kextACPIBatteryManager.kext VoodooPS2Controller.kext The trick to get sleep working is to enable CSM in the bios (in boot options) and to enable hibernation using : sudo pmset -a hibernatemode 29 While hibernating works without enabling CSM, the screen is then heavily distorted when waking up and needs closing/waiting/opening the lid to get it back. Enabling CSM avoids that. As always, I am opened to any suggestion to improve this. Right now, I think it might be useful to other Asus UX303LN users in this state.And now, let's try to get this touchpad working with multitouch ! (Wish me luck, I have no idea where I'm going with that) Link to comment Share on other sites More sharing options...
Ramalama Posted November 30, 2014 Share Posted November 30, 2014 You have the same screen distortion, like on the osx install? It's fixable for hibernate wake really easy... This can be done with dsdt, in the pnlf section... Vblank or any other small screen reset would fix this... Rehab have already a very similar patch in pnlf section that is just commented out... I can look on that later too, if I have time and will be at home... Cheers :-) Link to comment Share on other sites More sharing options...
procrastination Posted December 1, 2014 Author Share Posted December 1, 2014 Thanks for the info, I will look for that patch as soon as possible. Link to comment Share on other sites More sharing options...
VMonHeros Posted December 2, 2014 Share Posted December 2, 2014 Hi, I'm a UX303LA user, so near you but without Optimus . I've got previously an UX32LN, so I know . I'm at the same state as you (for Focaltech) but hey, perhaps we will have some good news on that (I cannot promise, but a famous developper will have a look on the topic). Just an information for DSDT. There is an error in last ASUS DSDT, that causes issue with BatteryManager (when your battery is fully charged and on power, OSX says you that you're on battery...). A small adjustment need to be done inside FSBT method, I document it here (https://github.com/Ramalama2/UX303LN/issues/1) I did also a small text to explain all my mods. If it can help, no issue to share it here (but sorry for my defective english!). For Hibernation, when you enable CMS, your screen will be OK, but normally, no backlight change possible anymore (at least for me) after wake. But I didn't dig inside last Ramalama response (PNLF DSDT change) that is promising . For USB, I dig inside this issue with UX32LN (that is very close in DSDT point of view). Same issue. I stopped (because I'd got work on Elantech kext with ElymDinesh) and to wait, just disable USB3 in Bios. With only USB2 activated, it's OK (will look at that later). And, you can also easily patch your bios with PMPatch for PowerManagement, it works well . But be carefull with Bios flashing (I can give you the right link if you want to go). Link to comment Share on other sites More sharing options...
Recommended Posts