Если взять и скомпилить пример программы, работающей с Xv (testxv.c) с http://en.wikipedia.org/wiki/X_video_extension , то она работает. Её можно перезапускать много раз, и она отлично работает.
Но стоит запустить хотя бы один раз mplayer с -vo xv или kaffeine - и закрыть, testxv после этого запускается, но в окошко ничего не выводит. Если стартануть ещё какой-нибудь экземпляр иксов - та же история: testxv работает до первого запуска другой программы, использующей Xv.
mplayer же работает стабильно во всех случаях (ещё бы =] ) Однако код mpalyerа, отвечающий за видеовывод на vo_xv практически мало отличается от testxv.c. Проверил возвращаемые значения функций в testxv.c, когда оно работает и когда нет - они одинаковые. Немного поизменял testxv.c - не помогает. Убедился, что порт Xv свободен.
Хотелось бы узнать, почему это происходит.