Author Topic: What screen resolution is Chameleon using?  (Read 18339 times)

0 Members and 1 Guest are viewing this topic.

Blackosx

  • Forum Moderator
  • Posts: 1150
What screen resolution is Chameleon using?
« on: February 15, 2010, 11:31:39 AM »
What screen resolution is Chameleon using?

It seems a few people are having problems identifying the screen resolution that Chameleon is using for the GUI on their system and it's fairly justified as Chameleon doesn't actually report the resolution it's using and finding it is more of a trial and error process. I have put in a request to the developers to add a way for Chameleon to report the resolution it's actually using and the good news is DieBuche has responded to my request and has now added code which allows me to build a debug version of the boot file to report back the resolution of the GUI that Chameleon is using. Many thanks Diebuche :)  You can find more information about this in the section 'Debug Boot File' below.

For a general overview though, this is my interpretation of what happens and it will hopefully be of some help.

When using the default Chameleon theme or a similar theme without a background image, the device icons effectively float on the screen and it doesn't really matter what size or position they are as long as they fit on the screen. The beauty of this is the theme can be used on a variety of screen shapes and resolutions without the need to adjust anything. However, if you find the device icons are not being drawn squarely or if you want to use a theme which uses a background then the resolution of the GUI becomes important for resizing and making the theme display as it was intended.

It's important to remember that Chameleon doesn't use any video drivers and therefore, not all the resolutions available in the Finder are available to Chameleon. The resolution it uses is worked out from an algorithm that looks at the all the resolutions provided by your video cards' BIOS and selects the nearest one to the desired resolution in the theme.plist indicated by the screen_width and screen_height key/strings.

If you want to investigate this further then looking at the source files you can see the code responsible for this in the function getVESAModeWithProperties in graphics.c.

Sometimes though, the resolution you get can be of the wrong aspect ratio resulting in squashed graphics. For instance you might be using a monitor capable of displaying 1680x1050 (16:10) but Chameleon will choose to use 1280x1024 (4:3).


Debug Boot File

The easy way to now check what resolution is using is to use the attached debug boot file named Debug_boot_rev90. It's built from rev90 from the SVN with a debug option.

This is only for testing and to find out what resolution is being used for the GUI. Once you have found the resolution you're looking for then replace this boot file with the one you were using previously. Before using it, make sure you have a bootCD or a bootable USB stick you have tested and works for your machine just in case your machine won't boot using it.

* If you're not sure about this then please ask before jumping in.

Usage: When booting with this new file, at the top left of the screen under the normal banner, you will see a list of readings. We are interested in the ones that read width and height which will report the resolution being used..



Previous Method

If you are not happy with the choice it gives you, then by finding out what resolutions are available to Chameleon you can try to manually set the best resolution for your system. To do that, you need to boot in to the Chameleon GUI, press the down arrow on your keyboard to bring up the menu. Then down arrow to the sixth option 'Video Info' and have a look in the resulting list to see if your desired resolution is there.

Hint: Check how you have your display connected because you might get different available resolutions depending on whether your using VGA or DVI, or maybe even try a different a secondary output from your video card?

The aim here, is to choose a resolution from the list which best suits your display's aspect ratio. So if your display is 16:10 then you will want to choose a different resolution that is also the same aspect ratio. For a comprehensive list of screen resolutions by aspect ratio see this illustration on wikipedia, but here's a list of the popular ones:
                               
16:10
2560x1600
1920x1200
1680x1050
1440x900
1280x800
                               
16:9
1920x1080
1366x768
1280x720
854x480
                               
4:3
1600x1200
1400x1050
1280x960
1024x768
800x600
768x576
640x480

When you have chosen a resolution to best suit your system you can test it by changing the screen_width and screen_height key/strings in the theme.plist to the new resolution and using a background image to see if it's drawn correctly.

For your testing I have supplied three test card images for you to use if you want, one for each 16:10, 16:9 and 4:3. You will need to take the one for your relevant aspect ratio and resize it to your required size, then drop it in to your theme folder and reboot to see if it gets drawn correctly.  Note: make a backup of your existing theme's background.png first to avoid over writing it.
« Last Edit: November 17, 2010, 04:34:14 PM by Blackosx »
10.10.5 / 10.11 GM1 | Asus Maximum IV Gene-Z | i7-2600 3.40GHz | 4GB | Radeon 5770 1GB

Enzo

  • Resident
  • Posts: 256
Re: [Tip] What screen resolution is Chameleon using?
« Reply #1 on: February 15, 2010, 11:37:24 PM »
Great TIP!

Gringo Vermelho

  • Forum Moderator
  • Posts: 611
  • The gray monster energy hat
Re: [Tip] What screen resolution is Chameleon using?
« Reply #2 on: February 16, 2010, 04:16:53 AM »
Very useful guide, we get a lot of posts about boot resolution lately.

Chameleon test card =  ;D
10.9.5 - ASUS P8Z77-V Pro - i5 3570K - GTX 660 - Chameleon 2.3 svn-r2xxx
How to...
Install Chameleon: http://forum.voodooprojects.org/index.php/topic,649
Make your own Chameleon boot CD: http://forum.voodooprojects.org/index.php/topic,484.msg2131.html#msg2131

consume

  • Entrant
  • Posts: 5
Re: [Tip] What screen resolution is Chameleon using?
« Reply #3 on: February 16, 2010, 09:37:15 PM »
So the vesa modes are apart of the video card right? Why is it that my gtx 260 core 216 does not have a 1440x900 vesa mode? It only has 4:3 resolutions :S (320x220,640x480, 800x600, 1024x768, 1280x1024). Wouldn't a newer card like this have those modes? And since it doesn't, couldn't i just modify the bios of the card to add them? Or is it because im using a vga-dvi adapter?
« Last Edit: February 16, 2010, 09:46:24 PM by consume »

Blackosx

  • Forum Moderator
  • Posts: 1150
Re: [Tip] What screen resolution is Chameleon using?
« Reply #4 on: February 16, 2010, 10:38:40 PM »
So the vesa modes are apart of the video card right? Why is it that my gtx 260 core 216 does not have a 1440x900 vesa mode? It only has 4:3 resolutions :S (320x220,640x480, 800x600, 1024x768, 1280x1024). Wouldn't a newer card like this have those modes? And since it doesn't, couldn't i just modify the bios of the card to add them? Or is it because im using a vga-dvi adapter?
Hi consume

These are good questions though they are ones I can't answer with absolutes. Please understand that I am no expert on this subject and I only write from my own personal experiences.  I can point you to this text about VESA BIOS Extensions and also to this text about Getting VBE Mode Info which Chameleon seems to do by looking at graphics.c.

I suspect it might have something to do with you using a VGA-DVI adapter, but please feel free to post any further findings here so we can all try and understand it more.
10.10.5 / 10.11 GM1 | Asus Maximum IV Gene-Z | i7-2600 3.40GHz | 4GB | Radeon 5770 1GB

diebuche

  • VoodooLabs
  • Posts: 30
Re: [Tip] What screen resolution is Chameleon using?
« Reply #5 on: February 17, 2010, 03:48:45 PM »
FYI:
screen_width/screen_height is the res of the bootselector
boot_width/height is the res of the boot screen (apple & spinner)
Graphicsmode is only used for the final mac os x gui.

Most modern graphicscards only have 4:3 res. (this is because vesa is hardly used anymore/drivers use other access ways). Im not sure if u can mod the vbios?

So, if u don't have an 16:10 option in ur vesa, u'll have to either use stretched images or fix them urself.
this might be cured if someone manages to port 915resolution.c to NV/ATI cards.

Blackosx

  • Forum Moderator
  • Posts: 1150
Re: [Tip] What screen resolution is Chameleon using?
« Reply #6 on: February 18, 2010, 10:20:05 AM »
Most modern graphicscards only have 4:3 res.
......
this might be cured if someone manages to port 915resolution.c to NV/ATI cards.
Thanks for the info diebuche.
10.10.5 / 10.11 GM1 | Asus Maximum IV Gene-Z | i7-2600 3.40GHz | 4GB | Radeon 5770 1GB

diebuche

  • VoodooLabs
  • Posts: 30
Re: [Tip] What screen resolution is Chameleon using?
« Reply #7 on: February 18, 2010, 02:40:41 PM »
Another thing i found:

The res. which is used will never be bigger than either the native screen res or the requested screen_width/screen_height size.

Two examples to clarify:

Your monitors native res: 1680x1050 (16:10)
screen_width X screen_width in Theme file = 1920x1080 (16:9)

resulting size: next lower/equal vesa mode -> 1400x1050 (4:3)


Your monitors native res: 1680x1050 (16:10)
screen_width X screen_width in Theme file = 1280x960 (4:3)

resulting size: next lower/equal vesa mode -> 1280x960 (4:3)

diebuche

  • VoodooLabs
  • Posts: 30
Hey blackosx,
I found a way to patch the VBIOS to support any widescreen resolution.
Right now it is only usable by flashing the card, but I'll work at implementing it into Cham to patch the vbios on the fly.

Read more here:
http://www.insanelymac.com/forum/index.php?showtopic=211294&pid=1414671

Blackosx

  • Forum Moderator
  • Posts: 1150
Bloomin' marvelous. :)
10.10.5 / 10.11 GM1 | Asus Maximum IV Gene-Z | i7-2600 3.40GHz | 4GB | Radeon 5770 1GB