(This is an update to my posting from January 31, 2016.)
I recently got a Marantz AV receiver, but I had an annoying problem connecting my MythTV system to the television through it: things are fine if, when I boot up the MythTV system, the TV is switched on and the MythTV input selected on the receiver – but if after that I turn off the TV, then when I switch back after a period of time it doesn’t reconnect, and just displays a blank screen. (This was on Ubuntu 14.04; I was using an Intel graphics chip, a Gigabyte GA-H55M-UD2H motherboard and a Samsung television.)
Fortunately various other people have had the same problem and I found this reference: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-331/+bug/1308105 (In spite of the title, the item applies to non-NVIDIA graphics hardware as well.)
It turns out that xsettingsd is causing the problem; I had originally thought that the solution was just to disable xfsettingsd (e.g. add ‘killall xfsettingsd’ to /etc/mythtv/session-settings) – however there appear to be some side-effects to that approach, which I guess is reasonable – people have taken the trouble to write xfsettingsd, so it presumably serves a purpose!
Instead I found the best approach is to modify xfsettingsd using one of the patches which can be found at the reference above, which makes a one line change to one of the source files (displays.c).
It took me a while to figure out how exactly to do what was described, and to sort out a couple of other wrinkles, so I thought that it would be worth describing the process in detail. This description is based on information from the reference above and also from https://bugzilla.xfce.org/show_bug.cgi?id=11107. (It should be noted that different users have observed different problems – the approach here addresses the problem I described above.)
I have included all the ‘sudo apt-get install …’ commands in the description below – some of these may not be needed if the relevant packages have already been installed.
First of all it’s probably worth saving the binaries /usr/bin/xfce4* and /usr/bin/xfsettingsd in case you want to revert to their original versions:
sudo mkdir /usr/bin/usr-bin-save sudo cp -p /usr/bin/xfsettingsd /usr/bin/usr-bin-save sudo cp -p /usr/bin/xfce4* /usr/bin/usr-bin-save
Then from a command prompt run the following commands to patch displays.c and recompile the binaries:
sudo apt-get update sudo apt-get install xfce4-dev-tools libexo-1-dev libgarcon-1-0-dev libxfce4ui-1-dev cd ~ mkdir xfce4work cd xfce4work sudo apt-get install git git clone git://git.xfce.org/xfce/xfce4-settings cd xfce4-settings sudo apt-get install curl curl -L http://bugzilla.xfce.org/attachment.cgi?id=5681 > alexander-patch.diff
(For some reason ‘curl https://bugzilla.xfce.org/attachment.cgi?id=5681’ doesn’t work – but ‘curl -L http://bugzilla.xfce.org/attachment.cgi?id=5681’, which follows the 302 redirect from ‘http://bugzilla.xfce.org/…’ to ‘https://bugzilla.xfce.org/…’ – does work.)
patch -p1 < alexander-patch.diff ./autogen.sh --prefix=/usr
(If you just execute ‘./autogen.sh’, it will cause the binaries to be subsequently installed at /usr/local/bin; with Mythbuntu the files xfsettingsd and xfce4* are in /usr/bin, so specifying ‘–prefix=/usr’ will cause them to be installed in the /usr/bin directory.)
make sudo make install
This will result in the updated xfsettingsd and xfce4* binaries to be installed in /usr/bin.
Then reboot the system. After this, I found that if I switched off the TV, when I switched it on again the display worked. (I also used the approach I described at https://vaughanharper.com/2016/03/31/how-to-stop-the-screen-blanking/ to stop the screen from blanking after a period of inactivity.)
Grateful thanks to those who had contributed to the references above for all their hard work…