Posts: 472
Threads: 1
Joined: Sep 2012
Reputation:
38
Oh wow I'm stupid. I forgot to include Windows 8 in Media Button initializer As soon as you press Support Center button ACPI.sys BSODS.
A workaround if the following:
Code: Device (MBT)
{
Name (_HID, EisaId ("PNP0C32")) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (LAnd (LGreaterEqual(OSYS, 0x07D6), LLessEqual (OSYS, 0x07DC))) // covers windows 2006,2009,2012
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (GHID, 0, NotSerialized)
{
Return (Buffer (One)
{
0x02
})
}
}
The _CST part I was talking about is the following:
Code: Name (C1LH, Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
One,
One,
0x03E8
})
Dell had it 0x00 for width and offset for this C1 state.
Posts: 81
Threads: 1
Joined: Apr 2012
Reputation:
9
02-12-2013, 06:16 PM
(This post was last modified: 02-12-2013, 06:57 PM by HairyCube.)
I got BIOS_ACPI_ERROR BSOD after flashing DSDT and PmRef with these modifications... Not sure which one caused it, will try with each module separate now.
Yeah, it's the MBT fix. Windows just BSODs with it.
The CST hack worked fine, but any insights on how to modify CPU voltage?
EDIT: Just read the XPS thread... Will try playing with this stuff
Posts: 472
Threads: 1
Joined: Sep 2012
Reputation:
38
(02-12-2013, 06:16 PM)HairyCube Wrote: I got BIOS_ACPI_ERROR BSOD after flashing DSDT and PmRef with these modifications... Not sure which one caused it, will try with each module separate now.
Yeah, it's the MBT fix. Windows just BSODs with it.
Then just change it to win 7 and 8. Worked for me.
If (LOr (LEqual(OSYS, 0x07D9), LEqual (OSYS, 0x07DC)))
Posts: 81
Threads: 1
Joined: Apr 2012
Reputation:
9
02-12-2013, 07:50 PM
(This post was last modified: 02-12-2013, 07:53 PM by HairyCube.)
I tried to modify CPU0Ist, but after flashing it resets to defaults. This table seems to be generated at startup, and there's probably no way to alter it unless you force Windows to use a modified SSDT table, which is unlikely to be possible.
Here is my Cpu0Ist table (it is different from the one in the BIOS image, which probably serves as a template):
Code: /*
* Intel ACPI Component Architecture
* AML Disassembler version 20120420-32 [Apr 20 2012]
* Copyright (c) 2000 - 2012 Intel Corporation
*
* Disassembly of dump, Wed Feb 13 09:46:19 2013
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000804 (2052)
* Revision 0x01
* Checksum 0x7D
* OEM ID "PmRef"
* OEM Table ID "Cpu0Ist"
* OEM Revision 0x00003000 (12288)
* Compiler ID "INTL"
* Compiler Version 0x20120420 (538051616)
*/
DefinitionBlock ("dump.aml", "SSDT", 1, "PmRef", "Cpu0Ist", 0x00003000)
{
External (TCNT, IntObj)
External (NPSS, IntObj)
External (PDC0)
External (CFGD)
External (\_PR_.CPU0, DeviceObj)
Scope (\_PR.CPU0)
{
Name (_PPC, Zero)
Method (_PCT, 0, NotSerialized)
{
If (LAnd (And (CFGD, One), And (PDC0, One)))
{
Return (Package (0x02)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
}
})
}
Return (Package (0x02)
{
ResourceTemplate ()
{
Register (SystemIO,
0x10, // Bit Width
0x00, // Bit Offset
0x0000000000001004, // Address
,)
},
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000000000B3, // Address
,)
}
})
}
Method (XPSS, 0, NotSerialized)
{
If (And (PDC0, One))
{
Return (NPSS)
}
Return (SPSS)
}
Name (SPSS, Package (0x0A)
{
Package (0x06)
{
0x00000A8D,
0x000088B8, // Tried to change this (and all 88B8) to 0x000061A8 to no avail
0x0000006E,
0x0000000A,
0x00000083,
0x00000000
},
Package (0x06)
{
0x00000A8C,
0x000088B8,
0x0000006E,
0x0000000A,
0x00000183,
0x00000001
},
Package (0x06)
{
0x00000898,
0x00006885,
0x0000006E,
0x0000000A,
0x00000283,
0x00000002
},
Package (0x06)
{
0x000007D0,
0x00005D47,
0x0000006E,
0x0000000A,
0x00000383,
0x00000003
},
Package (0x06)
{
0x00000708,
0x0000513B,
0x0000006E,
0x0000000A,
0x00000483,
0x00000004
},
Package (0x06)
{
0x00000640,
0x000046E5,
0x0000006E,
0x0000000A,
0x00000583,
0x00000005
},
Package (0x06)
{
0x00000578,
0x00003BCD,
0x0000006E,
0x0000000A,
0x00000683,
0x00000006
},
Package (0x06)
{
0x000004B0,
0x00003254,
0x0000006E,
0x0000000A,
0x00000783,
0x00000007
},
Package (0x06)
{
0x000003E8,
0x00002948,
0x0000006E,
0x0000000A,
0x00000883,
0x00000008
},
Package (0x06)
{
0x00000320,
0x00001F8B,
0x0000006E,
0x0000000A,
0x00000983,
0x00000009
}
})
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Name (_PSS, Package (0x0A)
{
Package (0x06)
{
0x00000A8D,
0x000088B8,
0x0000000A,
0x0000000A,
0x00002200,
0x00002200
},
Package (0x06)
{
0x00000A8C,
0x000088B8,
0x0000000A,
0x0000000A,
0x00001B00,
0x00001B00
},
Package (0x06)
{
0x00000898,
0x00006885,
0x0000000A,
0x0000000A,
0x00001600,
0x00001600
},
Package (0x06)
{
0x000007D0,
0x00005D47,
0x0000000A,
0x0000000A,
0x00001400,
0x00001400
},
Package (0x06)
{
0x00000708,
0x0000513B,
0x0000000A,
0x0000000A,
0x00001200,
0x00001200
},
Package (0x06)
{
0x00000640,
0x000046E5,
0x0000000A,
0x0000000A,
0x00001000,
0x00001000
},
Package (0x06)
{
0x00000578,
0x00003BCD,
0x0000000A,
0x0000000A,
0x00000E00,
0x00000E00
},
Package (0x06)
{
0x000004B0,
0x00003254,
0x0000000A,
0x0000000A,
0x00000C00,
0x00000C00
},
Package (0x06)
{
0x000003E8,
0x00002948,
0x0000000A,
0x0000000A,
0x00000A00,
0x00000A00
},
Package (0x06)
{
0x00000320,
0x00001F8B,
0x0000000A,
0x0000000A,
0x00000800,
0x00000800
}
})
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}
Name (PSDF, Zero)
Method (_PSD, 0, NotSerialized)
{
If (LNot (PSDF))
{
Store (TCNT, Index (DerefOf (Index (HPSD, Zero)), 0x04))
Store (TCNT, Index (DerefOf (Index (SPSD, Zero)), 0x04))
Store (Ones, PSDF)
}
If (And (PDC0, 0x0800))
{
Return (HPSD)
}
Return (SPSD)
}
Name (HPSD, Package (0x01)
{
Package (0x05)
{
0x05,
Zero,
Zero,
0xFE,
0x80
}
})
Name (SPSD, Package (0x01)
{
Package (0x05)
{
0x05,
Zero,
Zero,
0xFC,
0x80
}
})
}
}
Posts: 81
Threads: 1
Joined: Apr 2012
Reputation:
9
Hey TW, I found ACPI dumps from Mac Mini 2011 which uses the same Intel GMA 3000+Radeon 6630M configuration, but the Intel GPU is disabled. Could you please have a look at it when you have time?
http://tdev.me/wp-content/uploads/2011/0...2-ACPI.zip
GFX0 description in DSDT is very similar to what I found in Vostro's AmdRef table... So maybe there is a way to force Radeon as the primary GPU after all?
Posts: 472
Threads: 1
Joined: Sep 2012
Reputation:
38
(02-12-2013, 09:50 PM)HairyCube Wrote: Hey TW, I found ACPI dumps from Mac Mini 2011 which uses the same Intel GMA 3000+Radeon 6630M configuration, but the Intel GPU is disabled. Could you please have a look at it when you have time?
http://tdev.me/wp-content/uploads/2011/0...2-ACPI.zip
GFX0 description in DSDT is very similar to what I found in Vostro's AmdRef table... So maybe there is a way to force Radeon as the primary GPU after all?
Apple uses SMC chip to switch between graphics cores, even though acpi may look identical, the switching is done from the chip. While on Vostro and the rest of SG machines that switching is done by ec polls and queries. I highly doubt macmini has igpu disables coz it would be [censored] hot for a machine that small to constantly run on amd core.
Posts: 81
Threads: 1
Joined: Apr 2012
Reputation:
9
02-15-2013, 04:37 AM
(This post was last modified: 02-17-2013, 01:51 AM by HairyCube.)
Okay.. Some more news:
I managed to transplant Radeon 6650M VBIOS to Vostro's 6630M. I extracted the VBIOS file from ACER 7750G BIOS, edited it to make sure the voltages and clocks corresponded to those of 6630M, and flashed it. Everything worked fine (except that the card ran too hot without any performance boost). I then tried 6650M VBIOS from Packard Bell EasyNote LS11, which has switchable graphics disabled. It flashed fine and switching also worked.
This, along with some experiments on Windows 7, has led me to believe the following:
1. AMD Switchable graphics do NOT depend on AMD or Intel VBIOS.
2. Aero lag at Windows 7 startup in fixed mode is not specific to 6630M. It probably happens on the majority of PX4.0-enabled laptops that support fixed mode.
Update: disregard what I said earlier about PX and non-PX VBIOS. It seems to be totally unrelated as I was able to flash 6650M VBIOS extracted from a laptop that doesn't even have switchable graphics.
Posts: 8
Threads: 0
Joined: Jan 2013
Reputation:
0
oh, exciting! Can u share the BIOS includes the AMD VBIOS? Really want to test! In UEFI, windows can't hibernate so the fast start is useless. Weird.
Posts: 81
Threads: 1
Joined: Apr 2012
Reputation:
9
I can, but are you sure you want it? It literally brings no benefit whatsoever. Undervolt doesn't seem to be working either - I tried 6630M VBIOS with different voltages, and it had zero effect. 6650M VBIOS just makes the card run much hotter, but there is no performance increase. It's weird because it runs almost 20 degrees hotter. Maybe temperature sensor readings get screwed up with a different VBIOS. It also unlocks "Fan control" in MSI Afterburner, which, of course, doesn't work because the card doesn't have its own fan.
Regarding UEFI... I remember TimeWalker mentioned that the latest version of Intel Management Engine driver caused problems with hibernation. Are you using version 8? Try downgrading it to version 7.
Posts: 8
Threads: 0
Joined: Jan 2013
Reputation:
0
So then, might be the VBIOS doesn't underclock automatically like the ATI 550v in Dell Ins 5010. I used to use the ATI Tray tools to control it but up to this version of AMD, it can't work, so bad! My version of IME is still 7, I have no way to upgrade to 8 after all. The Touchpad driver I used the version A02 from Ins 5423 it made FN + F3 work and then upgrading to the newest driver version from Synaptics, everything is ok!
|