Windows 8.1 on a MacBook1,1 (Early/Mid 2006) - Fixed brightness and battery status

Discussion in 'Windows, Linux & Others on the Mac' started by Henk Poley, May 3, 2014.

  1. Henk Poley, May 3, 2014
    Last edited: Oct 31, 2014

    Henk Poley macrumors regular

    Joined:
    Sep 22, 2008
    #1
    For anyone who likes to give their old first generation MacBook a second life past the Snow Leopard support date.

    Why?
    Windows 8.x is supported with patches until 10 january 2023 :). The MacBook1,1 meets the Windows 8 system requirements. Video seems to play much smoother than on Snow Leopard, and having dedicated apps for e.g. Netflix might help too. The fan remains to be rather noisy of course, and there's the annoying coil whine. Can't do any magic hardware changes.


    Battery life
    Battery life is pretty decent, some estimates:
    * 1h40m when playing Netflix, automatic streaming quality 3000 kbps (720p)
    * 2h30m with youtube music running in the background in desktop IE11.
    * 4 hours when just browsing. About the same as Snow Leopard (which seems worse than I remember from Tiger days)


    Not supported by Apple
    You could just install Bootcamp 3 from the Snow Leopard DVD, and most will work. But Windows will bluescreen often due a buggy KeyAgent.sys made by Apple. That driver doesn't pass Windows' Driver Verifier tests at all. So you will probably want to uninstall Bootcamp.


    Quick howto
    Install Windows 7, from within Windows install Windows 8.1. Download all the files, run setup.bat as administrator. Wait a while. Reboot. Run load.bat in the dsdt-fixes directory as administrator. Brightness and battery charge status will now also work.


    Remaining nitpicks
    * Volume and brightness buttons don't work.
     
  2. Henk Poley, May 11, 2014
    Last edited: Oct 31, 2014

    Henk Poley thread starter macrumors regular

    Joined:
    Sep 22, 2008
    #2
    All the nerdy bits go here.


    Full howto
    * Run the "Boot camp" wizard on Snow Leopard; turn down the volume, so you never hear the boot gong.
    * Install Windows 7 32bit
    * Upgrade in-place to Windows 8.1 32bit. There's some problem with directly booting from the DVD, so do an upgrade from within windows. After install Windows update will pull in patches and most drivers in a reboot or 3. WiFi already works out of the box.
    * Download Bootcamp 4.0.4326. Extract with 7-zip. Or download just the required drivers.
    * Install: SigmaTelSetup.exe, AppleBluetoothEnablerInstaller.exe, AppleiSightInstaller.exe, AppleRemoteInstaller.exe, AppleTrackpadInstaller.exe, AppleNullDriver.exe, AppleKeyboardInstaller.exe
    * Download padset-0.3.zip, this makes two finger scrolling and tap to click work without the bootcamp agent.
    * Import the supplied defaultSettings.reg
    * Link padset-0.3.exe in your Startup folder.
    * By now everything works, except the brightness/volume keys. Setting brightness in windows doesn't work at all. And sometimes after standby the backlight remains off.
    * Dump your ACPI DSDT and fix the brightness methods, compile to a fresh new dsdt.asl
    * Download and install WDK 8.1 update for asl.exe, you don't need to install Visual Studio 2013 first.
    * Open cmd as Administrator
    * Run `"C:\Program Files\Windows Kits\8.1\Tools\x86\ACPIVerify\asl.exe" /loadtable dsdt.asl`
    * Run `bcdedit /set testsigning on`, this will allow windows to load the custom DSDT (and allows certain rootkits, old unsigned drivers, etc.). Your desktop wil show "Testmode" plus the windows version and build.
    * Reboot
    * By pressing Cmd+I you will find a brightness slider charm.
    * For natural scrolling: http://superuser.com/a/364353
    * To make DVD playing less noisy: http://thesz.diecru.eu/content/rimhillex.php
    * Automatically update vulnerable applications: http://secunia.com/vulnerability_scanning/personal/
    * GMABooster speeds up your graphics card. Watch out for the sleazy bundled spyware. Running the GPU at 166MHz does not appear to have any influence on the common windows 8 UI elements or YouTube playback.
    * Under Task manager's Startup tab you might want to disable 'IDT PC Audio'. This will stop you from enabling audio distortions and switching SPD/IF settings.
    * You can also disable 'Audio service' in services.msc, this will (probably) stop you from using S/PDIF, but stops a permanent 1-1.5% CPU use. Sound will still work, headphones will still work.


    Fixed bugs
    * Brightness sliders in Windows work using a patched DSDT. Probably also applies to Macbook2,1. One Apple bug fixed :)
    * Charging status is correct at boot. I've seen this reported with Windows 7 since back in 2010. Pretty sure this also applies to MacBook2,1 and MacBook5,1. Two Apple bugs fixed :).


    Remaining bugs & nitpicks
    * Brightness and volume buttons don't work.
    * When netflix plays the trackpad pointer stutters. I guess that's how Microsoft gets 720p smooth.
    * High DPC latency in acpi.sys (~1000 microseconds)
    * Disabling driver signing checks is not pretty. Well, using Grub2 to patch the DSDT isn't pretty either. Neither is flashing the EFI BIOS (with say coreboot).
    * Keyboard and touchpad do not go into 'selective suspend' mode, keeping the USB device tree powered all the time. Probably needs a custom driver.
    * Need to check if SATA controller supports lower AHCI power modes, doesn't appear Windows knows about them right now. Might just not be there.


    If anybody is interested to figure it out I can put the dsdt.dsl up on Github. It can already be found in the OneDrive link.


    dsdt.dsl edits
    In `Method (_BIF, 0, NotSerialized)` add as first line:
    Code:
    Store (\_SB.PCI0.LPCB.EC.RPWR, PWRS) /* \PWRS - Cache the power state when the system boots */
    In `Device (LCD)` add:

    Code:
    					Name (BRIG, Package(103)
    						{
    							80, // Level when the machine has full power
    							20, // Level when the machine is on batteries
    							 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
    							10,11,12,13,14,15,16,17,18,19,
    							20,21,22,23,24,25,26,27,28,29,
    							30,31,32,33,34,35,36,37,38,39,
    							40,41,42,43,44,45,46,47,48,49,
    							50,51,42,53,54,55,56,57,58,59,
    							60,61,62,63,64,65,66,67,68,69,
    							70,71,72,73,74,75,76,77,78,79,
    							80,81,82,83,84,85,86,87,88,89,
    							90,91,92,93,94,95,96,97,98,99,
    							100,
    						}
    					)
    					
    					Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
    					{
    						Return(BRIG)
    					}
    					
    					Method (_BCM, 1, NotSerialized) // _BCL: Brightness Control Method
    					{
    						\_SB_.PCI0.DSPC.BRTS(Arg0)
    					}
    Above `Device (HDEF)` add:
    Code:
    			Device(DSPC) // Needs to live on the PCI bus _SB_
    			{
    				Name (_ADR, 0x00020001) // PCI device 00:02.1 (?)
    				OperationRegion (DSPC, PCI_Config, 0x00, 0x100)
    				Field (DSPC, ByteAcc, NoLock, Preserve)
    				{
    					Offset (0xf4),
    					BRTC, 8
    				}
    
    				OperationRegion (PWM, SystemMemory, 0x904E1254, 0x4)
    				Field (PWM, AnyAcc, Lock, Preserve)
    				{
    					PWMR,   32,
    				}
    
    				Store(0x003F003E, PWMR) // Set the LCD Pulse Width Modulation register
    				
    				Method (BRTS, 1, NotSerialized)
    				{
    					// scaling from 0-100 to 5-255, first 0x32 or so is backlight off
    					
    					// 5 + ((Arg0 * 2) + (Arg0 / 2))
    					Store(Add(0x5, Add(Multiply(Arg0, 0x2), ShiftRight(Arg0, One))), BRTC)
    				}
    				
    			}
     
  3. pedromcm.pm macrumors 6502

    Joined:
    Mar 23, 2014
    Location:
    Porto, Portugal
    #3
    What about your software? Do you really find win8.1 better for your machine?

    Why not a lightweight Linux distro or chromium OS?
     
  4. Henk Poley, May 11, 2014
    Last edited: May 12, 2014

    Henk Poley thread starter macrumors regular

    Joined:
    Sep 22, 2008
    #4
    Wouldn't run Netflix very well. Pipelight will definitely need more CPU. Also power saving is better on Windows / IE11. Otherwise, I have no problem with Linux. I run it on other systems.
     
  5. Agryppa macrumors newbie

    Joined:
    May 31, 2014
    #5
    compile errors

    @Henk

    Can You put the dsdt.dsl up on Github?! Please! :)

    Regards!
     
  6. Quad5Ny macrumors 6502a

    Quad5Ny

    Joined:
    Sep 13, 2009
    Location:
    New York, USA
    #6
    http://sourceforge.net/projects/macfan/ - Note that if you lower the fan speed, the command line has to be re-run after coming out of S3/S4. You can use windows task scheduler to run the command.

    http://matthew.malensek.net/software/documentation/3RVX.html (Volume) & Autohotkey (Brightness)

    A better way to do this would be to boot off of the 7 DVD, then use diskpart to format and partition the drive with 2 NTFS partitions: First partition would be your Windows setup partition, make this one the size needed for the 8.1 setup files + 300MB and mark it as Active (bootable). Second would be for Windows. After that is done, use xcopy to copy the entire 8.1 DVD over to the 1st partition (you can safely eject the 7 DVD because your running off a RAM disk).


    You can just disable signature enforcement using the boot menu, and after a reboot signature enforcement will automatically turn back on, although I've never tried this using a custom dsdt. (In this mode once a driver is loaded Windows will create its own signature catalog file for it. You can even uninstall/reinstall the device as long as you don't delete the drivers from the driver store)

    I don't know if this helps you at all but on my 5,1 backlight brightness is controlled by the nvidia graphics driver. If the inf has the wrong settings during install then the backlight will not work.

    My MacBook Unibody (5,1) has no problems reporting the battery status, it will even tell you if a cell in the battery has gone bad.

    Try moving the pointer render to software instead of hardware:

    [HKEY_CURRENT_USER\Control Panel\Mouse]
    "MouseTrails"="-1"

    Are you using a up to date tool? Because I know a few dpc latency checkers do not report correctly with Windows 8. Either that or EIST is acting weird, I get extremely high dpc spikes with a old P45/C2Q if I have EIST enabled in the BIOS. Turning EIST off in the BIOS and letting Windows handle the p-states fixes the problem.

    Windows does this with all input devices, presumably to allow you to get out of lower power states. It even happens with Microsofts own 360 controller adapter.
     
  7. Henk Poley, Jun 6, 2014
    Last edited: Jun 6, 2014

    Henk Poley thread starter macrumors regular

    Joined:
    Sep 22, 2008
    #7
    The WHEA blue screens I get every so often point to a broken PMU or CPU. Given that the screen sometimes flickers even in Snow Leopard, I hope it's just a broken LCD backlight inverter.

    For future reference, 0xb2000000 0x00040151 is the 'machine check exception' code for a problem with the L1 cache on board of the CPU. Could be caused by a broken PMU (power management, ex. leaking capacitor) or a broken CPU.

    http://www.itlisting.org/5-windows/19a53f5c7398688f.aspx
    http://www.webserverforum.com/10-windows-servers/19a53f5c7398688f.htm

    ----------

    From what I understand the DSDT override driver is unsigned. So it won't load if signature checks are turned on. Which breaks the DSDT features I added.

    I tried contacting Intel, since the driver says "Intel Corporation" on the tin. They say I should go to Microsoft, but I have no clue how to contact them appropriately. And driver developers in the room?

    btw, on XP the same graphics hardware (GMA950) requires an app (such as the Bootcamp Agent) to poke the 'legacy brightness register', what I do with the DSDT.

    Then they probably trigger an appropriate Embedded Controller (EC) signal when windows initializes it's ACPI system, for it to load the actual charging status. Must be a hardware/firmware change, outside of the ACPI tables.


    Yes, I know 'DPC Latency Checker' is broken on windows 8. There are no BIOS controls on a MacBook. I don't really want to disable speedstepping, or is p-states "better" ? This is a Core Duo (32 bit).
     
  8. Henk Poley thread starter macrumors regular

    Joined:
    Sep 22, 2008
    #8
    Ah, and 3RVX just enables some hotkey combo to change brightness and volume. It does not appear to enable apple keyboard keys to do that. There are other tools that do the same, or you just press Win+I and use the sliders.
     
  9. hklam0 macrumors newbie

    Joined:
    Aug 11, 2014
    #9
    Better way for install bootcamp support for windows 8.1 on Macbook 1,1

    I have found a brilliant way to enable windows 8.1 for have a full support of bootcamp on Macbook 1,1, here is how:

    1. Download Bootcamp 4 (Windows 7 32 bit)
    2. Unzip it
    3. Use InstEd free version to edit the BootCamp.msi under Apple directory.
    4. Delete the row of checking Mac Model showing Macbook1,1 under LaunchConditions
    5. If your windows date format is not English (US), please change it to English (US) temporarily for Bootcamp drivers installation or else you will get Error 2229. Your can change the date/time format back to original after successful bootcamp drivers installation.
    6. Run Setup.
    7. Wait.
    8. Success!

    You will have functional brightness control keys and volume keys back!

    Enjoy!
     
  10. Henk Poley, Oct 1, 2014
    Last edited: Oct 31, 2014

    Henk Poley thread starter macrumors regular

    Joined:
    Sep 22, 2008
    #10
    @hklam0, the main Bootcamp driver tends to crash my macbook. But it might be that this mainboard is ever so slightly fried, and causes crashes that nobody else sees. Also, it does not fix the battery status problem.

    Under the Windows 10 Technology Preview, the trackpad two-finger right-click works by default, and padset-0.3.exe enables the two-finger scrolling (it probably kept that one driver). Installing SigmaTelSetup.exe restores audio, but it sounds rough (haven't rebooted though, against the advise of the installer). Brightness is broken, as expected.

    I suspect the fixes I mentioned above will work. I'll let you know.

    You first need to disable driver signing, reboot into that disabled mode, then you can install the dsdt fixes.
     
  11. Henk Poley, Oct 31, 2014
    Last edited: Oct 31, 2014

    Henk Poley thread starter macrumors regular

    Joined:
    Sep 22, 2008
    #11
    I did not get WHEA blue screens anymore with Windows 10.

    The machine is now in use as a Snow Leopard based CrashPlan backup server. So no more Windows MacBook1,1 experiments for a while, from me at least.

    I've now installed Windows on a MacBook3,1 (Late 2007): http://forums.macrumors.com/showpost.php?p=20257063&postcount=5

    But please stay on-topic here.
     
  12. katarchaea macrumors newbie

    Joined:
    Nov 27, 2008
    #12
    I followed hklam0's advice, which seems to work just fine. Only glitch was installing boot camp in compatibility mode, and the occasional warning from the windows notification centre.
     
  13. Gjwilly macrumors 68030

    Joined:
    May 1, 2011
    Location:
    SF Bay Area
    #13
    Anybody try this with a MacBookPro1,1?
    Weird that the "Pro" machine officially stops at Vista.
     
  14. doynton macrumors 6502

    Joined:
    Oct 19, 2014
    #14
    Yes. I'm running x64 10 preview on a MacBookPro1,1 (Core 2 duo 2,16) upgraded from 8.1 in October. I just installed Windows though - didn't need to go through all these other steps. It works fine with bootcamp 3.2 drivers.
     
  15. Gjwilly macrumors 68030

    Joined:
    May 1, 2011
    Location:
    SF Bay Area
    #15
    The MacBookPro1,1 is a CoreDuo not a Core2Duo.
    You sure you have x64?
     
  16. doynton macrumors 6502

    Joined:
    Oct 19, 2014
    #16
  17. Henk Poley, Apr 21, 2015
    Last edited: Jun 29, 2015

    Henk Poley thread starter macrumors regular

    Joined:
    Sep 22, 2008
  18. Henk Poley thread starter macrumors regular

    Joined:
    Sep 22, 2008
    #18
    There's a little sound quality gift by Microsoft & IDT. Set the volume at something like 85%. Set your macbook somewhere in the middle of the room on a table (or, just wherever it stays). Right click on the volume control on the task bar. Choose playback device. Double click 'Speakers / HP', 3rd tab, 'Room correction'. Follow the wizard, just use the defaults.

    Any problems with ye olde macbook speakers will be corrected, as far as possible. Works with Windows Vista and up.
     
  19. tigerintank, Jan 12, 2016
    Last edited: Jan 12, 2016

    tigerintank macrumors regular

    Joined:
    Jun 16, 2013
    #19
    Made a MB 2,1 / Windows 8.1 post in the Macbook forum earlier, before finding this thread via google.

    Am installing 7 right now and will install 8.1 over the top shortly. Thanks for the detailed 'how to' information above - very comprehensive & :cool:

    Am interested in your current view Henk, after 12-18 months or so, would you see 8.1 or 10 as the best fit for a 1,1 or 2,1 system?

    I've seen a little of 10 so far and what I've seen I like.

    But I wonder if 10 might tax the older hardware more than 8.1?

    Any other 2,1 users views also welcome. :)
     
  20. Henk Poley thread starter macrumors regular

    Joined:
    Sep 22, 2008
    #20
    I wouldn't know a reason to run an older Windows than Windows 10 at the moment.

    I'm currently using the drivers from my OneDrive, but complimented with any updated driver found in Snappy Driver Installer. Which works reasonably fine.

    MacBook2,1 is AFAIK mostly just a MacBook1,1 with a 64bit Core 2 Duo. Ought to perform similar, but 64bitness might mean slightly different driver problems.
     
  21. tigerintank macrumors regular

    Joined:
    Jun 16, 2013
    #21
    Sounds good - Ive made some progress today, will pick it up tomorrow.
     
  22. tigerintank, Jan 23, 2016
    Last edited: Jan 23, 2016

    tigerintank macrumors regular

    Joined:
    Jun 16, 2013
    #22
    Ok I picked it up a little later than planned…

    I edited the setup.bat to use the 64 bit driver versions of the 32 bit driver files

    Theres no 64 bit version of SigmaTel that I can see, so I used that as it was and ran setup.bat / rebooted, then ran load.bat / rebooted. Thanks for automating this btw :cool:

    I actually did it twice as I wasn't methodical enough first time round. So I reset windows (retaining user files) and then redid everything.

    Results;
    • Trackpad works most of the time, incl 2 finger scroll/tap. Sometimes tap/2 finger tap stops working till a logout/in or reboot restores it
    • Battery indicator works
    • iSight Camera works
    • Occasional no backlight on wake from sleep. External screen / remote access available
    • Occasional no backlight on boot, can remote in no problem and reboot (not seen this after 2nd time through- will monitor)
    • No sound (the audio hardware is fine under MacOS Lion)
    • Brightness - Cmd+I brings up settings and not the brightness control
    • Optical out LED on 3.5mm is constantly on - linked to above issue possibly?
    • External Display mirror issue (older Dell 2008WFP) - display on external is displaced up and to the left if set to 1280x800, ok if set to 1024x768
    • If use external as 2nd display there's no option for the native 1680x1050 with 1680x1200 being the closest for some reason
    Ran Snappy DI and the only update it suggested was a Battery Driver update - which I ran. Though again first time I noted it downloaded c100M which I assume was cached as it wasn't done 2nd time round.

    I tried selecting the sound and graphics hardware individually and telling it to find drivers - each one came back saying it had the latest already.

    Any suggestions to assist with getting brightness and sound working?

    Any thoughts on intermittent track pad behaviour?

    Any way to avoid backlight issues?

    Re external screen issue - I was surprised to see a generic screen monitor driver as I think I've seen that screen connected to a PC before and i'm almost certain it was recognised as a Dell. I really don't have too much experience of drivers - can I force windows in some way, even though it thinks it has the latest?
     
  23. Henk Poley, Jan 26, 2016
    Last edited: Jan 26, 2016

    Henk Poley thread starter macrumors regular

    Joined:
    Sep 22, 2008
    #23
    Yes, if you have the wrong sound driver the red LED in the line-out port will stay on. And you'll have no sound over the speakers, nor headphone port. The 32bit driver identifies itself as 'IDT High Definition Audio Codec' and 'Speakers / HP', so it might be that HP SoftPaq contains a compatible 64bit driver somewhere.

    Trackpad driver on Windows is a bit jittery. But I haven't had it stop functioning entirely. You might be able to load a trackpad driver from a more recent BootCamp zip.

    As I remember external display with VGA is a bit funky, the MacBook is within spec, but are at the lower end of the signal power range. Some displays and (cheap) projectors don't cope very well with that.

    I don't think you can load my patched ACPI tables (load.bat) on your MacBook2,1, that fixes both brightness/backlight and some minor battery bugs. Because it would be incompatible, and because 64bit Windows re-enables driver signing each reboot. The patched ACPI tables are inserted as an unsigned driver. You might be able to work around if you patch it yourself, *and* figure how to do self-signing, or use some kind of bootloader patch that disables driver signing checks on boot.
     
  24. tigerintank, Jan 26, 2016
    Last edited: Jan 27, 2016

    tigerintank macrumors regular

    Joined:
    Jun 16, 2013
    #24
    Thanks for the detailed reply. I started to think about the specifics, but then another thought overtook me...

    There's a 32bit version of Windows 10 and although I don't remember selecting one or the other - I have a feeling it defaults to whatever version of Windows 7 was on there.

    So would it be a more sensible approach to focus on somehow getting a 32 bit version of Windows 10 on there and so make things a fair bit more straightforward? Due to my lack of Windows experience, I'm keen to reduce the requirements to perform lots of detailed install tweaking and ongoing maintenance, as it'll just prevent me from using the Macbook.

    As far as I can tell from a google around just now, it seems that the main restriction is that 32bit restricts to 4G of RAM or effectively a bit less than that - though I couldn't tell how much from what I read! But since I only have 3G installed, I'm assuming that I wouldn't hit the limits there anyway?

    What do you think - is that a better route to take?

    ———————————
    Edit Looking on MS for the Windows 10 download it seems that there are separate links / ISO downloads for 32 and 64 bit.

    https://www.microsoft.com/en-us/software-download/windows10ISO

    Not sure how I missed that first time round…

    I'll go ahead and download the 32 bit in meantime, but would be useful to get peoples views on whether a 32 bit install will be less overhead on an inexperienced Windows user like myself.

    Looks like 32bit is restricted to 3.2G so no problem for the 2,1
     
  25. Nettwerk macrumors newbie

    Joined:
    Feb 9, 2016
    #25
    Ok after spending weekend I got working Windows 10 Pro 64Bit on MacBook2.1. Yes it is little bit tricky but you can install 64Bit version. It works better than Mac OS X 10.7.5.
    At the moment everything works. No issues with sound, fan, and battery yet. To getting sound it was most difficult than rest of things.
    ---
    If you are interested to know more, just ask.
     

Share This Page