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
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
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
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:
When you have chosen a resolution to best suit your system you can test it by changing the screen_width
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.