Jump to content

Chameleon 2.4svn Official PKG Installer


ErmaC
4,261 posts in this topic

Recommended Posts

Hi. Thank you for your answer.

 

Tried with another cheap video board, Asus 610 silent, and it worked directly in high res.

Back to my old Gygabyte 9400 GT (although older than the Asus it's a bit faster on display) and managed to boot with PciRoot=0 instead of =1. Rather basic solution but I was obcessed with =1 value that was working with other motherboards and so was not trying the =0 value.

Only thing is it's in low res and now I have to sort that one out.

bdmesg output shows the correct card being recognized.

If somebody has suggestions to correct resolution I appreciate it.

Thank you

estarola

Hi estarola

Can you test this "next" coming revision?

I made some changes in the nvidia injector (thx to Slice),

also include the Bit Shoveler(aka chucko) improvements

and the latest Bungo's update for the SMBIOS.

 

-->

 

Also a general feedback would be nice.

 

Fabio

  • Like 1
Link to comment
Share on other sites

@ErmaC:

Just tested v2341 and everything seems to be working fine for me.

I also think Chameleon loads a bit faster with this build!! :)

 

The only change I noticed is "Type: <OUT OF SPEC>" under baseboard info. 

 

PS. Isn't it time to update Chameleon to v2.3 now that the build number has reached 23xx? So many changes and improvements have been made to Chameleon recently that I think a version bump is needed to reflect this.

  • Like 2
Link to comment
Share on other sites

@ErmaC:

Just tested v2341 and everything seems to be working fine for me.

I also think Chameleon loads a bit faster with this build!! :)

 

The only change I noticed is "Type: " under baseboard info. 

 

PS. Isn't it time to update Chameleon to v2.3 now that the build number has reached 23xx? So many changes and improvements have been made to Chameleon recently that I think a version bump is needed to reflect this.

Thx Dr. Hurt

Also by default the "sensible" data (serials into bdmesg) are masked (PrivateData=Yes)

you can enable it (show the serials into bdmesg) with PrivateData=No in org.chameleon.boot.plist

 

a bdmesg log??

 

:)

 

Fabio

Link to comment
Share on other sites

...

The only change I noticed is "Type: <OUT OF SPEC>" under baseboard info. 

...

Folowing dmidecode convention an <OUT OF SPEC> message says a corresponding value is out of smbios/dmi spec. we use, in other words you may have newer smbios or put out of range value.

Link to comment
Share on other sites

The only change I noticed is "Type: " under baseboard info.

 

For which SMboard key? There is no "SMboardinfo" key.

You can see them all here: http://forge.voodooprojects.org/p/chameleon/source/tree/HEAD/trunk/i386/libsaio/smbios.c

If it's a parameter that can be overridden by Chameleon you can either leave the string value blank to inject "Not Specified", or inject the corresponding value from the appropriate Mac model.

 

...

 

Fabio: 2341 is fine so far here as well, let me know if there's anything in particular you want me to look for.

Link to comment
Share on other sites

Hi estarola

Can you test this "next" coming revision?

I made some changes in the nvidia injector (thx to Slice),

also include the Bit Shoveler(aka chucko) improvements

and the latest Bungo's update for the SMBIOS.

 

--> attachicon.gifChameleon-i386_TEST_v2341.zip

 

Also a general feedback would be nice.

 

Fabio

<key>SMbiosdate</key>
<string>05/05/09</string>
<key>SMbiosvendor</key>
<string>Apple Inc.</string>
<key>SMbiosversion</key>
<string>MBP51.88Z.007E.B05.0905051508</string>
<key>SMboardassettag</key>
<string></string>
<key>SMboardlocation</key>
<string>Part Component</string>
<key>SMboardmanufacturer</key>
<string>Apple Inc.</string>
<key>SMboardproduct</key>
<string>Mac-F42D86C8</string>
<key>SMboardserial</key>
<string>C68049587F2GCR53D</string>
<key>SMboardtype</key>
<string>10</string>
<key>SMboardversion</key>
<string>MacBookPro5,1</string>
<key>SMchassisassettag</key>
<string></string>
<key>SMchassismanufacturer</key>
<string>Apple Inc.</string>
<key>SMchassisserial</key>
<string>XA95145T1G0</string>
<key>SMchassistype</key>
<string>10</string>
<key>SMchassisversion</key>
<string>Mac-F42D86C8</string>
<key>SMcpuassettag</key>
<string>Intel® Core™2 Duo Processor T9300 @ 2.50GHz</string>
<key>SMcpumanufacturer</key>
<string>Intel(R) Corporation</string>
<key>SMcpupartnumber</key>
<string></string>
<key>SMcpuserial</key>
<string></string>
<key>SMcpuupgrade</key>
<string>4</string>
<key>SMfamily</key>
<string>MacBookPro</string>
<key>SMmanufacturer</key>
<string>Apple Inc.</string>
<key>SMproductname</key>
<string>MacBookPro5,1</string>
<key>SMserial</key>
<string>XA95145T1G0</string>
<key>SMskunumber</key>
<string></string>
<key>SMsystemversion</key>
<string>1.2</string>
CPU is Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHz, family 0x6, model 0x17

SMBIOS rev. 2.4, DMI rev. 2.4

Type: 218, Length: 251, Handle: 0xda00
Type: 218, Length: 251, Handle: 0xda01
Type: 218, Length: 65, Handle: 0xda02
Type: 0, Length: 24, Handle: 0x0000
BIOS Information:
Vendor: Apple Inc.
Version: MBP51.88Z.007E.B05.0905051508
Release Date: 05/05/09
BIOS Revision: 0.1

Type: 1, Length: 27, Handle: 0x0100
System Information:
Manufacturer: Apple Inc.
Product Name: MacBookPro5,1
Version: 1.2
Serial Number: ** PRIVATE **
UUID: ** PRIVATE **
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: MacBookPro

Type: 2, Length: 9, Handle: 0x0200
Base Board Information:
Manufacturer: Apple Inc.
Product Name: Mac-F42D86C8
Version: MacBookPro5,1
Serial Number: ** PRIVATE **
Asset Tag: Not Specified
Location In Chassis:
Type: <OUT OF SPEC>

Type: 3, Length: 13, Handle: 0x0300
Chassis Information:
Manufacturer: Apple Inc.
Type: Notebook
Version: Mac-F42D86C8
Serial Number: ** PRIVATE **
Asset Tag: Not Specified

Type: 4, Length: 40, Handle: 0x0400
Processor Information:
Socket Designation: Microprocessor
Type: 3
Family: 0xBF
Manufacturer: Intel(R) Corporation
ID: 0x10676
Processor Version: Not Specified
External Clock: 199MHz
Maximum Clock: 2493MHz
Current Clock: 2500MHz
Serial Number: Not Specified
Asset Tag: Intel® Core™2 Duo Processor T9300 @ 2.50GHz
Part Number: Not Specified

Apple specific Processor Type: cpu-type: 0x301

Type: 127, Length: 4, Handle: 0xde01

As far as this output:

Location In Chassis: 
Type: <OUT OF SPEC>

I am unable to determine my SMchassistype, so I used the same value as the SMboardtype which is clearly erroneous.

 

Also, what does this particular error pertain to:

Error: system-type must be 0..6. Defaulting to 2

I do have the SystemType=2 entry in my org.chameleon.Boot.plist.

 

Thank You.

Link to comment
Share on other sites

PS. Isn't it time to update Chameleon to v2.3 now that the build number has reached 23xx? So many changes and improvements have been made to Chameleon recently that I think a version bump is needed to reflect this.

Not to bad...

...Before bump to 2.3 will be better fix all the relevant bugs... any volunteer are welcome for code patch and improvements... the source is always in the same place! http://forge.voodooprojects.org/p/chameleon/source/tree/HEAD/trunk

 

Fabio

  • Like 2
Link to comment
Share on other sites

Hi, people. I can´t set the "SystemType" from org.chameleon.Boot.plist. In rev 2286 (trunk) this works fine. Please, maybe we need a updated "BootHelp" file. Thanks.

Problem is not the definition of parameter

Link to comment
Share on other sites

Hi. As I said in my first post I have Mountain Lion and Mavericks installed in 2 consecutive partitions of my disk.

After managing boot and display using my Gigabyte 9400 GT with PciRoot=0, I got stuck with the low res display. I actually forgot that on Mavericks using PciRoot=0, display was 1920x1080 with the same board.

 

So, I tried this latest test version of Chameleon on mountain lion but got still low res.

 

Decided to check Mavericks GeForce and NVDA kexts and discovered besides higher version there were several GeForce and NVDA Tesla kexts that did not exist on ML.

So, backed up the ML kexts and installed the Mavericks kexts on ML. It worked.

Hi res and different lower resolutions available to choose from but it does give me some warnings.

Shortly after the beginning asks me to 'Hit any key to continue' and very close to the end several warnings about the tesla kexts and built not being appropriate,.. but it works.

 

I believe that ML does not read the EDID of my LG 2260 monitor correctly and sets me up with low res because of that. I am going to try to inject EDID in Chameleon and get high res using ML kexts.

Anyone care to tell me how?

Looking for the info myself anyway.

Thanks

estarola

Link to comment
Share on other sites

Not to bad...

...Before bump to 2.3 will be better fix all the relevant bugs... any volunteer are welcome for code patch and improvements... the source is always in the same place! http://forge.voodooprojects.org/p/chameleon/source/tree/HEAD/trunk

 

Fabio

 

There are a couple of bugs I need to submit patches for, would be nice if it's in the 2.2 official release.

- xml parser has an issue when parting xml data with <integer ID="n">. This affects an updated version of the kernel patcher.

- I need lzss compression (decompression is in chameleon). I may submit a patch or I may just add compression to my code.

- I may add some minor changes in order to allow better booting directly from installers.

  • Like 3
Link to comment
Share on other sites

There are a couple of bugs I need to submit patches for, would be nice if it's in the 2.2 official release.

- xml parser has an issue when parting xml data with <integer ID="n">. This affects an updated version of the kernel patcher.

 

Is this a new problem? I've been doing some work on the XML parser code. It's possible I introduced this. I will take a look when I have time, but it won't be for a couple of days.

 

Can you post a sample file that provokes the problem?

Link to comment
Share on other sites

Can you post a sample file that provokes the problem?

 

 No, It's not a new problem... It's been a bug since I wrote the code that lets the parser handle IDREF and ID. Anyway, I've already fixed it in my local repo.

 

Since you asked... I attached a (slightly modified) copy of the xml  file that shows this issue. Note that I actually haven't reproduced the bug in chameleon itself... I know it's an issue because it segfaults when run under os x with the xml parser.

 

There's also another change I'll submit a patch for as well (new feature) to let module add new special boot commands (read: add ability to add a new ?nvram command to inspect the nvram / add / delete / modify)

plist.txt

Link to comment
Share on other sites

- I need lzss compression (decompression is in chameleon). I may submit a patch or I may just add compression to my code.

I extend the lzss.c enc/dec in boot2.

 

/trunk/i386/boot2/lzss.c

/*
 * Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
 *
 * @APPLE_LICENSE_HEADER_START@
 * 
 * Portions Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights
 * Reserved.  This file contains Original Code and/or Modifications of
 * Original Code as defined in and that are subject to the Apple Public
 * Source License Version 2.0 (the "License").  You may not use this file
 * except in compliance with the License.  Please obtain a copy of the
 * License at http://www.apple.com/publicsource and read it before using
 * this file.
 * 
 * The Original Code and all software distributed under the License are
 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT.  Please see the
 * License for the specific language governing rights and limitations
 * under the License.
 * 
 * @APPLE_LICENSE_HEADER_END@
 */
/**************************************************************
 LZSS.C -- A Data Compression Program
***************************************************************
    4/6/1989 Haruhiko Okumura
    Use, distribute, and modify this program freely.
    Please send me your improved versions.
        PC-VAN      SCIENCE
        NIFTY-Serve PAF01022
        CompuServe  74050,1022

**************************************************************/
/*
 *  lzss.c - Package for decompressing lzss compressed objects
 *
 *  Copyright (c) 2003 Apple Computer, Inc.
 *
 *  DRI: Josh de Cesare
 */

#include <sl.h>

#define N         4096  /* size of ring buffer - must be power of 2 */
#define F         18    /* upper limit for match_length */
#define THRESHOLD 2     /* encode string into position and length
                           if match_length is greater than this */
#define NIL       N     /* index for root of binary search trees */

struct encode_state {
    /*
     * left & right children & parent. These constitute binary search trees.
     */
    int lchild[N + 1], rchild[N + 257], parent[N + 1];
    
    /* ring buffer of size N, with extra F-1 bytes to aid string comparison */
    u_int8_t text_buf[N + F - 1];
    
    /*
     * match_length of longest match.
     * These are set by the insert_node() procedure.
     */
    int match_position, match_length;
};

int
decompress_lzss(u_int8_t *dst, u_int8_t *src, u_int32_t srclen)
{
    /* ring buffer of size N, with extra F-1 bytes to aid string comparison */
    u_int8_t text_buf[N + F - 1];
    u_int8_t *dststart = dst;
    u_int8_t *srcend = src + srclen;
    int  i, j, k, r, c;
    unsigned int flags;
    
    dst = dststart;
    srcend = src + srclen;
    for (i = 0; i < N - F; i++)
        text_buf[i] = ' ';
    r = N - F;
    flags = 0;
    for ( ; ; ) {
        if (((flags >>= 1) & 0x100) == 0) {
            if (src < srcend) c = *src++; else break;
            flags = c | 0xFF00;  /* uses higher byte cleverly */
        }   /* to count eight */
        if (flags & 1) {
            if (src < srcend) c = *src++; else break;
            *dst++ = c;
            text_buf[r++] = c;
            r &= (N - 1);
        } else {
            if (src < srcend) i = *src++; else break;
            if (src < srcend) j = *src++; else break;
            i |= ((j & 0xF0) << 4);
            j  =  (j & 0x0F) + THRESHOLD;
            for (k = 0; k <= j; k++) {
                c = text_buf[(i + k) & (N - 1)];
                *dst++ = c;
                text_buf[r++] = c;
                r &= (N - 1);
            }
        }
    }
    
    return dst - dststart;
}

/*
 * initialize state, mostly the trees
 *
 * For i = 0 to N - 1, rchild[i] and lchild[i] will be the right and left
 * children of node i. These nodes need not be initialized. Also, parent[i]
 * is the parent of node i. These are initialized to NIL (= N), which stands
 * for 'not used.' For i = 0 to 255, rchild[N + i + 1] is the root of the
 * tree for strings that begin with character i. These are initialized to NIL.
 * Note there are 256 trees. */
static void init_state(struct encode_state *sp)
{
    int i;
    
    bzero(sp, sizeof(*sp));
    
    for (i = 0; i < N - F; i++)
        sp->text_buf[i] = ' ';
    for (i = N + 1; i <= N + 256; i++)
        sp->rchild[i] = NIL;
    for (i = 0; i < N; i++)
        sp->parent[i] = NIL;
}

/*
 * Inserts string of length F, text_buf[r..r+F-1], into one of the trees
 * (text_buf[r]'th tree) and returns the longest-match position and length
 * via the global variables match_position and match_length.
 * If match_length = F, then removes the old node in favor of the new one,
 * because the old one will be deleted sooner. Note r plays double role,
 * as tree node and position in buffer.
 */
static void insert_node(struct encode_state *sp, int r)
{
    int i, p, cmp;
    u_int8_t *key;
    
    cmp = 1;
    key = &sp->text_buf[r];
    p = N + 1 + key[0];
    sp->rchild[r] = sp->lchild[r] = NIL;
    sp->match_length = 0;
    for ( ; ; ) {
        if (cmp >= 0) {
            if (sp->rchild[p] != NIL)
                p = sp->rchild[p];
            else {
                sp->rchild[p] = r;
                sp->parent[r] = p;
                return;
            }
        } else {
            if (sp->lchild[p] != NIL)
                p = sp->lchild[p];
            else {
                sp->lchild[p] = r;
                sp->parent[r] = p;
                return;
            }
        }
        for (i = 1; i < F; i++) {
            if ((cmp = key[i] - sp->text_buf[p + i]) != 0)
                break;
        }
        if (i > sp->match_length) {
            sp->match_position = p;
            if ((sp->match_length = i) >= F)
                break;
        }
    }
    sp->parent[r] = sp->parent[p];
    sp->lchild[r] = sp->lchild[p];
    sp->rchild[r] = sp->rchild[p];
    sp->parent[sp->lchild[p]] = r;
    sp->parent[sp->rchild[p]] = r;
    if (sp->rchild[sp->parent[p]] == p)
        sp->rchild[sp->parent[p]] = r;
    else
        sp->lchild[sp->parent[p]] = r;
    sp->parent[p] = NIL; /* remove p */
}

/* deletes node p from tree */
static void delete_node(struct encode_state *sp, int p)
{
    int q;
    
    if (sp->parent[p] == NIL)
        return; /* not in tree */
    if (sp->rchild[p] == NIL)
        q = sp->lchild[p];
    else if (sp->lchild[p] == NIL)
        q = sp->rchild[p];
    else {
        q = sp->lchild[p];
        if (sp->rchild[q] != NIL) {
            do {
                q = sp->rchild[q];
            } while (sp->rchild[q] != NIL);
            sp->rchild[sp->parent[q]] = sp->lchild[q];
            sp->parent[sp->lchild[q]] = sp->parent[q];
            sp->lchild[q] = sp->lchild[p];
            sp->parent[sp->lchild[p]] = q;
        }
        sp->rchild[q] = sp->rchild[p];
        sp->parent[sp->rchild[p]] = q;
    }
    sp->parent[q] = sp->parent[p];
    if (sp->rchild[sp->parent[p]] == p)
        sp->rchild[sp->parent[p]] = q;
    else
        sp->lchild[sp->parent[p]] = q;
    sp->parent[p] = NIL;
}

u_int8_t *compress_lzss(
                        u_int8_t       * dst,
                        u_int32_t        dstlen,
                        u_int8_t       * src,
                        u_int32_t        srclen)
{
    u_int8_t * result = NULL;
    /* Encoding state, mostly tree but some current match stuff */
    struct encode_state *sp;
    int  i, c, len, r, s, last_match_length, code_buf_ptr;
    u_int8_t code_buf[17], mask;
    u_int8_t * srcend = src + srclen;
    u_int8_t *dstend = dst + dstlen;
    /* initialize trees */
    sp = (struct encode_state *) malloc(sizeof(*sp));
    if (!sp) goto finish;
    init_state(sp);
    /*
     * code_buf[1..16] saves eight units of code, and code_buf[0] works
     * as eight flags, "1" representing that the unit is an unencoded
     * letter (1 byte), "0" a position-and-length pair (2 bytes).
     * Thus, eight units require at most 16 bytes of code.
     */
    code_buf[0] = 0;
    code_buf_ptr = mask = 1;
    /* Clear the buffer with any character that will appear often. */
    s = 0;  r = N - F;
    /* Read F bytes into the last F bytes of the buffer */
    for (len = 0; len < F && src < srcend; len++)
        sp->text_buf[r + len] = *src++;
    if (!len)
        goto finish;
    /*
     * Insert the F strings, each of which begins with one or more
     * 'space' characters.  Note the order in which these strings are
     * inserted.  This way, degenerate trees will be less likely to occur.
     */
    for (i = 1; i <= F; i++)
        insert_node(sp, r - i);
    /*
     * Finally, insert the whole string just read.
     * The global variables match_length and match_position are set.
     */
    insert_node(sp, r);
    do {
        /* match_length may be spuriously long near the end of text. */
        if (sp->match_length > len)
            sp->match_length = len;
        if (sp->match_length <= THRESHOLD) {
            sp->match_length = 1;  /* Not long enough match.  Send one byte. */
            code_buf[0] |= mask;  /* 'send one byte' flag */
            code_buf[code_buf_ptr++] = sp->text_buf[r];  /* Send uncoded. */
        } else {
            /* Send position and length pair. Note match_length > THRESHOLD. */
            code_buf[code_buf_ptr++] = (u_int8_t) sp->match_position;
            code_buf[code_buf_ptr++] = (u_int8_t)
            ( ((sp->match_position >> 4) & 0xF0)
             |  (sp->match_length - (THRESHOLD + 1)) );
        }
        if ((mask <<= 1) == 0) {  /* Shift mask left one bit. */
            /* Send at most 8 units of code together */
            for (i = 0; i < code_buf_ptr; i++)
                if (dst < dstend)
                    *dst++ = code_buf[i];
                else
                    goto finish;
            code_buf[0] = 0;
            code_buf_ptr = mask = 1;
        }
        last_match_length = sp->match_length;
        for (i = 0; i < last_match_length && src < srcend; i++) {
            delete_node(sp, s);    /* Delete old strings and */
            c = *src++;
            sp->text_buf[s] = c;    /* read new bytes */
            /*
             * If the position is near the end of buffer, extend the buffer
             * to make string comparison easier.
             */
            if (s < F - 1)
                sp->text_buf[s + N] = c;
            /* Since this is a ring buffer, increment the position modulo N. */
            s = (s + 1) & (N - 1);
            r = (r + 1) & (N - 1);
            /* Register the string in text_buf[r..r+F-1] */
            insert_node(sp, r);
        }
        while (i++ < last_match_length) {
            delete_node(sp, s);
            /* After the end of text, no need to read, */
            s = (s + 1) & (N - 1);
            r = (r + 1) & (N - 1);
            /* but buffer may not be empty. */
            if (--len)
                insert_node(sp, r);
        }
    } while (len > 0);   /* until length of string to be processed is zero */
    if (code_buf_ptr > 1) {    /* Send remaining code. */
        for (i = 0; i < code_buf_ptr; i++)
            if (dst < dstend)
                *dst++ = code_buf[i];
            else
                goto finish;
    }
    result = dst;
finish:
    if (sp) free(sp);
    return result;
}

 

courtesy of Apple source --> https://www.opensource.apple.com/source/xnu/xnu-792.6.70/libsa/mkext.c ;)

 

Fabio

Link to comment
Share on other sites

There are a couple of bugs I need to submit patches for, would be nice if it's in the 2.2 official release.

- xml parser has an issue when parting xml data with . This affects an updated version of the kernel patcher.

- I need lzss compression (decompression is in chameleon). I may submit a patch or I may just add compression to my code.

- I may add some minor changes in order to allow better booting directly from installers.

Finally. And mek the autoresolution module doesn't work anymore on my hd3000 from months.

  • Like 1
Link to comment
Share on other sites

Finally. And mek the autoresolution module doesn't work anymore on my hd3000 from months.

 

+1 for updating the resolution module.

It doesn't work on modern nvidia cards either (GeForce 210 and newer, I believe). I think it can be updated with some help from Clover's vbios patcher. 

 

Interestingly though, its working perfectly with my (and most) ATI cards :D

Link to comment
Share on other sites

I don't think Resolution.dylib ever worked with nvidia cards? AFAIR it was made exclusively for Intel on-board video. I'm surprised to hear that it works with ATI cards.

 

Here's another minor issue, My native resolution (1920x1080) is listed as available in the video info drop down box in the Chameleon GUI but I haven't been able to get Chameleon to use that resolution at all since I got this display. I've had the graphics mode flag set since day one and changed resolution in the theme but I still have black bars until I get to the desktop.

 

DisplayPort 1.2, Dell U2312HM, 660 GTX.

 

At the moment I have a 2nd, smaller display on loan for some work I've been doing, connected to the DVI port. Now BIOS and boot screens go to that display...I know this is not Chameleon's fault..nvidia should let you choose which port you want to use for your primary display! When I have to give it back, I'll try hooking up the U2312HM via DVI, obviously nvidia has decided for me that DVI is where the primary display should be.

 

Dr Hurt what about your baseboard-info thing, did you figure it out?

 

/EDIT

 

 

Read HFS+ file: [hd(0,2)/Extra/modules/Resolution.dylib] 26528 bytes.
Module 'Resolution.dylib' by 'Unknown' Loaded.
    Description:
    Version: 0
    Compat:  0
Resolution:
 core proc identified
 Detected chipset/proc id (DRAM controller): 01508086
 VBios: nVidia
 Patching: BT_NVDA Edid not found or invalid - vbios not patched!

 

...that's what it looks like here..

Link to comment
Share on other sites

I haven't really investigated the baseboard issue since I don't have much time and everything seems to working fine.

 

As for the resolution module, have a look at its source code in the forge. It's supposed to support Intel, nvidia, and AT, but it needs a major overhaul. 

 

Here's the bdmesg from the resolution module on my system:

Read HFS+ file: [hd(0,2)/Extra/modules/Resolution.dylib] 26528 bytes.
Module 'Resolution.dylib' by 'Unknown' Loaded.
Description: 
Version: 0
Compat:  0
Resolution:
 Detected chipset/proc id (DRAM controller): 27708086
 VBios: ATI, BT_ATI_2
 Patching: BT_ATI_2
 Edid detailed timing descriptor found: 1920x1080
 vbios mode 0 patched!
  • Like 1
Link to comment
Share on other sites

<key>SMbiosdate</key>
<string>05/05/09</string>
<key>SMbiosvendor</key>
<string>Apple Inc.</string>
<key>SMbiosversion</key>
<string>MBP51.88Z.007E.B05.0905051508</string>
<key>SMboardassettag</key>
<string></string>
<key>SMboardlocation</key>
<string>Part Component</string>
<key>SMboardmanufacturer</key>
<string>Apple Inc.</string>
<key>SMboardproduct</key>
<string>Mac-F42D86C8</string>
<key>SMboardserial</key>
<string>C68049587F2GCR53D</string>
<key>SMboardtype</key>
<string>10</string>
<key>SMboardversion</key>
<string>MacBookPro5,1</string>
<key>SMchassisassettag</key>
<string></string>
<key>SMchassismanufacturer</key>
<string>Apple Inc.</string>
<key>SMchassisserial</key>
<string>XA95145T1G0</string>
<key>SMchassistype</key>
<string>10</string>
<key>SMchassisversion</key>
<string>Mac-F42D86C8</string>
<key>SMcpuassettag</key>
<string>Intel® Core™2 Duo Processor T9300 @ 2.50GHz</string>
<key>SMcpumanufacturer</key>
<string>Intel(R) Corporation</string>
<key>SMcpupartnumber</key>
<string></string>
<key>SMcpuserial</key>
<string></string>
<key>SMcpuupgrade</key>
<string>4</string>
<key>SMfamily</key>
<string>MacBookPro</string>
<key>SMmanufacturer</key>
<string>Apple Inc.</string>
<key>SMproductname</key>
<string>MacBookPro5,1</string>
<key>SMserial</key>
<string>XA95145T1G0</string>
<key>SMskunumber</key>
<string></string>
<key>SMsystemversion</key>
<string>1.2</string>
CPU is Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHz, family 0x6, model 0x17

SMBIOS rev. 2.4, DMI rev. 2.4

Type: 218, Length: 251, Handle: 0xda00
Type: 218, Length: 251, Handle: 0xda01
Type: 218, Length: 65, Handle: 0xda02
Type: 0, Length: 24, Handle: 0x0000
BIOS Information:
Vendor: Apple Inc.
Version: MBP51.88Z.007E.B05.0905051508
Release Date: 05/05/09
BIOS Revision: 0.1

Type: 1, Length: 27, Handle: 0x0100
System Information:
Manufacturer: Apple Inc.
Product Name: MacBookPro5,1
Version: 1.2
Serial Number: ** PRIVATE **
UUID: ** PRIVATE **
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: MacBookPro

Type: 2, Length: 9, Handle: 0x0200
Base Board Information:
Manufacturer: Apple Inc.
Product Name: Mac-F42D86C8
Version: MacBookPro5,1
Serial Number: ** PRIVATE **
Asset Tag: Not Specified
Location In Chassis:
Type: <OUT OF SPEC>

Type: 3, Length: 13, Handle: 0x0300
Chassis Information:
Manufacturer: Apple Inc.
Type: Notebook
Version: Mac-F42D86C8
Serial Number: ** PRIVATE **
Asset Tag: Not Specified

Type: 4, Length: 40, Handle: 0x0400
Processor Information:
Socket Designation: Microprocessor
Type: 3
Family: 0xBF
Manufacturer: Intel(R) Corporation
ID: 0x10676
Processor Version: Not Specified
External Clock: 199MHz
Maximum Clock: 2493MHz
Current Clock: 2500MHz
Serial Number: Not Specified
Asset Tag: Intel® Core™2 Duo Processor T9300 @ 2.50GHz
Part Number: Not Specified

Apple specific Processor Type: cpu-type: 0x301

Type: 127, Length: 4, Handle: 0xde01

As far as this output:

Location In Chassis: 
Type: <OUT OF SPEC>

I am unable to determine my SMchassistype, so I used the same value as the SMboardtype which is clearly erroneous.

 

Also, what does this particular error pertain to:

Error: system-type must be 0..6. Defaulting to 2

I do have the SystemType=2 entry in my org.chameleon.Boot.plist.

 

Thank You.

 

Can you try for test older rev, but with all smbios improvements? Thanks. 2316test.zip

Link to comment
Share on other sites

Hi.

Sorry to come again with my small egoistic little problem - low res on my Gigabyte 9400 GT (1GB) old board in Mountain Lion.

 

Just to confirm after some testing that highres and Edid recognition works ONLY with GraphicsEnabler=Yes using the Geforce and NVDA Kexts (including Tesla), from Mavericks.

I tried different combinations including mixing some Mavericks kexts with ML kexts.

Although system complains about Mavericks drivers are built with incorrect headers for the the system, they do work.

 

It does seem a drivers issue not bootloader and it is strange for me that same board and monitor are well recognized on Mavericks but not on ML.

I have not tried Edid injection because apparently I have to do it on DSDT not on Chameleon.

So, for me although not perfect solution it's good enough for now, as it does not seem to affect OSX functionality.

thanks to everyone who tried to help.

estarola

Link to comment
Share on other sites

This problem Error: system-type must be 0..6. Defaulting to 2 was born with last big Fabio update  http://forge.voodooprojects.org/p/chameleon/source/commit/2327/

 

x2. The "SystemType" error come from r2327 (the parameter or whatever defined in o.c.B.p, which does not works). In r2286 this works fine.

 

Fixed. commit 2344.

 

Fabio

  • Like 2
Link to comment
Share on other sites

why i can't compile the source code from enoch branches?

 

nvidia.c:1654:21: error: use of undeclared identifier 'kNvidiaGeneric'
        if ((getBoolForKey(kNvidiaGeneric, &showGeneric, &bootInfo->chameleonConfig) && show...
                           ^
1 error generated.
Link to comment
Share on other sites

×
×
  • Create New...