Index: trunk/i386/libsaio/nvidia.c =================================================================== --- trunk/i386/libsaio/nvidia.c (revision 1949) +++ trunk/i386/libsaio/nvidia.c (revision 1950) @@ -1667,24 +1667,29 @@ devprop_add_nvidia_template(device); devprop_add_value(device, "NVCAP", default_NVCAP, NVCAP_LEN); - devprop_add_value(device, "NVPM", default_NVPM, NVPM_LEN); + devprop_add_value(device, "NVPM", default_NVPM, NVPM_LEN); devprop_add_value(device, "VRAM,totalsize", (uint8_t*)&videoRam, 4); devprop_add_value(device, "model", (uint8_t*)model, strlen(model) + 1); devprop_add_value(device, "rom-revision", (uint8_t*)biosVersion, strlen(biosVersion) + 1); devprop_add_value(device, "@0,display-cfg", default_dcfg_0, DCFG0_LEN); devprop_add_value(device, "@1,display-cfg", default_dcfg_1, DCFG1_LEN); - //add HDMI Audio back to nvidia - //http://forge.voodooprojects.org/p/chameleon/issues/67/ -// uint8_t connector_type_1[]= {0x00, 0x08, 0x00, 0x00}; -// devprop_add_value(device, "@1,connector-type",connector_type_1, 4); - //end Nvidia HDMI Audio - + if (getBoolForKey(kVBIOS, &doit, &bootInfo->chameleonConfig) && doit) { devprop_add_value(device, "vbios", rom, (nvBiosOveride > 0) ? nvBiosOveride : (rom[2] * 512)); } + //add HDMI Audio back to nvidia + doit = false; + //http://forge.voodooprojects.org/p/chameleon/issues/67/ + if(getBoolForKey(kEnableHDMIAudio, &doit, &bootInfo->chameleonConfig) && doit){ + uint8_t connector_type_1[]= {0x00, 0x08, 0x00, 0x00}; + devprop_add_value(device, "@1,connector-type",connector_type_1, 4); + } + //end Nvidia HDMI Audio + + stringdata = malloc(sizeof(uint8_t) * string->length); memcpy(stringdata, (uint8_t*)devprop_generate_string(string), string->length); stringlength = string->length; Index: trunk/i386/boot2/boot.h =================================================================== --- trunk/i386/boot2/boot.h (revision 1949) +++ trunk/i386/boot2/boot.h (revision 1950) @@ -118,6 +118,7 @@ #define kEthernetBuiltIn "EthernetBuiltIn" /* pci_setup.c */ #define kGraphicsEnabler "GraphicsEnabler" /* pci_setup.c */ +#define kEnableHDMIAudio "EnableHDMIAudio" /*ati.c && nvidia.c */ #define kForceHPET "ForceHPET" /* pci_setup.c */ #define kMD0Image "md0" /* ramdisk.h */ Index: trunk/doc/BootHelp.txt =================================================================== --- trunk/doc/BootHelp.txt (revision 1949) +++ trunk/doc/BootHelp.txt (revision 1950) @@ -85,6 +85,7 @@ VBIOS=Yes|No Inject NVIDIA VBIOS into device-properties. display_0= Inject alternate value of display-cfg into NVDA,Display-A@0 (HEX). display_1= Inject alternate value of display-cfg into NVDA,Display-B@1 (HEX). + EnableHDMIAudio=Yes Inject HDMI audio for NVIDIA EthernetBuiltIn=Yes|No Automatic "built-in"=yes device-properties generation for ethernet interfaces.