Jump to content

Flash and quicktime causes system freeze - Mavericks


Zackptg5

Recommended Posts

**BIG Update**

 

Upon further research, some people tried changing their smbios. I had mine as the MacBookPro 10,1 because it had the same processor as mine. However, upon changing my smbios to iMac 13,2 (which had a nearly identical graphics card as mine), youtube worked fine. In my laptop, the intel graphics are completely disabled and disconnected by the manufacturer so only nvidia graphics are present. Perhaps with the macbook smbios, osx was looking for the intel graphics and was unable to find them causing the freeze. This still leaves some questions such as: why does it MacBook Pro smbios work in ml but not in mav? Any answers to this would be appreciated.

 

*Edit* 

 

I've since edited AGPM by adding my gpu to the mbp machine and used the data from the 675mx as it had the closest clock speeds to my 670m. Flash and quicktime videos now work with the mbp 10,1 smbios however it's stuck at one speed (I believe max power settings). On the bright side, I've gotten OpenGL Extensions Viewer fps around 1600 but maxing out the gpu is sure to shorten its lifespan.

In ML, the gpu core is stuck at around a low setting of 50mhz (and I didn't change anything, it just works though not to great benchmarks).

In Mav, the gpu core is stuck at around a high setting of 620mhz after I changed AGPM. 

 

Also, despite having logging on, there's no log in the console of any changes.

 

How can I fix this?

 

Here's my the original AGPM for MBP10,1:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>GFX0</key>
<dict>
<key>BoostPState</key>
<array>
<integer>6</integer>
<integer>13</integer>
<integer>13</integer>
<integer>6</integer>
</array>
<key>BoostTime</key>
<array>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
</array>
<key>Heuristic</key>
<dict>
<key>EnableEnergyPstate</key>
<integer>1</integer>
<key>EnergyPstate</key>
<integer>5</integer>
<key>ID</key>
<integer>4</integer>
</dict>
<key>control-id</key>
<integer>17</integer>
</dict>
<key>IGPU</key>
<dict>
<key>Heuristic</key>
<dict>
<key>EnableOverride</key>
<integer>0</integer>
<key>ID</key>
<integer>2</integer>
</dict>
<key>control-id</key>
<integer>16</integer>
</dict>
</dict>
</plist>

And here's mine now:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>GFX0</key>
<dict>
<key>Heuristic</key>
<dict>
<key>ID</key>
<integer>4</integer>
</dict>
<key>control-id</key>
<integer>17</integer>
</dict>
<key>IGPU</key>
<dict>
<key>Heuristic</key>
<dict>
<key>EnableOverride</key>
<integer>0</integer>
<key>ID</key>
<integer>2</integer>
</dict>
<key>control-id</key>
<integer>16</integer>
</dict>
<key>LogControl</key>
<integer>1</integer>
<key>default-control-id</key>
<integer>17</integer>
<key>Vendor10deDevice1213</key>
<dict>
<key>BoostPState</key>
<array>
<string>12</string>
<string>12</string>
<string>12</string>
<string>12</string>
</array>
<key>BoostTime</key>
<array>
<string>1</string>
<string>1</string>
<string>1</string>
<string>1</string>
</array>
<key>Heuristic</key>
<dict>
<key>EnableEnergyPstate</key>
<integer>1</integer>
<key>EnergyDOWNThreshold</key>
<integer>60</integer>
<key>EnergyPstate</key>
<integer>5</integer>
<key>EnergyUPThreshold</key>
<integer>80</integer>
<key>EngineDOWNThreshold</key>
<integer>15</integer>
<key>EngineUPThreshold</key>
<integer>30</integer>
<key>ID</key>
<integer>0</integer>
<key>MemDOWNThreshold</key>
<integer>30</integer>
<key>MemUPThreshold</key>
<integer>50</integer>
<key>MinP0P1</key>
<integer>11</integer>
<key>MinP5</key>
<integer>12</integer>
<key>MinP8</key>
<integer>13</integer>
<key>MinVP0</key>
<integer>11</integer>
<key>MinVP1</key>
<integer>23</integer>
<key>MinVP5</key>
<integer>34</integer>
<key>MinVP8</key>
<integer>36</integer>
<key>NumOfPstates</key>
<integer>14</integer>
<key>NumOfVPstates</key>
<integer>37</integer>
<key>P0Table</key>
<array>
<integer>0</integer>
<integer>1</integer>
<integer>2</integer>
<integer>3</integer>
<integer>4</integer>
<integer>5</integer>
<integer>6</integer>
<integer>7</integer>
<integer>8</integer>
<integer>9</integer>
<integer>10</integer>
<integer>11</integer>
<integer>34</integer>
<integer>36</integer>
</array>
<key>P1Table</key>
<array>
<integer>12</integer>
<integer>13</integer>
<integer>14</integer>
<integer>15</integer>
<integer>16</integer>
<integer>17</integer>
<integer>18</integer>
<integer>19</integer>
<integer>20</integer>
<integer>21</integer>
<integer>22</integer>
<integer>23</integer>
<integer>34</integer>
<integer>36</integer>
</array>
</dict>
<key>control-id</key>
<integer>17</integer>
</dict>
</dict>
</plist>
Link to comment
Share on other sites

  • Administrators

'ever read this and/or this?

 

Kozlek tends to bring out new versions of FakeSMC/HWMonitor every week so the versions mentioned in article and thread are now totally outdated, but principle remains the same with recent FakeSMC versions and I can confirm that you'd obtain similar results with say versions 6.0.10xx for instance.

http://sourceforge.net/projects/hwsensors/

Link to comment
Share on other sites

  • Administrators

Tuning SMBIOS plist is not sufficient, tuning FakeSMC goes with it. You need to look at the model that resembles your own system the most closely (CPU & GPU), then look up for the associated SMC Compatible value on the Net. But it's basically directly linked with your CPU model and I don't know what you have (smc-napa for FSB533/667 Merom, smc-mcp for FSB800 Merom/Penryn for instance, etc.)... I've no ready-made answer, you need to research this and experiment before you find the right settings. That's how we worked things out ourselves on Latitude D Series. Trial and failure, that's Hackintoshing!

 

We've only used and referred to Kozlek's branch, haven't we? Use the above link.

Link to comment
Share on other sites

I think I'm getting close to solving this problem. I've been editing AGPM for my smbios (MBP 10,1) but the gpu is always at its highest pstate and this message keeps repeating in the console:

2/12/14 4:20:36.000 PM kernel[0]: AGPM: updateGPUHwPstate(): state = 0. Calling fFB->setAggressiveness()...
2/12/14 4:20:36.000 PM kernel[0]: AGPM: GPU = GFX0 G-state set to 0 from 0, ControlID = 17. SW occupancy updated.
 
*Edit* it appears that whenever I unplug my laptop to force it into battery mode, the frequencies drop to a much lower speed. This may just need some fine tuning. I copied the data from the nearest card, the 675mx which is a bit faster than mine. Also, it's a kepler while mine's a fermi so I changed the Heuristic ID from 4 to 0 in both the card edit and the GFX0. Here's what I have so far:
<key>Mac-C3EC7CD22292981F</key>
<dict>
<key>GFX0</key>
<dict>
<key>Heuristic</key>
<dict>
<key>ID</key>
<integer>0</integer>
</dict>
<key>control-id</key>
<integer>17</integer>
</dict>
<key>LogControl</key>
<integer>1</integer>
<key>Vendor10deDevice1213</key>
<dict>
<key>BoostPState</key>
<array>
<integer>0</integer>
<integer>1</integer>
<integer>2</integer>
<integer>3</integer>
</array>
<key>BoostTime</key>
<array>
<integer>3</integer>
<integer>3</integer>
<integer>3</integer>
<integer>3</integer>
</array>
<key>Heuristic</key>
<dict>
<key>EnableEnergyPstate</key>
<integer>1</integer>
<key>EnergyDOWNThreshold</key>
<integer>60</integer>
<key>EnergyPstate</key>
<integer>5</integer>
<key>EnergyUPThreshold</key>
<integer>80</integer>
<key>EngineDOWNThreshold</key>
<integer>15</integer>
<key>EngineUPThreshold</key>
<integer>30</integer>
<key>ID</key>
<integer>0</integer>
<key>MemDOWNThreshold</key>
<integer>30</integer>
<key>MemUPThreshold</key>
<integer>50</integer>
<key>MinP0P1</key>
<integer>11</integer>
<key>MinP5</key>
<integer>12</integer>
<key>MinP8</key>
<integer>13</integer>
<key>MinVP0</key>
<integer>11</integer>
<key>MinVP1</key>
<integer>23</integer>
<key>MinVP5</key>
<integer>34</integer>
<key>MinVP8</key>
<integer>36</integer>
<key>NumOfPstates</key>
<integer>14</integer>
<key>NumOfVPstates</key>
<integer>37</integer>
<key>P0Table</key>
<array>
<integer>0</integer>
<integer>1</integer>
<integer>2</integer>
<integer>3</integer>
<integer>4</integer>
<integer>5</integer>
<integer>6</integer>
<integer>7</integer>
<integer>8</integer>
<integer>9</integer>
<integer>10</integer>
<integer>11</integer>
<integer>34</integer>
<integer>36</integer>
</array>
<key>P1Table</key>
<array>
<integer>12</integer>
<integer>13</integer>
<integer>14</integer>
<integer>15</integer>
<integer>16</integer>
<integer>17</integer>
<integer>18</integer>
<integer>19</integer>
<integer>20</integer>
<integer>21</integer>
<integer>22</integer>
<integer>23</integer>
<integer>34</integer>
<integer>36</integer>
</array>
</dict>
<key>control-id</key>
<integer>17</integer>
</dict>
<key>default-control-id</key>
<integer>17</integer>
</dict>

I've googled this many times but everyone's always used the legacy kext and I don't think it'll work for this case. If anyone knows what any of this means please let me know as this needs tweaking

Link to comment
Share on other sites

***Edit***

Scratch the last post. The newer stuff listed there is for kepler cards and mine is a fermi card. So I can still use the old method. Here's what I have so far:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>GFX0</key>
<dict>
<key>Heuristic</key>
<dict>
<key>ID</key>
<integer>0</integer>
</dict>
<key>control-id</key>
<integer>17</integer>
</dict>
<key>IGPU</key>
<dict>
<key>Heuristic</key>
<dict>
<key>EnableOverrise</key>
<integer>0</integer>
<key>ID</key>
<integer>2</integer>
</dict>
<key>control-id</key>
<integer>16</integer>
</dict>
<key>LogControl</key>
<integer>0</integer>
<key>Vendor10deDevice1213</key>
<dict>
<key>BoostPState</key>
<array>
<integer>0</integer>
<integer>1</integer>
<integer>2</integer>
<integer>3</integer>
</array>
<key>BoostTime</key>
<array>
<integer>3</integer>
<integer>3</integer>
<integer>3</integer>
<integer>3</integer>
</array>
<key>control-id</key>
<integer>17</integer>
<key>Heuristic</key>
<dict>
<key>ID</key>
<integer>0</integer>
<key>IdleInterval</key>
<integer>250</integer>
<key>SensorOption</key>
<integer>1</integer>
<key>SensorSampleRate</key>
<integer>4</integer>
<key>TargetCount</key>
<integer>1</integer>
<key>Threshold_High</key>
<array>
<string>57</string>
<string>65</string>
<string>82</string>
<string>100</string>
</array>
<key>Threshold_Low</key>
<array>
<string>0</string>
<string>68</string>
<string>75</string>
<string>95</string>
</array>
</dict>
</dict>
<key>default-control-id</key>
<integer>17</integer>
</dict>
</plist>
 
I actually get graphics power management now and it switches between all 4 states however, it goes through an endless cycle of lowest->highest->high mid->lowmid->lowest. I've edited the thresholds many times but it still repeats the behavior. Anyone know why?
 
Also, the iMac smbios works well for flash but both MBP and Mac mini do not. Not sure of why though. Also, graphics power management works natively with mac mini and iMac smbioses. So for now, I'm just going to stick with the iMac smbios until this can be resolved. 
Link to comment
Share on other sites

I believe the freezing issue is indeed related to the mavericks graphics drivers but there's not much I can do about it. However, 10.9.2 update looks promising as apple's releasing tons of graphics drivers updates due to many users having OpenGL issues like me: http://www.tapscape.com/mavericks-update-angst-os-1092-ready/

Maybe this update will fix it

 

Mods, can u delete my last 2 posts?

Link to comment
Share on other sites

Installed 10.9.2 and the results were disappointing. The update seemed to have no effect on the problem as I get the following errors:

 
2/25/14 10:29:05.000 PM kernel[0]: NVDA(Video): Channel exception! Exception type = 0x1f Access Violation Error (MMU Error 2)
2/25/14 10:29:05.000 PM kernel[0]: NVDA(OpenGL): Channel exception! Exception type = 0x1f Access Violation Error (MMU Error 2)
 
and then the first error repeats itself endlessly
Link to comment
Share on other sites

I've tried the MBP 10,1 smbios on my other rig which has an AMD graphics card and flash videos worked fine. So this problem may be limited to fermi graphics cards

 

*Edit* In my mountain lion install, flash and stuff works fine, but when I switch to the nvidia web drivers, I get the error again. The problem is with the nvidia drivers

Link to comment
Share on other sites

×
×
  • Create New...