[mythtv-users] Openchrome XvMC problems in mythfrontend

Paul Bender pebender at san.rr.com
Thu May 28 22:59:09 UTC 2009


Peter Holmes wrote:
>> Ronald Pijnacker wrote:
>>> Hi all,
>>>
>>> This week I tried to upgrade my mythfrontend to mythbuntu jaunty.
>>> Running mythfrontend gives an error about not being able to create an XvMC Surface.
>>> The hardware I'm running on is a VIA EPIA M1000, the bug report can be found here:
>>>
>>> https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-openchrome/+bug/371512
>>>
>>> Initially I filed a bug report under the openchrome video driver, but after
>>> a suggestion from the openchrome irc group, I ran xine with XvMC enabled.
>>> This worked without any problems.
>>> So the question now is, why I'm running into problems with mythtv. Any ideas?
>>>
>> As a quick hack, I modified the udev rules so that udev renames 
>> /dev/dri/card0 to /dev/dri/card1, which causes MythTV ot not use DRM 
>> vblank. Instead it uses usleep with busy wait. After that, no more stutter.
>>
>> Therefore, it appears that the problem is with DRM vblank. However, I do 
>> not know whether this is a bug in DRM or in MythTV.
> 
> Could you provide information about the change you made. I would like to try this 
> to see if it fixes my problem (see [mythtv-users] Video Jerky on a Epic Via Sp8000 board)
> 
> Thanks
> P. Holmes

You will need to find your where the udev rules are located on your 
system. Newer systems will likely have the rules in /lib/udev/rules.d/. 
If not, they will likely be in /etc/udev/rules.d/.

Next you will want to create a udev rules file 99-user.rules in the 
rules directory with the line
KERNEL=="card*", NAME="dri/card1%n"
The reason for naming the file 99-user.rules is to ensure that it runs 
after the rules file the normally puts card* devices in the dri directory.

Finally, you will want to trigger the udev rules. On some systems, you 
will use the command
udevtrigger
on other systems you will use
udevadm trigger

After that, the /dev/dri/ should not contain any card0 entries. Since 
MythTV's DRM sync looks for /dev/dri/card0, it will fail and move on to 
the next sync method.



More information about the mythtv-users mailing list