InfiniteMac OSx86

InfiniteMac OSx86 (http://infinitemac.com/forum.php)
-   10.X (http://infinitemac.com/forumdisplay.php?f=36)
-   -   Nvidia ION and ALC662 Installation on Snow Leopard (http://infinitemac.com/showthread.php?t=5446)

jorgozlav 02-06-2010 09:45 PM

Nvidia ION and ALC662 Installation on Snow Leopard
 
Hello,
i´ve installed OS X 10.6 with Empire EFI 1085.
My Computer:
Mainboard: Zotac ION ITX A
Graphics: Nvidia ION (GeForce 9400)
Sound: Realtek ALC662

The Problems:

Graphics are ok, but it could be better.
I´ve installed EFI String for Nvidia.
Now the resultion is perfect (1680x1050), and everything´s a bit faster than before.
Fullscreen videos (safari and firefox, but also quicktime, low quality, should be no problem for 9400) are stumbling
How can I improve fullscreen performance?

Sound works with VoodooHDA, but crackling, especially in fullscreen videos. The Crackle Fix has no effect.
How can I solve this problem?

Add:
Is it possible, that the mainboard will have improved support in the near future?
Who would be responsible for this? Empire EFI? Chameleon?
Is there a fast movement in development?
Is there a list or something like that for hardware support wishes?

shoarthing 03-16-2010 10:43 AM

Hi - there's a fully functional solution for the ALC662, it uses a kext I hacked plus a dsdt edit. I use S/PDIF & analog outputs.

Graphics works best [for me] using Chameleon's GraphicsEnabler plus a dsdt edit plus having the extracted ION VGA ROM in root & referenced by Chameleon.

Suggest you boot from a modern Linux BootCD & at a terminal type:

Quote:

cat /proc/acpi/dsdt > ~/Desktop/dsdt.aml
. . . copy this dsdt.aml to a USB stick & attach it to a post here.

When I have a spare moment I'll look through your dsdt, edit where required, & post it back plus the kext for sound & the VGA ROM

qwong77 05-20-2010 10:00 PM

DSDT for POV (Pegatron) ION
 
1 Attachment(s)
Hi shoarthing,

read some of your posts here and on InsanelyMac. Have the same issue as jorgozlav with the ALC662 and hope you could patch the attached dsdt.aml.
Tried to figure it our myself by looking at a patched dsdt from a Gigabyte board, but doesn't appear to work for me.

Dreamwatcher 05-26-2010 10:54 AM

1 Attachment(s)
1. DSDT insert to HDEF section
Code:

                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x0A)
                        {
                            "built-in",
                            Buffer (One)
                            {
                                0x00
                            },

                            "codec-id",
                            Buffer (0x04)
                            {
                                0x62, 0x06, 0xEC, 0x10
                            },

                            "layout-id",
                            Buffer (0x04)
                            {
                                0x96, 0x02, 0x00, 0x00
                            },

                            "device-type",
                            Buffer (0x0F)
                            {
                                "Realtek ALC662"
                            },

                            "PinConfigurations",
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

2. install LegacyALC662.kext to /Extra/Extensions

10.6.3 is require below.

3. patch AppleHDA.kext of ALC662 codec-id(0x10ec 0x0662)
sudo perl -pi -e 's|\x85\x08\xec\x10|\x62\x06\xec\x10|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA

qwong77 05-27-2010 05:31 PM

Working, additional tips
 
Thanks, was able to get it to work based on the 3 main points posted.

Some additional details for those who may read this in the future:

1. iASL (I used iASLMe_32Bit_28_04_2010) which decompiles dsdt.aml to dsdt.dsl produces some pretty buggy code. When re-compiling its own code without changes, it produces these errors:

a. "Invalid combination of Length and Min/Max fixed flags"
Solution: formula for length is Max-Min+1

b. "found ZERO, requires Buffer"
Solution: the original code says this:


Code:

Method (_CRS, 0, NotSerialized)
            {
                If (OSFL ())
                {
                        Return (Zero)
                }
                Else
                {
                    Return (LCRO (^^PCI0.IMAP.PR0E))
                }
            }

Modify by storing a ZERO in the referenced variable/buffer(???), then return it:

Code:

Method (_CRS, 0, NotSerialized)
            {
                If (OSFL ())
                {
   
                        Store (Zero, ^^PCI0.IMAP.PR0E)               
                        Return (LCRO (^^PCI0.IMAP.PR0E))
                }
                Else
                {
                    Return (LCRO (^^PCI0.IMAP.PR0E))
                }
            }

2. Following Method was missing from my .dsl file which is called from Dreamwatcher's first step



Code:

Method (DTGP, 5, NotSerialized)
        {
            If (LEqual (Arg0, Buffer (0x10)
                {
                /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
                /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                }))
 
                {
                    If (LEqual (Arg1, One))
                        {
                        If (LEqual (Arg2, Zero))
                            {
                            Store (Buffer (One)
                            {
                            0x03
                            }, Arg4)
                            Return (One)
                            }
 
                        If (LEqual (Arg2, One))
                            {
                            Return (One)
                            }
                        }
                }
 
            Store (Buffer (One)
            {
            0x00
            }, Arg4)
            Return (Zero)
        }

3. Replaced instances of "HDAC" with "HDEF" (2 places)