tattar8 Posted May 21, 2014 Share Posted May 21, 2014 Hey, so my Hackintosh rig (i7 4770, GTX 770, Asus Z87) only boots with proper video if I pass "GraphicsEnabler=No" in Chameleon at boot. For some reason, adding it to org.chameleon.boot.plist does absolutely nothing; I still have to pass the argument for video to display correctly. Am I doing something wrong? I've tried adding "GraphicsEnabler=No" to the kernel arguments section, as well as adding: <key>GraphicsEnabler</key> <string>No</string> or <key>GraphicsEnabler</key> <false/> Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/ Share on other sites More sharing options...
Gringo Vermelho Posted May 21, 2014 Share Posted May 21, 2014 Kepler based nvidia cards and up do not need Graphics Enabler in order to work. In most cases, setting GraphicsEnabler=y makes it worse. (it's GraphicsEnabler=no or GraphicsEnabler=n) Make sure your iGPU (if you have that) is completely disabled in the BIOS. If you have the slightest hint of iGPU enabled, OS X will want it to be the primary GPU, and you will have to make it work before you can use the GTX 770 as well. But then the GTX 770 will be secondary GPU, and only good for CUDA and OpenCL use. Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021332 Share on other sites More sharing options...
tattar8 Posted May 21, 2014 Author Share Posted May 21, 2014 I think you misunderstood -- I'm trying to disable the enabler to begin with. However, unless I expressly pass it in at boot to Chameleon, it ignores the line in the plist and my display doesn't display correctly. I'm trying to make it so I don't have to pass that argument at startup. The BIOS does not have an option to completely disable the iGPU, but I set the default GPU to PCIe. Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021335 Share on other sites More sharing options...
RehabMan Posted May 21, 2014 Share Posted May 21, 2014 I think you misunderstood -- I'm trying to disable the enabler to begin with. However, unless I expressly pass it in at boot to Chameleon, it ignores the line in the plist and my display doesn't display correctly. I'm trying to make it so I don't have to pass that argument at startup. The BIOS does not have an option to completely disable the iGPU, but I set the default GPU to PCIe. GraphicsEnabler is not a kernel flag, it is a boot loader flag. And Chameleon doesn't understand <false/> (that's a Clover config.plist thing). Syntax... <key>GraphicsEnabler</key> <string>No</string> ... is correct. All the others you tried were incorrect. Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021337 Share on other sites More sharing options...
Gringo Vermelho Posted May 21, 2014 Share Posted May 21, 2014 @ tattar ...and...(I understood perfectly what you meant) if you're setting GraphicsEnabler=n and you still get a "weird" display it's probably because setting your primary GPU to PCIE does not disable the iGPU. For some reason OS X requires the iGPU to be primary gpu in a system with discrete GPU and iGPU. Another user I talked to recently solved this issue by removing all references to GFX0 (this is all iGPU code) from his DSDT. My BIOS allows me to completely disable iGPU (I have HD4000) but - I believe because of this DSDT GFX0 device code that I haven't removed - for example HWMonitor still sees my GTX 660 as "GPU 2" and the temp sensor reading in both the Unigine benchmarks is completely off because it wants to show GPU0 - which is disabled. Check for this - run Heaven or Valley or check your HWMonitor GPU reading. If it says GPU 2, try removing all references to GFX0 in your DSDT and see what happens. Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021339 Share on other sites More sharing options...
tattar8 Posted May 22, 2014 Author Share Posted May 22, 2014 Valley doesn't seem to mention anything about GPU2 (and it wouldn't run unless I booted with GraphicsEnabler=No entered at the CHameleon prompt). As for HWMonitor, it's not telling me anything except information about my disks. System Profiler only detects one card. Booting without passing anything at the Chameleon prompt causes System Profiler to identify the card as a "Gigabyte Geforce GTX 770", while booting with GraphicsEnabler=No entered causes it to identify it as "NVIDIA Geforce GTX 770 4095 MB". Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021362 Share on other sites More sharing options...
RehabMan Posted May 22, 2014 Share Posted May 22, 2014 Valley doesn't seem to mention anything about GPU2 (and it wouldn't run unless I booted with GraphicsEnabler=No entered at the CHameleon prompt). As for HWMonitor, it's not telling me anything except information about my disks. System Profiler only detects one card. Booting without passing anything at the Chameleon prompt causes System Profiler to identify the card as a "Gigabyte Geforce GTX 770", while booting with GraphicsEnabler=No entered causes it to identify it as "NVIDIA Geforce GTX 770 4095 MB". Perhaps you should post the contents of your /Extra/org.chameleon.Boot.plist. Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021363 Share on other sites More sharing options...
Gringo Vermelho Posted May 22, 2014 Share Posted May 22, 2014 HWMonitor only shows data from the sensor plugins you have installed with FakeSMC. You need the GPUSensors plugin in order to see data from your...GPU sensors... Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021364 Share on other sites More sharing options...
tattar8 Posted May 22, 2014 Author Share Posted May 22, 2014 <?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>Default Partition</key> <string>hd(2,2)</string> <key>GraphicsEnabler</key> <string>No</string> <key>Kernel</key> <string>mach_kernel</string> <key>Kernel Flags</key> <string>PCIRootUID=0 nvda_drv=1</string> <key>Timeout</key> <string>5</string> <key>UseKernelCache</key> <string>Yes</string> </dict> </plist> EDIT: After installing the FakeSMC plugins, I now have temperature readings for CPU cores 1-4, the CPU package, and the GPU die. No GPU1 or GPU2. Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021366 Share on other sites More sharing options...
Gringo Vermelho Posted May 22, 2014 Share Posted May 22, 2014 PCIRootUID=0 is never necessary as 0 is what Chameleon defaults to when it can't detect the PCIRoot correctly. You only need that flag in the specific case that your PCIRoot is something else than 0 and Chameleon is unable to automatically detect it. I see you don't have EthernetBuiltIn=y, are you using NullEthernet.kext? Apart from that, your Boot.plist looks fine. Just to show you what I meant with HWMonitor.. note that I have one GPU in my PC, my HD4000 IGPU is explicitly disabled in the BIOS. I guess the next thing you can try is removing all the GFX0 code from your DSDT and see if that helps. Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021367 Share on other sites More sharing options...
joe75 Posted May 22, 2014 Share Posted May 22, 2014 GraphicsEnabler=No is also a default so that wouldn't be needed either Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021368 Share on other sites More sharing options...
RehabMan Posted May 22, 2014 Share Posted May 22, 2014 <?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>Default Partition</key> <string>hd(2,2)</string> <key>GraphicsEnabler</key> <string>No</string> <key>Kernel</key> <string>mach_kernel</string> <key>Kernel Flags</key> <string>PCIRootUID=0 nvda_drv=1</string> <key>Timeout</key> <string>5</string> <key>UseKernelCache</key> <string>Yes</string> </dict> </plist> If that is the org.chameleon.Boot.plist you're using, I don't see why you'd have any difference in typing GraphicsEnabler=No at the bootloader. But I suspect... you have something going on with multiple partitions (or maybe misnamed org.chameleon.Boot.plist, or case sensitive file system, or...) where you're not picking up the plist you think you are. Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021369 Share on other sites More sharing options...
tattar8 Posted May 22, 2014 Author Share Posted May 22, 2014 Would that be the case? Chameleon is currently booting from a tiny (1GB) USB SSD plugged into a USB header on the motherboard. Would it be trying to read the config from the Extras/org.chameleon.Boot.plist on the volume I select from the Chameleon prompt, rather than the one on the SSD? EDIT: Just tried to copy the plist from /Volumes/Boot/Extras to /Extras, didn't work. Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021370 Share on other sites More sharing options...
Gringo Vermelho Posted May 22, 2014 Share Posted May 22, 2014 You're making things harder than they need to be. It's not /Extras - it's Extra if it's named "extras" then nothing you place there will have any effect. Either 1. Edit the /Extra/org.chameleon.Boot.plist on the volume you are booting, or 2. Get rid of /Extra on your OS X drive entirely and stick to using the one on your USB booter, or 3. Install Chameleon properly to your OS X harddrive, configure it properly, and stop using the USB booter. Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021378 Share on other sites More sharing options...
cdrhoek Posted May 22, 2014 Share Posted May 22, 2014 I have found that Chameleon Wizard is very helpful when installing Chameleon and editing the boot.plist. It helps to insure that the proper syntax is used. Is it possible for the graphics enabler setting to be put into NVRAM? Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021382 Share on other sites More sharing options...
Gringo Vermelho Posted May 22, 2014 Share Posted May 22, 2014 He already used Chameleon Wizard, hence the redundant PCIRootUID=0 flag.. Chameleon Wizard is outdated and has no support for many Chameleon configuration settings. The author has stated that he can't be bothered. Yes it's possible that GraphicsEnabler=y could be remembered by the NVRAM module (there is a bug in Chameleon or in the module where it keeps anything you typed on the boot command line until you wipe the nvram) but he isn't using the nvram module. If he was he would have no reason to specify nvda_drv=1 in his kernel flags string. Besides, he is booting with no theme, at least according to his Boot.plist. That means he can see what's on the command line on each boot. So he would probably have noticed if it said GraphicsEnabler=y while he was typing GraphicsEnabler=n.... lol Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021386 Share on other sites More sharing options...
tattar8 Posted May 22, 2014 Author Share Posted May 22, 2014 Does Chameleon ever print what flags it loads from the plist at boot? Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021389 Share on other sites More sharing options...
Gringo Vermelho Posted May 22, 2014 Share Posted May 22, 2014 Unless your syntax is wrong or the Boot.plist is somehow broken or corrupted, all flags in it "load". To see exactly what Chameleon is doing before OS X starts booting, add <key>wait</key> <string>y</string> to your Boot.plist. Or get bdmesg (compiles with Chameleon) and copy it to /usr/bin Then enter bdmesg in terminal.app after booting. Link to comment https://www.insanelymac.com/forum/topic/298176-chameleon-ignoring-graphicsenabler/#findComment-2021396 Share on other sites More sharing options...
Recommended Posts