Mac OS X on x86 Hardware 2008–2024 Technical Archive
InfiniteMac OSx86 › Snow Leopard 10.6 › nvidia 8xxx mouse & system lag - a new bug
5,573 reads · 2009-12-05 – 2009-12-11
Report Snow Leopard 10.6 NVIDIA GeForce

nvidia 8xxx mouse & system lag - a new bug

if I enable my 8500gt 512mb I get system + mouse lag I've tried: efi with efistudio from leopard graphicsenabler=yes nvenabler from osx86project natit removing appleupstreamuser and rebuilding extensions.mkext disabling appleupstreamuser…

Primary Author
@spalek83 Published 2009-12-05
Collection
Snow Leopard 10.6
Archival Footprint
5,573 historical reads · 5 curated field notes (from 9 dispatches) · 2009-12-05 – 2009-12-11
Credited Voices (4)
@spalek83 (4)@milanca (3)@scififan68@catevs

if I enable my 8500gt 512mb I get system + mouse lag

I've tried:
efi with efistudio from leopard
graphicsenabler=yes
nvenabler from osx86project
natit
removing appleupstreamuser and rebuilding extensions.mkext
disabling appleupstreamuser
booting with cpus=1
disable cool and quiet
tried voodootscsync though it is build only for core2duo

none of them fix the issue. the bug happens with a logitech mouse, bluetooth mouse, and apple mighty mouse

no matter what I try, the bug is there.

this issue happens in leopard as well, with the only fix of removing Geforce* and NVDA* kexts from /S/L/E and installing nvidia kexts with 9f9installer.pkg. This dosn't work with Snow Leopard as these kexts cause it not to boot. that leopard fix can be read about here →.

what should I try?

Author Updates & Technical Revisions

Follow-up dispatches by @spalek83

Author Update #1 @spalek83 2009-12-05

so i tried running it through the vga instead of dvi, lag as still there.

i have mouse lag right as soon as the gui loads in osx at logon with a mouse cursor, and stays from there. happens with nothing else loaded, no itunes, no quicktime. its not just mouse lag, the whole system skips and jumps. some boots I can get as far as to install firefox, or something else in a few minutes of patience with a crazy mouse. others it gets soo lagged soon that I can only move the mouse, all buttons and gui are unresponsive. I was able once to remove hardware acceleration and boot in with vesa or basic graphics support (1024x768) and there was literally no lag the entire time. I was able to cpuid patch /system. the bug happens in -x mode as well as normal boot.

i don't understand how I have a bug that no one else seems to have... considering buying a 9800 and see what happens, yet I'm broke right now so that isn't an immediate option.

Author Update #2 @spalek83 2009-12-07

so i enabled the gfx through dsdt, and it worked first boot. then something screwed up second boot and I got a kernel panic. reinstalling snow now.. just in case, do you know of a guide to manually install graphics card into dsdl? i was using the windows.net app. which i had to force compile.

Synthesized Community Field Notes

5 technical responses curated from 9 original dispatches

Field Note #1 @scififan68 2009-12-05

Make sure voodootscsync is removed and ty and use your other port on your gfx card.

Field Note #2 @milanca 2009-12-05

Strange spalek83, i also have 8500GT 256MB DDR3 but no lags, using dsdt gfx injection though. When do you have that mouse lag, when on desktop or when playing itunes or quicktime? Asking that cause we had that lag back in 10.5.x caused by new quicktime libraries (there is a fix for that) but in 10.6.x that's fixed and i never had any kind of lags.

Field Note #3 @milanca 2009-12-07

In your DSDT, after Device (PCI0) add the code from the codebox:

Device (PCI0)
{

<-- PASTE HERE

Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, Zero)
Name (_UID, One)
Name (_BBN, Zero)

Device (PEGP)
            {
                Name (_ADR, 0x00010000)
                Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Name (_SUN, One)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x1A)
                            {
                                "@0,compatible", 
                                Buffer (0x0B)
                                {
                                    "NVDA,NVMac"
                                }, 

                                "@0,device_type", 
                                Buffer (0x08)
                                {
                                    "display"
                                }, 

                                "@0,name", 
                                Buffer (0x0F)
                                {
                                    "NVDA,Display-A"
                                }, 

                                "@1,compatible", 
                                Buffer (0x0B)
                                {
                                    "NVDA,NVMac"
                                }, 

                                "@1,device_type", 
                                Buffer (0x08)
                                {
                                    "display"
                                }, 

                                "@1,name", 
                                Buffer (0x0F)
                                {
                                    "NVDA,Display-B"
                                }, 

                                "NVCAP", 
                                Buffer (0x14)
                                {
                                    /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 
                                    /* 0008 */    0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 
                                    /* 0010 */    0x00, 0x00, 0x00, 0x00
                                }, 

                                "NVPM", 
                                Buffer (0x1C)
                                {
                                    /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0018 */    0x00, 0x00, 0x00, 0x00
                                }, 

                                "VRAM,totalsize", 
                                Buffer (0x04)
                                {
                                    0x00, 0x00, 0x00, 0x20
                                }, 

                                "device_type", 
                                Buffer (0x0D)
                                {
                                    "NVDA,GeForce"
                                }, 

                                "model", 
                                Buffer (0x17)
                                {
                                    "nVidia GeForce 8500 GT"
                                }, 

                                "rom-revision", 
                                Buffer (0x25)
                                {
                                    "nVidia GeForce 8500 GT OpenGL Engine"
                                }, 

                                "reg", 
                                Buffer (0x78)
                                {
                                    /* 0000 */    0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02, 
                                    /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0020 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
                                    /* 0028 */    0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0030 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0038 */    0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02, 
                                    /* 0040 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0048 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 
                                    /* 0050 */    0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0058 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0060 */    0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02, 
                                    /* 0068 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0070 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }
            }

And also you will need method DTGP so add it somewhere in the beginning of your code, (ex. after method _wak)

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)
    }
Field Note #4 @milanca 2009-12-07

I already specified 512MB for you

"VRAM,totalsize", 
                                Buffer (0x04)
                                {
                                    0x00, 0x00, 0x00, 0x20
                                }, 

for DVI and VGA there is no need, works by default.

Field Note #5 @catevs 2009-12-11

@spalek83 Does that method work for You? I allso have 8500GT 512MB, I have option for resolution change, but when I change resolution, my screen goes blue, and I have to restart with -x to remove blue screen

Sources & Contributor Provenance (4 credited usernames · Thread #4863)
UsernameDossier ContributionDispatchesActive Window
@spalek83Primary Author42009-12-05 → 2009-12-07
@milancaCore Contributor32009-12-05 → 2009-12-07
@scififan68Contributor12009-12-05
@catevsContributor12009-12-11