← Back to team overview

mythbuntu-bugs team mailing list archive

[Bug 1308105]

 

I am currently stuck analyzing this issue. The following considerations
refer to commit dbd76eb58bd9d7a55de753daa5572ef24867d924.


After adding lots of debug output to displays.c, I noticed a potential issue in

static GPtrArray* xfce_displays_helper_list_outputs
(XfceDisplaysHelper*)

which contains the line of

if (output_info->connection != RR_Connected)


When powering off a screen and powering it on again, the value of output_info->connection is always 1 (=RR_Disconnected). Hence, the rest of the surrounding loop's iteration is skipped, no modes are detected, etc.

According to my current understanding (which might be completely
erroneous) of how the code works, this is wrong and it could hint to the
actual cause of the issue - which I'm still unable to identify.


Further observations:

xfce_displays_helper_list_outputs is called twice in displays.c - once
by xfce_displays_helper_init(...) and once by
xfce_displays_helper_reload(...). In the former case,
(output_info->connection != RR_Connected) is false for one of my
outputs, thus modes are getting detected, etc. In the latter, it is not.


Can anybody assess whether or not I am on the right track?

Any help debugging this would still be greatly appreciated. :)

-- 
You received this bug notification because you are a member of Mythbuntu
Bug Team, 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 xfce4-settings:
  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