Jump to content
onejay09

please help me fix Brightness Control Nvidia Graphics Only Laptop

187 posts in this topic

Recommended Posts

Great! But I found full backlight control, have a look at my ssdtxosi unsure if your supposed to comment out any versions though if you tried windows 7 ud have full control

Yours looks slightly different than mine.  I've pasted yours into ACPI/patched, will reboot real quick and edit this post with my findings.

 

 

Edit: Still the same.  The brightness can be changed (a total of 10 levels from what I can see), but the slider still isn't in sync with the brightness.

 

I suspect it has something to do with NVRAM / other methodology through which the brightness properties are being remembered.  It's not a big deal: anything not native is automatically imperfect for me anyways haha.

Edited by Lacedaemon

Share this post


Link to post
Share on other sites
Advertisement

Okay if your happy with it then just leave it like that, attach your dsdt I'll take a look and compare with mine

I've attached the exact DSDT I'm using right now.  I haven't done the HDAU thing, because I couldn't find anything but references to the label I'm supposed to replace.  I figured the rename would have to happen in one of the other system SSDT's.  Let me know if you want all the ACPI tables.

 

Thanks!

DSDT.dsl.zip

Share this post


Link to post
Share on other sites

I've attached the exact DSDT I'm using right now. I haven't done the HDAU thing, because I couldn't find anything but references to the label I'm supposed to replace. I figured the rename would have to happen in one of the other system SSDT's. Let me know if you want all the ACPI tables.

 

Thanks!

You are converting to .aml before using them yeah?

 

Sent from my SM-G930F using Tapatalk

Share this post


Link to post
Share on other sites

You are converting to .aml before using them yeah?

 

Sent from my SM-G930F using Tapatalk

Yessir.

 

Do you inject the correct hda-gfx value (same as dPGU)? NvidiaGraphicsFixup should help you too.

I got NvidiaGraphicsFixup working, I think that definitely helped with getting brightness control working.

 

How would I know what the correct hda-gfx value is?

Share this post


Link to post
Share on other sites

hda-gfx for hdau should be the same as gfx0 hda gfx, they are in the dsm methods added into GFX0 and if you have SSDT-HDAU theres one in there too 

 

either 1 or 2 they both work, aslong as they are the same


post-1319917-0-89161200-1517481883_thumb.png

 

add:                     Store (One, ^GFX0.HDAE)

 

into device PEG0 in Method PRT like this:

 

            Device (PEG0)
            {
                Name (_ADR, 0x00010000)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    Store (One, ^GFX0.HDAE)
                    If (PICM)
                    {
                        Return (AR01)
                    }

                    Return (PR01)
                }
            }

this will set the magic bit so the card is active for mac when it scans pci devices

/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20161210-64(RM)
 * Copyright (c) 2000 - 2016 Intel Corporation
 * 
 * Disassembling to non-symbolic legacy ASL operators
 *
 * Disassembly of iASLXsRgc4.aml, Thu Feb  1 10:55:00 2018
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x0000025B (603)
 *     Revision         0x02
 *     Checksum         0xC4
 *     OEM ID           "hack"
 *     OEM Table ID     "GFX0_HDA"
 *     OEM Revision     0x00000000 (0)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20161210 (538317328)
 */
DefinitionBlock ("", "SSDT", 2, "hack", "GFX0_HDA", 0x00000000)
{
    External (_SB_.PCI0.PEG0, DeviceObj)    // (from opcode)
    External (_SB_.PCI0.PEG0.GFX0, DeviceObj)    // (from opcode)
    External (GFX0, DeviceObj)    // (from opcode)

    Scope (_SB.PCI0.PEG0)
    {

        Device (HDAU)
        {
            Name (_ADR, One)  // _ADR: Address
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                           
                    })
                }

                Return (Package (0x04)
                {
                    "layout-id", 
                    Buffer (0x04)
                    {
                         0x01, 0x00, 0x00, 0x00                         
                    }, 

                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                })
            }
        }
    }

    Store ("ssdt-ami-7/8/9series_nvidia_hdmi_audio_v3.0 github.com/toleda", Debug)
}


i use this  SSDT-HDAU.aml add it and add it to sorted order. note that you should keep both GFX0 and HDAU hda-gfx numbers the same to enable hdmi audio

                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"

post-1319917-0-71051300-1517483486_thumb.png

i also renamed NVAF to HDAU

 

theres 4

DSDT.dsl.zip

Share this post


Link to post
Share on other sites

After compiling / installing the new DSDT and adding in that SSDT, there now is an HDAU device in IORegistryExplorer!

 

I'll test for HDMI audio when I get access to such a device later today.  Thanks!!

Share this post


Link to post
Share on other sites

for Pascal HDMI, u can try it

VoodooHda edited with ur Audio id, in my case is 0x10DE0FB9

attachicon.gifMaLd0n 2018-02-02 às 12.38.32.png

U can use AppleAlc or other method for Native audio and VoodooHda work only in GPU Audio

attachicon.gifMaLd0n 2018-02-02 às 12.42.39.png

attachicon.gifVoodooHDA.kext.zip

That is very clever.  Though I am wary of using VoodooHDA, if it means getting it working, I might try it.

 

Still haven't tested, btw.  Will ~2 hours from now.

Share this post


Link to post
Share on other sites

Do you have a display port?

Will voodoohda have a higher priority over applehda? As im using applehda for both at the minute.but I'd like to see if I can get hdmi and dp working using voodoohda

Share this post


Link to post
Share on other sites

Do you have a display port?

Will voodoohda have a higher priority over applehda? As im using applehda for both at the minute.but I'd like to see if I can get hdmi and dp working using voodoohda

That's the thing, I don't have access to any DisplayPort-related peripherals where I'm at right now.  If at all possible I wouldn't use VoodooHDA, but like I said above, if it gets it working then might as well.

 

In my hurry, I did not test HDMI audio, though by all of your reports it might not have worked anyways.  I'll try again this coming week, but for now: thanks for all your help!

Share this post


Link to post
Share on other sites

ok so HDMI audio works fine now with voodoohda.kext, i didnt install the package just the kext i found below the download link on sourceforge then edited the info.plist 

 

IOPCICLASSMATCH WITH  0x04010000&0xFFFD0000

 

https://sourceforge.net/projects/voodoohda/files/VoodooHDA.kext-2.9.1.zip/download

 

post-1319917-0-84065300-1517680107_thumb.png

 

You should find your pci devices class match in ioreg and add it to voodoohda.kext/contents/info.plist

and install the kext, ive got dp & hdmi audio working fine,  applehda is working with the realtek codec still.

Share this post


Link to post
Share on other sites

here have  a last version edited, just add

http://www.insanelymac.com/forum/topic/323010-please-help-me-fix-brightness-control-nvidia-graphics-only-laptop/?p=2582830

u can check with DPCIManager too

MaLd0n 2018-02-03 às 15.54.59.png

MaLd0n 2018-02-03 às 15.57.08.png

the procedure is mandatory, if u don't add in some cases cause problems, broke sleep


IOPCICLASSMATCH WITH  0x04010000&0xFFFD0000

rename to IOPCIPrimaryMatch

is a very old long history xD

Share this post


Link to post
Share on other sites

i removed the pnlf for asusacpibacklightpanel.kext

and added 

Scope (_SB)
{
    Device (PNLF)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Name (_HID, EisaId ("APP0002"))  // _HID: Hardware ID
        Name (_CID, "backlight")  // _CID: Compatible ID
        Name (_UID, 0x0A)  // _UID: Unique ID
        Name (_STA, 0x0B)  // _STA: Status
    }
}

and added this to the device propterties patch

                                "@0,pwm-info", 
                                Buffer (0x18)
                                {
                                    /* 0000 */  0x02, 0x18, 0x00, 0x64, 0x90, 0x59, 0x02, 0x00,
                                    /* 0008 */  0x08, 0x52, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00,
                                    /* 0010 */  0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 
                                },

the slider works a little with default kexts but it only turns the screen off when the slider reaches the bottom,

brightness slider by berg design works though

 

but the pnlf is detected as appleIntelPanelA

Share this post


Link to post
Share on other sites

i removed the pnlf for asusacpibacklightpanel.kext

and added 

Scope (_SB)
{
    Device (PNLF)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Name (_HID, EisaId ("APP0002"))  // _HID: Hardware ID
        Name (_CID, "backlight")  // _CID: Compatible ID
        Name (_UID, 0x0A)  // _UID: Unique ID
        Name (_STA, 0x0B)  // _STA: Status
    }
}

and added this to the device propterties patch

                                "@0,pwm-info", 
                                Buffer (0x18)
                                {
                                    /* 0000 */  0x02, 0x18, 0x00, 0x64, 0x90, 0x59, 0x02, 0x00,
                                    /* 0008 */  0x08, 0x52, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00,
                                    /* 0010 */  0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 
                                },

the slider works a little with default kexts but it only turns the screen off when the slider reaches the bottom,

brightness slider by berg design works though

 

but the pnlf is detected as appleIntelPanelA

I'm under the same situation...

 

Looks like the values in PWM-INFO are not the ones for our GTX 1070...

 

Maybe @MaLd0n could help us?

 

I have this values as brightness but I do not know how to replace them in PWM-INFO section:

 

                        Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
                        {
                            Return (Package (0x13)
                            {
                                0x64, 
                                0x32, 
                                Zero, 
                                0x06, 
                                0x0C, 
                                0x12, 
                                0x18, 
                                0x1E, 
                                0x24, 
                                0x2A, 
                                0x30, 
                                0x36, 
                                0x3C, 
                                0x42, 
                                0x48, 
                                0x4E, 
                                0x54, 
                                0x5A, 
                                0x64
                            })
                        }

Share this post


Link to post
Share on other sites

If I remove pwm-info I lose brightness slider and display isn't recognised as a backlight display.

Also berg designs brightness works backwards now

Only benefit of this setup is that the screen fades out when it turns off display,

Hopefully somebody knows what these pwm values mean.

Share this post


Link to post
Share on other sites

If I remove pwm-info I lose brightness slider and display isn't recognised as a backlight display.

Also berg designs brightness works backwards now

Only benefit of this setup is that the screen fades out when it turns off display,

Hopefully somebody knows what these pwm values mean.

I have tried different values, no succed :(

Share this post


Link to post
Share on other sites

Ehi guys!

Any news about this?

I was able to make the display be recognized as internal and with Pwm-info the slider works, but only shut the display down at the bottom...

If I disconnect the power cable I can see the onscreen brightness appear with different values, but it always stays at the same brightness!

Any help?

Thx!

Share this post


Link to post
Share on other sites
On 15/3/2018 at 9:39 AM, JahStories said:

Ehi guys!

Any news about this?

I was able to make the display be recognized as internal and with Pwm-info the slider works, but only shut the display down at the bottom...

If I disconnect the power cable I can see the onscreen brightness appear with different values, but it always stays at the same brightness!

Any help?

Thx!

No, I'm under the same situation, but I don't care, everything works perfectly, even sleep.

 

Share this post


Link to post
Share on other sites

Yes, its working btw using bergdesign brightness it's even adjustable, just not on Apple's sliders or automated things like power plug removal...

This and adjustable keyboard brightness level are the only two steps missing to get a 100% working hackintosh laptop!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×