Voodooprojects

Chameleon => Bug Reports => Topic started by: Apex on July 28, 2009, 04:31:41 PM

Title: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: Apex on July 28, 2009, 04:31:41 PM
The new options EthernetBuiltIn=yes / GraphicsEnabler=yes do NOT work here, i still have to set the deviceproperty entry manually in com.apple.Boot.plist


Hardware: Mainboard GA-EP45-DS3, NVidia 7600GT Graphics on PCIe, RTL 8139 on PCI Slot.



@ chameleon devs: which logs do you need to track this down? I will add them to the bug report. I added the IOreg output as a start
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: Kabyl on July 31, 2009, 02:37:31 AM
Post the com.apple.Boot.plist you used.
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: Apex on July 31, 2009, 02:42:37 AM
OK:
Code: [Select]
?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>Kernel</key>
<string>mach_kernel</string>

<key>Timeout</key>
<string>7</string>

<key>Default Partition</key>
<string>hd(0,4)</string>

<key>EthernetBuiltIn</key>
<string>yes</string>

<key>GraphicsEnabler</key>
<string>yes</string>

<key>Legacy Logo</key>
<string>yes</string>
</dict>
</plist>
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: BladeRunner on July 31, 2009, 03:47:30 AM
I tried removing my device properties string and adding entries like those in the previous post.  The result was that TimeMachine failed and the graphice were confined to 1280x1024 which is in the plist graphics-mode string.  I also tried the enabler string values as a single leter "y".  That didn't work either.

my graphice card is a GeForce 8400 GS.

Had to go back to the device properties string.
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: derailed on August 01, 2009, 10:16:52 AM
I got the exact same problem. I checked everything over and over again . At the boot menu, hiting the pause button while chameleon just starts loading osx allows me to see that my lan and video card is detected, but in osx the time machine fix does not work and my graphics card is not detected.
Modo : Gigabyte g31m-es2c
videocard : nvidia geforce 8400GS 256mb
OS retail : kexts: Disabeler, Decrypt, Blootooth fix, AppleRTL8169Ethernet.kext, VoodooPS2, VoodooHDA. Pached dsdt, and smbios.plist
I tried installing Chameleon 2 RC2 640 , in efi, fat and standard mode with the same result.
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: Apex on August 02, 2009, 01:26:20 PM
Is there a way to get some debugoutput from chameleon itself while booting? I found no bootoption to do that. I saw a screentshot on the "EFI-X Opensource Alternative" Blog, but i have no idea how to get that debuginfo.
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: zef on August 02, 2009, 11:51:20 PM
Not too sophisticated - yet - but you can try to boot with these switches at the boot prompt:

Code: [Select]
-v Wait=y
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: BladeRunner on August 03, 2009, 12:25:32 AM
I think it would be helpful if a log location key/string could be added to the Boot.plist file.  I understand that it could not work in all environments, but for those where it could, why not.  Something like "boot-log=/var/log/Chameleon" could be used to record some of the early environment as found by the loader.
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: Gringo Vermelho on August 08, 2009, 06:24:27 PM
+1
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: SkipG on August 11, 2009, 06:58:04 PM
The new options EthernetBuiltIn=yes / GraphicsEnabler=yes do NOT work here, i still have to set the deviceproperty entry manually in com.apple.Boot.plist

Same song, but different verse. I upgraded from 10.5.7 to 10.5.8 using RC2 but using the deviceproperty in com.apple.Boot.plist. Afterwards, I changed over to the GraphicsEnabler=Yes option, along with the smbios.plist enhancements, and it worked like a charm (NVidia 8600GT).

I then tried a clean install from retail, with the GraphicsEnabler=Yes option (same com.apple.Boot.plist) as before, and this time it didn't work. Reverted back to the deviceproperty entry, which did work. Then switched to the new com.apple.Boot.plist with the GraphicsEnabler which now worked. I believe this all suggests that the current code (in RC2) depends on <something> which is setup or remembered from the older injection technique.

--skip
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: dr.ummer on August 22, 2009, 12:06:48 PM
Hi,

I have the same problem using almost the same hardware as Apex (EP45-DS3, BIOS Versio: F9, GeForce 7800 GT 256MB). EFI String in Boot.plist works, but using the chameleon option would be much nicer.

My Boot.plist:
Code: [Select]
<?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>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>-v</string>
<key>UHCIreset</key>
<string>n</string>
<key>GUI</key>
<string>n</string>
<key>GraphicsEnabler</key>
<string>y</string>
<key>ForceWake</key>
<string>n</string>
<key>ForceHPET</key>
<string>n</string>
<key>EthernetBuiltIn</key>
<string>n</string>
<key>EHCIacquire</key>
<string>n</string>
</dict>
</plist>

Also the gfx card seems to be recognised, but may be this is because of the patched DSDT (this isn't working either but another story) see the attached pic.

@dev team: It has been a while since I wrote my las C lines, but I'm able to try patches. So if you have something worth trying on my hardware, let me know. BTW: Thanks for the good work!  ;)

regards


 
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: BuildSmart on September 01, 2009, 05:24:09 AM
Seems the GraphicsEnabler option is not working for many.

I'm not sure if it's a variable issue or an incorrect malloc size at fault but I can provide the faulty device-properties string and the location if you have a way to decode it to see where it's going wrong.
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: genzai on September 02, 2009, 03:09:48 PM
Hi Guys,
I can confirm this issue on multiple machines.

At first i did not notice because i was always updating to RC2 from RC1 with existing EFI string graphics. So when moving to RC2 and removing the device properties and replacing it with GraphicsEnaber, everything was working great on those systems. But in the last few days i did a couple of fresh installs and used RC2/GraphicsEnabler from the start and in each case it did not work (system profiler shows as if it were booting without EFI string and no QE/CI).

Then as an experiment on one of the fresh installs i created an EFI string and put it in device properties, booted, all was good now. Then removed the Device porperties and went back to GraphicsEnabler and indeed graphics were still working correctly.

Let me know if there is anything i can do to help chase down whats happening here.
Thanks,
/g
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: BuildSmart on September 11, 2009, 11:28:26 AM
download the source, in device_inject.h find MAX_PCI_DEV_PATHS, change this value to 4, compile with "make clean; make embedtheme", once it's finished compiling, sym/i386/boot is the fixed boot file so replace your existing with it.

The bad thing is that the boot loader uses a faked EFI32 table and it's not exactly what you want to be using if you intend to boot K64 but it does work for the most part but there are issues due to the implementation so things like IOReg Explorer has problems along with other apps.

I did a boot loader for personal use with a faked EFI64 table that works properly but it doesn't have any of the bells and fluff that Chameleon 2.x RCx has but it does work very well for me.

I'm looking into a method to generate either an faked EFI32 or EFI64 table at boot time but not sure if this is really required or any benefits it might provide.
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: BladeRunner on September 11, 2009, 03:35:58 PM
download the source, in device_inject.h find MAX_PCI_DEV_PATHS, change this value to 4, compile with "make clean; make embedtheme", once it's finished compiling, sym/i386/boot is the fixed boot file so replace your existing with it.

The bad thing is that the boot loader uses a faked EFI32 table and it's not exactly what you want to be using if you intend to boot K64 but it does work for the most part but there are issues due to the implementation so things like IOReg Explorer has problems along with other apps.

I did a boot loader for personal use with a faked EFI64 table that works properly but it doesn't have any of the bells and fluff that Chameleon 2.x RCx has but it does work very well for me.

I'm looking into a method to generate either an faked EFI32 or EFI64 table at boot time but not sure if this is really required or any benefits it might provide.

Many thanks for this solution.  I followed your instructions and now the GraphicsEnabler and EthernetBuiltIn options both work on my system.  The graphics card is a 512Mb geForce 8400 GS.  I had been using device properties strings in the Boot.plist file.

One thing I noticed ( there is always one more thing ),  there appears to be some interaction with the USBbusfix option.  I had placed it in the boot.plist to see if it would help/change anything during boot. It didn't appear to have any affect and I forgot about it.  When I installed the new boot file the system would hang just after printing the PCI address for the graphics card.  After I removed the USBBussfix option the system would complete the boot sequence without problem.

Again, thanks for the GraphicsEnabler fix.
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: BuildSmart on September 21, 2009, 04:20:11 PM
I've looked at the USBFix code, good idea, good concept but better implementation required for 64bit mode.

Don't get me wrong, I think zef and the boys/girls have done some great things with this boot loader however the hybrid EFI32 table and DMI/SM corruption forces me to use my own solution.
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: Kabyl on September 21, 2009, 07:12:05 PM
I've looked at the USBFix code, good idea, good concept but better implementation required for 64bit mode.

And what exactly is the relation between the USBFix and 64bit mode?

Quote
Don't get me wrong, I think zef and the boys/girls have done some great things with this boot loader however the hybrid EFI32 table and DMI/SM corruption forces me to use my own solution.

Can you provide more details about this DMI/SM corruption? It would be also nice if you post about your solution.
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: focher on September 27, 2009, 05:56:03 AM
Hi,

I am running into a problem with the GraphicsEnabler code also. Originally, Chameleon RC3 didn't work for me because my PciRoot is 1 and not 0. netkas fixed this with PC_EFI 10.3 and that is the boot file I am using now. I have 3 NVIDIA GTX 280s, and this is what I experience:

1) Single card - detects the card fine at the correct PciRoot and boots to desktop with graphics, but not accelerated. The desktop is using the software renderer.

2) Dual card - detects the cards fine at the correct PciRoot but does not boot to desktop with graphics. I tried the DVI cable to each of the cards, but did not get anything except for white static noise signal when I plugged back into the primary DVI plug on the first card that displayed during boot.

3) Triple card - detects two cards with VRAM of 4095MB and one with 1024MB correctly. Does not boot to desktop with any graphics.

4) I also tried to generate an EFI string by building a plist but get a efi string NULL error from the bootloader when attempting to use the generated EFI string. I used gfxutil in Leopard to generate the EFI string. This was with GraphicsEnabler=n

Attached are:

1) the plist (gtx280-triple.plist) used to generate the EFI string with gfxutil
2) a screen capture of the bootloader showing the 3 detected cards
3) the efi string (3xgtx280.hex) generated and used in the device-properties instead of GraphicsEnabler

Any ideas?
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: Kabyl on September 27, 2009, 07:44:58 AM
Try getting a single card working properly first, then apply the same plist on the other card(s), but with the following property on the primary (boot) card:
Code: [Select]
<key>@0,AAPL,boot-display</key>
<data></data>

Could you also post the device-properties generated by the booter when all 3 cards are used?
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: moofwoogle on October 02, 2009, 05:24:47 PM
Hi, I'm running Chameleon RC3 with vanilla Snow Leopard 10.6.0, and I can't get EthernetBuiltIn to work at all.  When I boot OS X, I get all of the "CFGetHostUUIDString: unable to determine UUID for host. Error: 35", and if I check /Library/Preferences/SystemConfiguration/Networkinterfaces.plist, my ethernet card is not listed as built in.  Consequently I can't get Maya to work because it can't detect my ethernet card.  The only way I've been able to get the error 35 messages to go away at all is by using UUID.kext but that doesn't make my card built in so it doesn't fix my major problems.

I've tried booting using both the 32-bit and 64-bit kernel, deleting Networkinterfaces.plist after I change anything, and have tried what BuildSmart suggested earlier in this thread.  So far, nothing has worked.

Does anyone know what I need to do to get the EthernetBuiltIn=y option to work?  If you need me to post any log or configuration files let me know.


edit: I have a Gigabyte GA-EP45-UD3R motherboard, and it looks like other people with similar motherboards have this same problem.  Been scouring the internet for a solution but haven't found one...
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: moofwoogle on October 03, 2009, 12:31:37 AM
Fixed it!  Installed a second mac-compatible PCI network card, and this one *is* detected as built in.  Everything's working great now without having to use any kexts.
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: Lord Anubis on October 03, 2009, 03:06:33 PM
Moofwoogle, so its not fixed! :-) Also not for me...

The questions stays open for the other users.

BTW. what network card did you insert in your system?
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: focher on October 04, 2009, 01:37:09 PM
Could you also post the device-properties generated by the booter when all 3 cards are used?

Of course would be happy to provide. Question I have is how can I get that information? I assume you mean that Chameleon is generating and injecting the EFI string after it has detected the PciRoot mapping for the card(s), but I don't know how to get the EFI string.

Maybe the same issue, but is there a way yet to generate an EFI string from Snow Leopard? My understanding from aquamac is that gfxutil does not generate the right EFI string in Snow Leopard, even if the plist is correct.
Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: focher on October 05, 2009, 10:11:53 AM
I have now gotten 2 out of 3 GTX 280s working using EFI strings after Kabyl's recommendation to add the extra <key> to the plist. However, once I add a third card it doesn't work. Here are the plists and EFI strings to get the 2 card configuration working. It's also confirmed to be accelerated.

For reference, the two card combination is in the top and bottom slot of the ASUS P5N-T Deluxe board.


Title: Re: Chameleon RC2: automatic EthernetBuiltIn/GraphicsEnabler options do not work
Post by: abend on December 05, 2009, 07:10:11 AM
download the source, in device_inject.h find MAX_PCI_DEV_PATHS, change this value to 4, compile with "make clean; make embedtheme", once it's finished compiling, sym/i386/boot is the fixed boot file so replace your existing with it.

The bad thing is that the boot loader uses a faked EFI32 table and it's not exactly what you want to be using if you intend to boot K64 but it does work for the most part but there are issues due to the implementation so things like IOReg Explorer has problems along with other apps.

I did a boot loader for personal use with a faked EFI64 table that works properly but it doesn't have any of the bells and fluff that Chameleon 2.x RCx has but it does work very well for me.

I'm looking into a method to generate either an faked EFI32 or EFI64 table at boot time but not sure if this is really required or any benefits it might provide.


Thank you, thank you, BuildSmart. This works beautifully, and lets me shed NVenabler from S/L/E.

abend