Jump to content

Vaio users black screen after boot


tchospy
 Share

223 posts in this topic

Recommended Posts

  • 1 month later...

Hi j4c,

could not believe.

as i was reading this thread.

fixed black screen confusing me since weeks .

 

I was trrying a lot to fix Problems

About black screen on sony vaio VPC F11 Z 1 E 1. i have i7 749 quad with geforce 330.

i installed yosemite with uni and the the newest cuda driver.

without multi.

the vaio boot sssion told me first time that the boot configuration changed.

the internal monitor appeared. making the second boot.

the problem resists: black screen.

 

 

Also ethernet WLAN audio dont work actualy for main working tools.

I was wondering there is one Spanisch sspeaking Guy on the Internet

Installing it with iAtkos.

www.youtube.com/watch?v=0X914YhkRLA

 

same model as above

As far i can See the internal Monitor works with his method. why?

 

So i installed yosemite with newest Uni and Multi. and gave it a try.

 

 

My question should i take dsdt with Multi

Or should i take cover. What do you recommend me to do?

what is the difference between these two methods.

 

Possible to make a donation to you?

 

best regards

Thomas lianli

Link to comment
Share on other sites

hi jl4c,

 

thanks for your quick  reply,

Please be patient,

 

wait a moment a have to read a lot of clover installation manuals.

Cause I have to particually understand what im doing.

Clover its all new to me.

 

First i have to distinguish bios only from uefi.

Here we go. Ill sent to you attached file as soon as I come to the booting point.

 

Thomas lianli

Link to comment
Share on other sites

  • 2 weeks later...

tchospy:
 
Regarding black screen problem:
1) use vanilla osx installation:#####
2) put FakeSMC.kext in /EFI/CLOVER/kext/10.10 or 10.9 depend on what system you are installing (yosemite works too), and may be VodooPS2Controller from rehabman to get keyboard and mice working
3) yosemite boots very slow without AppleACPI rollback, you can revert AppleACPI after installation.
4) to get working internal screen you need ONLY 1 DSDT PATCH! (look on next post)
5) in Clover you need to enable inject nvidia

SONY BLACK SCREEN PROBLEM FIX MANUAL
 
Example device: NVIDIA Corporation GT218M [GeForce 310M] [10de:0a75] (rev a2)
 
Internal LCD screen didn't work out from the box. Can be fixed with EDID injection.
 
Clover EFI EDID injector didn't work for some reason so we have to edit DSDT manually.
 
Save original (OEM) ACPI tables by pressing F4 to /EFI/CLOVER/ACPI/origin.
 
Use MaciASL to fix ACPI tables: https://github.com/RehabMan/OS-X-MaciASL-patchmatic
 
Boot from linux and run:

find /sys | grep -i edid

You will see:

/sys/devices/pci0000:00/0000:00:03.0/0000:01:00.0/drm/card0/card0-HDMI-A-1/edid
/sys/devices/pci0000:00/0000:00:03.0/0000:01:00.0/drm/card0/card0-VGA-1/edid
/sys/devices/pci0000:00/0000:00:03.0/0000:01:00.0/drm/card0/card0-LVDS-1/edid

We need only LVDS edid, save it and encode to hex array for usage in MaciASL:

xxd -c 8 -i edid-lvds.bin

It will show:

unsigned char edid_lvds_bin[] = {
 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
 0x4d, 0xd9, 0xfa, 0x06, 0x00, 0x00, 0x00, 0x00,
 0x2d, 0x0c, 0x01, 0x04, 0x90, 0x24, 0x14, 0x00,
 0xea, 0xa8, 0xe0, 0x99, 0x57, 0x4b, 0x92, 0x25,
 0x1c, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01,
 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x30, 0x2a,
 0x40, 0x5e, 0x61, 0x84, 0x18, 0x30, 0x74, 0x74,
 0x88, 0x00, 0x68, 0xc8, 0x10, 0x00, 0x00, 0x18,
 0x30, 0x2a, 0x40, 0x90, 0x61, 0x84, 0xb4, 0x30,
 0x85, 0x85, 0xcc, 0x00, 0x68, 0xc8, 0x10, 0x00,
 0x00, 0x18, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x4e,
 0x76, 0x69, 0x64, 0x69, 0x61, 0x20, 0x44, 0x65,
 0x66, 0x61, 0x75, 0x6c, 0x00, 0x00, 0x00, 0xfc,
 0x00, 0x74, 0x20, 0x46, 0x6c, 0x61, 0x74, 0x20,
 0x50, 0x61, 0x6e, 0x65, 0x6c, 0x00, 0x00, 0xa9
};

Open DSDT with MaciASL and look for Device (PEG3) and Names like EDI*.
Find one from EDI* names with the same hex values as your extracted EDID.
 
In my case it's EDI3:

    Name (EDI3, Buffer (0x80)
    {
        /* 0000 */  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,  /* ........ */
        /* 0008 */  0x4D, 0xD9, 0xFA, 0x06, 0x00, 0x00, 0x00, 0x00,  /* M....... */
        /* 0010 */  0x2D, 0x0C, 0x01, 0x04, 0x90, 0x24, 0x14, 0x00,  /* -....$.. */
        /* 0018 */  0xEA, 0xA8, 0xE0, 0x99, 0x57, 0x4B, 0x92, 0x25,  /* ....WK.% */
        /* 0020 */  0x1C, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01,  /* .PT..... */
        /* 0028 */  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,  /* ........ */
        /* 0030 */  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x30, 0x2A,  /* ......0* */
        /* 0038 */  0x40, 0x5E, 0x61, 0x84, 0x18, 0x30, 0x74, 0x74,  /* @^a..0tt */
        /* 0040 */  0x88, 0x00, 0x68, 0xC8, 0x10, 0x00, 0x00, 0x18,  /* ..h..... */
        /* 0048 */  0x30, 0x2A, 0x40, 0x90, 0x61, 0x84, 0xB4, 0x30,  /* 0*@.a..0 */
        /* 0050 */  0x85, 0x85, 0xCC, 0x00, 0x68, 0xC8, 0x10, 0x00,  /* ....h... */
        /* 0058 */  0x00, 0x18, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x4E,  /* .......N */
        /* 0060 */  0x76, 0x69, 0x64, 0x69, 0x61, 0x20, 0x44, 0x65,  /* vidia De */
        /* 0068 */  0x66, 0x61, 0x75, 0x6C, 0x00, 0x00, 0x00, 0xFC,  /* faul.... */
        /* 0070 */  0x00, 0x74, 0x20, 0x46, 0x6C, 0x61, 0x74, 0x20,  /* .t Flat  */
        /* 0078 */  0x50, 0x61, 0x6E, 0x65, 0x6C, 0x00, 0x00, 0xA9   /* Panel... */
    })

Fill "AAPL00,override-no-edid" with EDID values via Name link "\_SB_.PCI0.PEG3.NGFX.EDI3"
 
Apply "Insert DTGP" patch in MaciASL.
 
Apply EDID override patch:

into device label NGFX parent_label PEG3 insert
begin
    Method (_DSM, 4, NotSerialized)\n
    {\n
        Local0 = Package (0x02)\n
            {\n
                "AAPL00,override-no-edid",\n
                \_SB_.PCI0.PEG3.NGFX.EDI3 // here is the full path to required EDID \n
            }\n
        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
        Return (Local0)\n
    }\n
end;

You can use "Buffer (0x80) { ... }" with EDID hex values instead of "\_SB_.PCI0.PEG3.NGFX.EDI3".
In my case it's easier to put link to EDID which already exists in DSDT.
 
This is the only DSDT patch required to get working internal screen.

  • Like 2
Link to comment
Share on other sites

Gcenx, it seems like you didn't decode *.aml files well.

You need to install iasl (i do it with homebrew: brew install acpica).

Dump all acpi tables via clover or linux, put them in one directory and run: iasl -da DSDT.aml SSDT*.aml &> decode.log

It will give you more accurate *.dsl files, which can be edited and saved as *.aml (use ACPI 5 profile in MaciASL preferences).

Also my DSDT, for example, contains 1 error which I have to fix to be able to compile DSDT.dsl back to DSDT.aml.

  • Like 2
Link to comment
Share on other sites

  • 1 month later...

Hi art.sormy and jl4c

Can you help me patching my dsdt.

I did it and i saw that my EDID* is EDID4 and EDID5 have my Hex-EDID-string that i saw in linux.
I tried apply the patch but in my dsdt i don't have any AAPL00,override-no-edid

And not apply the patch.

Can you helpe ? i've attached my files:



 

edidt-hex.txt

Send me MacBook Pro de Respeito.zip

Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...

Gcenx, it seems like you didn't decode *.aml files well.

You need to install iasl (i do it with homebrew: brew install acpica).

Dump all acpi tables via clover or linux, put them in one directory and run: iasl -da DSDT.aml SSDT*.aml &> decode.log

It will give you more accurate *.dsl files, which can be edited and saved as *.aml (use ACPI 5 profile in MaciASL preferences).

Also my DSDT, for example, contains 1 error which I have to fix to be able to compile DSDT.dsl back to DSDT.aml.

 

Hello and thanks for the guide. But I'm sorry, I have the exact same error than Gcenx :(.

 

I dumped ACPI tables with both Linux & Clover and even with Windows using Aida64 v.3.20 and I still have these two errors. :blink::wacko::hammer:

 

I did "iasl -da DSDT.aml SSDT*.aml &> decode.log" on ACPI tables dumped by Clover and it went fine but still, I'm unable to patch the DSDT with your patch. :wallbash:

 

BTW, I also tried to use your DSDT (dsdt_art.sormy-v6.aml) "as it" since my EDI3 is the same according to my own EDID extract…

 

Attached is my ACPI dumps & EDID extracted from Clover & Windows.

 

Could you help ? If you need anything else, please ask :D !

 

Thx !

 

My specs :

 

VAIO vpcf13m0e - GeForce GTX 425m - Core i7 740QM @ 1.73 GHz / 2.93 GHz Turbo

 

For working Realtek ALC275 patched AppleHDA, see here and especially here ;). Works fine :D)

 

[EDIT] Your DSDT works with some removal in Clover fixes in config.plist but I'm stuck at 1024x768 with no QE/CI of course :P.

 

Attached IOReg & config.plist

EDID_ACPI_dump.zip

MacBook_Pro.zip

config.plist.zip

Edited by polyzargone
Link to comment
Share on other sites

Here's the Clover patch for ALC275 (update proof :D) :

		<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>Expect 2 matches</string>
				<key>Find</key>
				<data>
				hAjsEA==
				</data>
				<key>Name</key>
				<string>AppleHDA</string>
				<key>Replace</key>
				<data>
				AAAAAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Expect 2 matches</string>
				<key>Find</key>
				<data>
				hQjsEA==
				</data>
				<key>Name</key>
				<string>AppleHDA</string>
				<key>Replace</key>
				<data>
				AAAAAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Expect 2 matches</string>
				<key>Find</key>
				<data>
				hBnUEQ==
				</data>
				<key>Name</key>
				<string>AppleHDA</string>
				<key>Replace</key>
				<data>
				dQLsEA==
				</data>
			</dict>
		</array>
	</dict>

You'll need to install the attached dummy.kext in EFI/EFI/CLOVER/Kexts/10.10 and you're done !

 

NB : HDEF layout-id must be set to 3 :

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0D, 
                        0x05
                    })
                }

                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "layout-id", 
                            Buffer (0x04)
                            {
                                0x03, 0x00, 0x00, 0x00
                            }, 

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

All credits to Mirone for patched AppleHDA ALC275 which the dummy.kext is based on and Pokenguyen for his script to "Convert your patched AppleHDA to Clover patching-on-the-fly"

dummy.kext.zip

Link to comment
Share on other sites

polyzargone

 

here is your DSDT with 3 patches:

- 2 minor patches to able to compile it back.

- 1 to add DTGP method.

- 1 to fix SONY black screen problem.

 

Thanks, I really appreciate but unfortunately, it didn't work :(.

 

Actually, I got internal display just like with your own DSDT but no QE/CI. I suspect that the GeForce GT425 isn't working OOB cause there's no NVIDIA kext loaded at all (NVDAStartup.kext is no help for my issue) :

 

Apologies, I messed up with all my DSDT and didn't load the new one :P.

 

Good news is that I do have QE/CI. Bad news is now I've got this damn black screen again ! :wallbash:

I tried all EDI* to see if it can change anything but none of them works.

 

[uPDATE] HDMI audio works OOB via Clover DSDT fixes. HDMI/VGA works too with full QE/CI. But still no internal display. The screen is actually on but there's no display at all. I also tried several MacBookPro SMBios with no success so far.

 

In last resort, I tried Chameleon with GraphicsEnabler=Yes. Nothing changed.

 

What's wrong ! I don't get it :hammer: !

 

BTW, did you tried the ALC275 Clover patch ?

 

I may also have a DSDT edit to enable HDMI audio too but I can't test it since I also don't have no HDMI/VGA video output

Edited by polyzargone
Link to comment
Share on other sites

polyzargone, try this one

 

Actually there are 3 entry points for video card in DSDT: GFX0, PEG3, PEGP

PEG3 injection doesn't work, so we could try PEGP (this dsdt injects EDID into PEGP)

If it will not work then you could try to inject into GFX0, but I don't think that it will work (because it's native way of clover EDID injection and it doesn't work for Sony)

 

Could you please boot os x in as much vanilla state as you can and export ioreg. It will allow to see which DSDT device is used by default when you use HDMI (this will reveal GFX0, PEG3, PEGP or may be something else).

 

You have working VGA and it's strange =) In most cases VGA doesn't work.

DSDT_fixed.aml.zip

Link to comment
Share on other sites

 Share

×
×
  • Create New...