← Back to team overview

linux-traipu team mailing list archive

[Bug 1308105] Re: HDMI Handshake fails after TV powered off

 

After some more sleuth work with NVIDIA, we've discovered that this is
happening because of a RANDR event.  An X client is responding to the
RANDR events and forcing it to this NULL resolution.

I checked what clients were running, and it's xfsettingsd causing this
problem.  If I kill xfsettingsd prior to turning on/off my TV it comes
back at the right resolution.

** Also affects: xfce4-settings (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: xfce4-settings (Ubuntu)
       Status: New => Confirmed

** Changed in: nvidia-graphics-drivers (Ubuntu)
       Status: Confirmed => Invalid

** Changed in: nvidia-graphics-drivers-331 (Ubuntu)
       Status: Confirmed => Invalid

** Changed in: mythbuntu
       Status: New => Confirmed

** Changed in: mythbuntu
   Importance: Undecided => Medium

** Summary changed:

- HDMI Handshake fails after TV powered off
+ Xfce resets TV mode to NULL when power cycled

** Description changed:

- 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.
+ I had an HTPC with Mythbuntu 12.04 installed.  Upon upgrading a new
+ behavior that if the TV is power cycled it no longer detects a link with
+ the HTPC.
  
  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.
+ After debugging with NVIDIA at
+ https://devtalk.nvidia.com/default/topic/729955/linux/tv-stops-being-
+ detected/ we've deteremined it's a X client that reacts to the RANDR
+ events causing the mode to be set to NULL.
  
- Here is my original functional xorg.conf from 12.04 w/ NVIDIA 185:
- ==============================
- Section "Screen"
- 	Identifier	"Default Screen"
- 	DefaultDepth	24
- EndSection
+ Working through the list in an Xfce environment, the culprit is
+ xfsettingsd.  If xfsettingsd is running, it causes the TV to come up in
+ a NULL mode.  If it's killed, it remains in the mode it was previously
+ running in.
  
- 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"
-     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:/etc/X11/edid.bin"
-         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:
+ Until this is fixed, this behavior can be worked around with a simple shell script:
  ==============================
  #!/bin/sh
  #Fix TV state when HDMI link is lost.
  #By Mario Limonciello <superm1@xxxxxxxxxx>
  
  OUTPUT="HDMI-0"
  BAD_MODE="1280x720"
  GOOD_MODE="1920x1080"
  
  for MODE in $BAD_MODE $GOOD_MODE; do
- 	DISPLAY=:0 xrandr --output $OUTPUT --mode $MODE
- 	sleep 2
+  DISPLAY=:0 xrandr --output $OUTPUT --mode $MODE
+  sleep 2
  done
  ==============================

-- 
You received this bug notification because you are a member of UBUNTU -
AL - BR, which is subscribed to Mythbuntu.
https://bugs.launchpad.net/bugs/1308105

Title:
  Xfce resets TV mode to NULL when power cycled

Status in Mythbuntu, Ubuntu derivative focused upon MythTV:
  Confirmed
Status in “nvidia-graphics-drivers” package in Ubuntu:
  Invalid
Status in “nvidia-graphics-drivers-331” package in Ubuntu:
  Invalid
Status in “xfce4-settings” package in Ubuntu:
  Confirmed

Bug description:
  I had an HTPC with Mythbuntu 12.04 installed.  Upon upgrading a new
  behavior that if the TV is power cycled it no longer detects a link
  with the HTPC.

  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"

  After debugging with NVIDIA at
  https://devtalk.nvidia.com/default/topic/729955/linux/tv-stops-being-
  detected/ we've deteremined it's a X client that reacts to the RANDR
  events causing the mode to be set to NULL.

  Working through the list in an Xfce environment, the culprit is
  xfsettingsd.  If xfsettingsd is running, it causes the TV to come up
  in a NULL mode.  If it's killed, it remains in the mode it was
  previously running in.

  
  Until this is fixed, this behavior can be worked around with a simple shell script:
  ==============================
  #!/bin/sh
  #Fix TV state when HDMI link is lost.
  #By Mario Limonciello <superm1@xxxxxxxxxx>

  OUTPUT="HDMI-0"
  BAD_MODE="1280x720"
  GOOD_MODE="1920x1080"

  for MODE in $BAD_MODE $GOOD_MODE; do
   DISPLAY=:0 xrandr --output $OUTPUT --mode $MODE
   sleep 2
  done
  ==============================

To manage notifications about this bug go to:
https://bugs.launchpad.net/mythbuntu/+bug/1308105/+subscriptions