Jump to content

How to Unstretch the Chameleon Boot Screen


Mac Boy
 Share

39 posts in this topic

Recommended Posts

@Mac Boy: Thank you! it works just fine and does look a lot better!

 

My card is a "nvidia geforce 315/512MB" (yeah a very cheap one ;) ).

 

I would only make a simple suggestion, for people stuck with the annoying error:

"fdisk: could not read MBR code: Is a directory"

 

Suggestion: Instead of using the 'standard fdisk', use the one installed by Chameleon, which only overwrites the first 440 bytes of the MBR. Like this:

> fdisk440 -uy -f mbr /dev/disk1 (in case disk1 is the boot disk)

 

You can find 'fdisk440' in /usr/standalone/i386/fdisk440

 

Cheers,

Link to comment
Share on other sites

Gonna give this another try tonight. Last time I tried it I got a nice clean and crisp 1280x1024 on my GTX 470...but I couldn't get 1920x1080. 1920x1080 was specified in the boot plist.

 

Maybe because the highest VESA mode supported by the card is 1280x1024 so I'm out of luck???

 

EDIT: So your code ONLY DISABLES THE SCALER (allowing higher resolutions)???? In this case the ONLY thing that specifies the resolution to ACTUALLY use is

 

<key>Graphics Mode</key>

<string>1920x1200x32</string>

 

Is that correct?

 

Thanks Mac Boy!

Link to comment
Share on other sites

It does not allow higher resolutions, no matter what is in your boot.plist. If you want to try higher resolutions, you can try to hack your vesa table, but I was not able to get 1920x1080.

 

I have tried DieBuche's method to add 1920x1200 to my video card BIOS and I believed I added the code properly, but there was no difference in the resolution.

 

Maybe your method plus his video card BIOS mod will work?! I hope so...will try it this weekend.

Link to comment
Share on other sites

  • 4 months later...

It worked with 8800gts, which just goes up to 1280x1024x32. Thanks!! :)

 

My 30inch lcd now displays huge black background with 1280x1024 sized gray box inside

Apple logo and spinning wheel is not stretched anymore..nice!

 

Now, If I can only make this background.png to be black it would be perfect, I guess

Link to comment
Share on other sites

Thanks. If you want a black background edit your /Extra/Themes/Default/theme.plist as follows:\

 

<key>screen_bgcolor</key>

<string>#000000</string>

 

<key>devices_bgcolor</key>

<string>#000000</string>

 

Thanks for your reply.

As I understand, it's not possible to change the gray color of boot up screen. So if I want both unstretched apple logo and spinning wheel, I have to live with this gray box inside of black back ground

Link to comment
Share on other sites

OK, I misunderstood your question.

 

Anyway, it is possible. Here's one way to do it by hacking chameleon:

cd /

perl -pi.bak -e 's;\xff\xff\xff\xbf\xbf\xbf;\xff\xff\xff\x76\x7f\x73;g' boot

The above line should change the gray to the same color as the chameleon greenish-gray-tinted background.

 

So if you want pure black, use:

perl -pi.bak -e 's;\xff\xff\xff\xbf\xbf\xbf;\xff\xff\xff\x00\x00\x00;g' boot

 

Let me know how it works out.

Link to comment
Share on other sites

Thanks a lot for your reply

I've tried the pure black code and it worked! :)

One problem though: now, because of that black background, the spinning wheel is gone lol

 

I am going to try the greenish gray background and see how it looks

 

Edit: Tried the greenish-gray-tinted background but, it seems background is same black color as the pure black one

Link to comment
Share on other sites

You can run the perl command only once on a fresh boot file. All it does is a simple binary search-and-replace and makes a backup file. Since you ran it twice, the second try did not do anything -- but it did overwrite your backup. Now both of your boot and boot.bak files are set to a black background.

 

To fix the problem, you need to get a copy of your original boot file and run perl with the greenish-gray-tinted background.

Link to comment
Share on other sites

  • 6 months later...

Copy and paste the above old-school listing to a plain text file called txt, then recreate the binary with this command:

xxd -r txt boot0

 

Install

You'll notice that the file length is 512 bytes: the first 440 are for the MBR executable code, the next 4 are reserved for the disk signature, and the remaining 68 are for the partition table. Please verify that the MD5 of the newly created boot0 is 97a61d25dd69f0cf87d91f40607f1258, then install it as follows:

sudo fdisk -uy -f boot0 /dev/disk0

 

Windows 7 Install

If you dual boot, the above command will overwrite your disk signature. To avoid that use these commands:

dd if=boot0 of=mbr bs=440 count=1

sudo fdisk -uy -f mbr /dev/disk0

 

Now when you reboot, you'll notice that the BIOS will go through it's various stages, and the text will be large and stretched -- just as it always was. But once the new MBR code is loaded and executed, the text will not be stretched and it will be very sharp. It may look like a text window in the center of the display, but it's not. Here you may see the boot0: Unstretch message if you are quick. Then the Chameleon boot screen will appear and you'll see sharp text (especially if you use -v) and a one to one pixel ratio.

 

Conclusion

If you have a recent nVidia video card AND a digital LCD connected via DVI, you can install the above boot sector and enjoy an undistorted Chameleon boot screen. Once your chosen OS boots up and loads it's own drivers, they will take over and set the resolution and video mode.

 

Works as advertised... Sort of. The dual boot work around didn't work for me. "sudo fdisk -uy -f mbr /dev/disk0" command didn't work for me. I got the same "fdisk cannot read MBR" error that other people got. If you are dual booting with Win 7 on the same disk be sure to have a Win 7 recovery disk around. You will probably need it. I finally got the thing to work after some trial and error. I don't remember exactly what I did. It involved hosing my MBR, fixing it with a Win 7 recovery disk and reinstalling chameleon. A critical step in recovery is setting the Win 7 partition as "active" prior to repairing the MBR. I used the diskpart utility at the command line. You must then make the OS X directory active after you have performed the Win 7 repair otherwise Chameleon never boots. It just goes straight to the Windows 7 directory. I did this with an Asus nVidia 210 Silent 1 GB. Question is why didn't you just attach the boot0 file if it is the same for everyone? I inserted mine below. Verify the MD5 guys and then use it if it matches 97a61d25dd69f0cf87d91f40607f1258.

 

If you want to make it yourself for some bizarre reason just open TextEdit. Copy just the Hexdump in the OP. Do not copy any extra spaces. TextEdits default file format is rich text. The text appears green on my Hackintosh just like in the OP. In text edit go to the "Format" menu and click "Make Plain Text." Save the file as "txt". I saved the file to the desktop. Next open terminal. Then type "xxd -r ". Then drag and drop the file named "txt" into the Terminal window. Make sure there is at least one space between "xxd -r" and the file named "txt". Type a space after "txt" if there is not one already and then type "boot0". Hit "Enter". You have now created the "boot0" binary in the folder /Users/"Your name here"/. You don't really need to know that. But if you are curios that is where the file is. Now type "md5 boot0" and hit enter. Terminal should spit out a number that matches 97a61d25dd69f0cf87d91f40607f1258. Okay now type "sudo fdisk -uy -f boot0 /dev/disk0". That should be it.

 

md5 boot0

 

If you just use the boot0 I made be sure to verify the md5. Go into terminal. Type "md5". Make sure there is one space after "md5" and then just drag and drop my "boot0" file into terminal. The number that Terminal spits out should match. If it does then use the "sudo fdisk -uy -f boot0 /dev/disk0" except while you are typing it in when you get to where "boot0" is just drag and drop my verified "boot0" into terminal. Then finish typing the command. It should work.

 

"md5 boot0" output should look like this...

MD5 (boot0) = 97a61d25dd69f0cf87d91f40607f1258

 

OOPS!!! I am not permitted to upload that kind of file. :wallbash: Sorry folks.

 

Oh well. I hope this post at least fills in some missing steps for noobs.

Link to comment
Share on other sites

 Share

×
×
  • Create New...