I had to do quite a bit of Xorg.conf hacking to get my projector to work properly with Myth, so I thought I'd share. 1) If you're using the same projector as me, you're in luck. 2) Maybe your TV is exhibiting the same issues.
First of all, more details on my setup. I am using a DVI->HDMI cable, connected through an ONKYO-SR-705 receiver. (Receiver switches between 3 HDMI sources, passing 1 through to my projector.)
My problem is that the EDID information being reported by my projector covered too many modes, and Myth was selecting an invalid one. Also, since I'm using a HDMI-pass-through switch, I wanted to be able to boot-up the MythBox without ensuring that the Onkyo was tuned to the MythBox to enable the EDID handshake. But, the primary issue was - EDID wasn't working.
So, with EDID enabled, I looked up the modes being reported by my setup in /var/log/Xorg.0.log, and copied the modes that were listed in my owner's manual as being optimal for my projector.
I then shut EDID off. Now, here I ran into a real issue that was difficult to track down, and I think this is the primary value of my post.
I had to get 2 things to happen.
1) Force X to recognize the resolutions I was specifying, and not reject them with the error "Mode is too large for DFP Native Resolution"
The key action for this was to add this line to my Xorg.conf Screen section
Code:
Option "ExactModeTimingsDVI" "True"
This tells xorg.conf to use the exact modes specified in xorg.conf. Otherwise, for DVI connections, it defaults to matching the mode you specify with the closest mode from EDID or X, etc.
I also wanted to make absolutely certain there weren't errant modes sneaking into my configuration, so I threw every flag on turning off modes from other sources, again in the screen section.
Code:
Option "ModeValidation" "NoXServerModes, NoPredefinedModes, NoVesaModes, NoEdidModes, NoDFPNativeResolutionCheck, AllowNon60HzDFPModes, NoEdidDFPMaxSizeCheck"
Also, an initial issue I had was getting my nVidia GeForce 7600 to send the signal out the DVI port. I forced that with this flag.
Code:
Option "ConnectedMonitor" "DFP"
The Device, Monitor, and Screen sections of my xorg.conf file follows. I hope this information is helpful to someone!! Also, I'm sure I have some unnecessary flags, etc. flipped, but it works, and I don't see any errors thrown in /var/log/Xorg.0.log, so I'm going with it!
The only issue I have is that DPI is defaulting to 75x75. The EDID data from my projector gave no information. The image looks good to me at 75x75, but if anyone has any recommendations on calculating an optimal value for this settiing, I'd be all ears.
Code:
Section "Device"
### Available Driver options are:-
#Option "sw_cursor"
#Option "hw_cursor"
#Option "NoAccel"
#Option "ShowCache"
#Option "ShadowFB"
#Option "UseFBDev"
#Option "Rotate"
Option "UseEDID" "False"
Option "UseEvents" "True"
Identifier "Videocard0"
# The following line is auto-generated by KNOPPIX mkxf86config
Driver "nvidia"
VendorName "All"
BoardName "All"
# BusID "PCI:1:0:0"
Option "XvmcUsesTextures" "false"
#Option "NVAGP" "2"
EndSection
#------------------------------------------------------------------------------
# From Page 50 of the Panasonic PT-AE3000U Owner's Manual
#------------------------------------------------------------------------------
#
# Mode | Display | (dots) | Scanning | Dot | Pic |
# | | | Frequency | Clk | Qual|
# | | | H (kHz)| V (Hz)| | |
#-----------------------------------------------------------------------| |
# 525p (480p) | 525p | 720 x 483 | 31.5 | 59.9 | 27.0 | A |
# 635p (576p) | 625p | 720 x 576 | 31.3 | 50.0 | 27.0 | A |
# 1 125 (1 080)/60i | 1 125/60i | 1 920 x 1080i | 33.8 | 60.0 | 74.3 | AA |
# 1 125 (1 080)/50i | 1 125/50i | 1 920 x 1080i | 28.1 | 50.0 | 74.3 | AA |
# 1 125 (1 080)/24p | 1 125/24p | 1 920 x 1080 | 27.0 | 24.0 | 74.3 | AA |
# 1 125 (1 080)/60p | 1 125/60p | 1 920 x 1080 | 67.5 | 60.0 |148.5 | AA |
# 1 125 (1 080)/50p | 1 125/50p | 1 920 x 1080 | 56.3 | 50.0 |148.5 | AA |
# 750 (720)/60p | 750/60p | 1 280 x 720 | 45.0 | 60.0 | 74.3 | AA |
# 750 (720)/50p | 750/50p | 1 280 x 720 | 37.5 | 50.0 | 74.3 | AA |
#------------------------------------------------------------------------------
#
# *1. The "i" appearing after the resolution indicates an interlaced signal
# *2. AA = Maximum picture quality can be obtained
# A = Signals are upconverted by the projector's image processing circuit
#------------------------------------------------------------------------------
Section "Monitor"
Identifier "Monitor0"
VendorName "Panasonic"
ModelName "PT-AE3000U 1080p Projector"
HorizSync 27.00-67.5
VertRefresh 24.00-60.00
#----------------------------------------------------------------------
# Mode timings were determined by allowing the Mythbox to query
# EDID information, then comparing the modes reported by EDID
# in /var/log/Xorg.0.log with the Owner's Manual supported
# resolutions. (See table above.)
# I specify modes for the resolutions supported
# by my monitor that I want to use. The EDID information specified
# too many modes, and Myth selected a poor resolution, rendering the
# menus and playback windows larger than the screen image area.
#----------------------------------------------------------------------
Mode "Panasonic_720x576@50"
DotClock 27.00
HTimings 720 732 796 864
VTimings 576 581 586 625
Flags "+HSync" "+VSync"
EndMode
Mode "Panasonic_1920x1080i@60"
DotClock 74.18
HTimings 1920 2008 2052 2200
VTimings 1080 1084 1094 1124
Flags "+HSync" "+VSync" "Interlace"
EndMode
Mode "Panasonic_1920x1080i@50"
DotClock 74.25
HTimings 1920 2448 2492 2640
VTimings 1080 1084 1094 1124
Flags "+HSync" "+VSync" "Interlace"
EndMode
Mode "Panasonic_1920x1080@24"
DotClock 74.16
HTimings 1920 2558 2602 2750
VTimings 1080 1084 1089 1125
Flags "+HSync" "+VSync"
EndMode
Mode "Panasonic_1920x1080@60"
DotClock 148.35
HTimings 1920 2008 2052 2200
VTimings 1080 1084 1089 1125
Flags "+HSync" "+VSync"
EndMode
Mode "Panasonic_1920x1080@50"
DotClock 148.5
HTimings 1920 2448 2492 2640
VTimings 1080 1084 1089 1125
Flags "+HSync" "+VSync"
EndMode
Mode "Panasonic_1280x720@60"
DotClock 74.18
HTimings 1280 1390 1430 1650
VTimings 720 725 730 750
Flags "+HSync" "+VSync"
EndMode
Mode "Panasonic_1280x720@50"
DotClock 74.25
HTimings 1280 1720 1760 1980
VTimings 720 725 730 750
Flags "+HSync" "+VSync"
EndMode
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
Option "UseEDID" "False"
Option "ConnectedMonitor" "DFP"
Option "IncludeImplicitMetaModes" "FALSE"
Option "ExactModeTimingsDVI" "True"
Option "ModeValidation" "NoXServerModes, NoPredefinedModes, NoVesaModes, NoEdidModes, NoDFPNativeResolutionCheck, AllowNon60HzDFPModes, NoEdidDFPMaxSizeCheck"
Option "AddARGBGLXVisuals" "True"
SubSection "Display"
Viewport 0 0
Depth 24
#Modes "Panasonic_720x576@50" "Panasonic_1920x1080i@60" "Panasonic_1920x1080i@50" "Panasonic_1920x1080@24" "Panasonic_1920x1080@60" "Panasonic_1920x1080@50" "Panasonic_1280x720@60" "Panasonic_1280x720@50"
Modes "Panasonic_1920x1080@60" "Panasonic_1280x720@60"
EndSubSection
EndSection