2009-09-02, 03:57
Greets everyone,
First, let me give you the specific scenario I was experiencing so you can determine whether this is something impacting you or not. I have an ION platform (zotac) running an updated (r22278) XBMC Live install to HDD and the latest NVIDIA drivers through HDMI. I've searched at-length to try to find out why I was experiencing so much black crush, and it appears that my platform is using the expanded colorspace for PC outputs instead of TV. To make matters worse, the brightness/contrast settings of XBMC don't appear to work anymore except for VDPAU material, and a significant portion of my movies are standard DVD rips which are not VDPAU accelerated. There is a ticket open to allow selection of PC/TV colorspace, but since a permanent fix hasn't arrived yet I thought I'd do a quick write-up about my temporary fix. I have to warn you, XBMC Live is my first dip into Linux so I apologize if this is already well-known or dumb in any way. Now, onto the good stuff!
********************
1) Use another device such as a DVD player to get your TV settings calibrated to a known good source. We'll use those calibration settings to know the correct black level of your TV and try to get XBMC to match as closely as possible. You shouldn't touch your TV's brightness controls from here on.
2) Boot into a standard XBMC session, *not* safe mode
3) hit ctrl + alt + F2 to bring up a command line session, and login as your user account (alternatively, use SSH to login while keeping your XBMC session active if you have easy access to check your TV from your PC)
4) type "export DISPLAY=:0.0" <-- this links this session with your display to allow changes to be made
5) type "xgamma -gamma x.x" where x.x is a number from 0.0 to 10.0 (1 is the default, and small changes here have a big impact. Numbers higher than 1 increase the brightness level. For reference, I found that 1.4 is excellent for my TV. You can actually take this as granular as x.xxx if you desire, but I didn't feel the need to get that detailed)
6) hit ctrl + alt + F1 to go back to your XBMC session, and check the effect of your changes. This will effect EVERYTHING in XBMC, so if you've made any brightness changes in VDPAU it's best to set them back to defaults if you're going to use HD media to test.
7) cycle with ctrl + alt + F2 or F1 back and forth between these sessions, making small tweaks to the <x.x> numbers until you find a brightness setting you're happy with
8) edit /etc/X11/xorg.conf using whatever means you're comfortable with (I typically sftp as root to alter this file) and add these gamma settings under the "Monitor" section as "gamma x.x x.x x.x" <-- you need to put the number in three times because it sets your gamma individually for Red Green Blue. Here's mine for reference:
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
gamma 1.4 1.4 1.4
9) Save xorg.conf and reboot, and your changes should have remained
******************
I know this is a quick and dirty write-up, but I wanted to get this out to my fellow XBMCers since I searched ad nauseum and couldn't find a workaround like this. For reference, here is the website that helped me get the ball rolling:
http://www.novell.com/support/search.do?...DT_TID_1_1
I hope this helps,
DJ A1ien
First, let me give you the specific scenario I was experiencing so you can determine whether this is something impacting you or not. I have an ION platform (zotac) running an updated (r22278) XBMC Live install to HDD and the latest NVIDIA drivers through HDMI. I've searched at-length to try to find out why I was experiencing so much black crush, and it appears that my platform is using the expanded colorspace for PC outputs instead of TV. To make matters worse, the brightness/contrast settings of XBMC don't appear to work anymore except for VDPAU material, and a significant portion of my movies are standard DVD rips which are not VDPAU accelerated. There is a ticket open to allow selection of PC/TV colorspace, but since a permanent fix hasn't arrived yet I thought I'd do a quick write-up about my temporary fix. I have to warn you, XBMC Live is my first dip into Linux so I apologize if this is already well-known or dumb in any way. Now, onto the good stuff!
********************
1) Use another device such as a DVD player to get your TV settings calibrated to a known good source. We'll use those calibration settings to know the correct black level of your TV and try to get XBMC to match as closely as possible. You shouldn't touch your TV's brightness controls from here on.
2) Boot into a standard XBMC session, *not* safe mode
3) hit ctrl + alt + F2 to bring up a command line session, and login as your user account (alternatively, use SSH to login while keeping your XBMC session active if you have easy access to check your TV from your PC)
4) type "export DISPLAY=:0.0" <-- this links this session with your display to allow changes to be made
5) type "xgamma -gamma x.x" where x.x is a number from 0.0 to 10.0 (1 is the default, and small changes here have a big impact. Numbers higher than 1 increase the brightness level. For reference, I found that 1.4 is excellent for my TV. You can actually take this as granular as x.xxx if you desire, but I didn't feel the need to get that detailed)
6) hit ctrl + alt + F1 to go back to your XBMC session, and check the effect of your changes. This will effect EVERYTHING in XBMC, so if you've made any brightness changes in VDPAU it's best to set them back to defaults if you're going to use HD media to test.
7) cycle with ctrl + alt + F2 or F1 back and forth between these sessions, making small tweaks to the <x.x> numbers until you find a brightness setting you're happy with
8) edit /etc/X11/xorg.conf using whatever means you're comfortable with (I typically sftp as root to alter this file) and add these gamma settings under the "Monitor" section as "gamma x.x x.x x.x" <-- you need to put the number in three times because it sets your gamma individually for Red Green Blue. Here's mine for reference:
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
gamma 1.4 1.4 1.4
9) Save xorg.conf and reboot, and your changes should have remained
******************
I know this is a quick and dirty write-up, but I wanted to get this out to my fellow XBMCers since I searched ad nauseum and couldn't find a workaround like this. For reference, here is the website that helped me get the ball rolling:
http://www.novell.com/support/search.do?...DT_TID_1_1
I hope this helps,
DJ A1ien