I had an HTPC with Mythbuntu 12.04 installed and all included NVIDIA 185 driver package. Connected to the HTPC is an audio receiver and from the audio receiver a TV.
I had no problems on NVIDIA 185.
Since upgrading to 14.04 I have tried both the 304.117 driver as well as the 331.38 driver. Both have a new behavior that if the TV is power cycled it no longer detects a link.
When this happens I can find in the xorg log that there is an accompanying log item:
[ 39829.509] (II) NVIDIA(0): Setting mode "NULL"
Upon recommendations from the internet i've captured the EDID, tried to hardcode the metamodes in the xorg conf, and regenerated the xorg conf using nvxconfig to no avail. The problem persists.
Here is my original functional xorg.conf from 12.04 w/ NVIDIA 185:
==============================
Section "Screen"
Identifier "Default Screen"
DefaultDepth 24
EndSection
Here is the xorg conf I've cluttered all the workarounds on the internet that still doesn't fix the problem:
==============================
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "SONY AVAMP"
HorizSync 31.0 - 82.0
VertRefresh 57.0 - 63.0
Option "DPMS"
EndSection
I have discovered that this behavior can be worked around with a simple shell script:
==============================
#!/bin/sh
#Fix TV state when HDMI link is lost.
#By Mario Limonciello <email address hidden>
I had an HTPC with Mythbuntu 12.04 installed and all included NVIDIA 185 driver package. Connected to the HTPC is an audio receiver and from the audio receiver a TV.
I had no problems on NVIDIA 185.
Since upgrading to 14.04 I have tried both the 304.117 driver as well as the 331.38 driver. Both have a new behavior that if the TV is power cycled it no longer detects a link.
When this happens I can find in the xorg log that there is an accompanying log item:
[ 39829.509] (II) NVIDIA(0): Setting mode "NULL"
Upon recommendations from the internet i've captured the EDID, tried to hardcode the metamodes in the xorg conf, and regenerated the xorg conf using nvxconfig to no avail. The problem persists.
Here is my original functional xorg.conf from 12.04 w/ NVIDIA 185: ======= ======= ======= ==
=======
Section "Screen"
Identifier "Default Screen"
DefaultDepth 24
EndSection
Section "Device"
Identifier "Default Device"
Driver "nvidia"
Option "DPI" "100x100"
Option "NoLogo" "1"
EndSection
Section "Extensions" ======= ======= ======= ==
Option "Composite" "Disable"
EndSection
=======
Here is the xorg conf I've cluttered all the workarounds on the internet that still doesn't fix the problem: ======= ======= ======= ==
=======
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "SONY AVAMP"
HorizSync 31.0 - 82.0
VertRefresh 57.0 - 63.0
Option "DPMS"
EndSection
Section "Device" /etc/X11/ edid.bin"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9500 GT"
Option "DPI" "100x100"
Option "NoLogo" "1"
Option "ConnectedMonitor" "DFP-1"
Option "CustomEDID" "DFP-1:
Option "UseEDID" "True"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "1920x1080 +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Extensions" ======= ======= ======= ==
Option "Composite" "Disable"
EndSection
=======
I have discovered that this behavior can be worked around with a simple shell script: ======= ======= ======= ==
=======
#!/bin/sh
#Fix TV state when HDMI link is lost.
#By Mario Limonciello <email address hidden>
OUTPUT="HDMI-0" "1920x1080"
BAD_MODE="1280x720"
GOOD_MODE=
for MODE in $BAD_MODE $GOOD_MODE; do ======= ======= ======= ==
DISPLAY=:0 xrandr --output $OUTPUT --mode $MODE
sleep 2
done
=======