[ATrpms-users] libmyth for fglrx
Kevin J. Cummings
cummings at kjchome.homeip.net
Mon Jun 25 16:40:46 CEST 2007
Axel Thimm wrote:
> On Sun, Jun 24, 2007 at 11:29:39PM -0400, Kevin J. Cummings wrote:
>> ATI has stated publicly that they don't support MythTV in their
>> fglrx X11 driver. [the reason being is that it hasn't worked for a
>> while now and they feel no compelling reason to fix it anytime
>> soon.]
>
> That's not really nice by ATI. But it also affects other chipsets:
>
> // define the following for the ATI Proprietary driver and the Intel
> // IEGD driver for the i830M chipset (as of Oct 1st, 2006). Please
> // report the problem to the driver developers as well, the more
> // people report the bug in the driver the more likely it is to be
> // fixed.
> //#define USE_HACK_FOR_BROKEN_I420_SUPPORT_IN_DRIVER
>
> (note that the switch has been renamed)
I did not know that. Googling did not show this to me. I found my
information by searching the ATI Linux forums (and eventually the
solution by searching the MythTV Wiki).
>>> Until at least fglrx-8.33.6 there are wrong colors with xv
>>> playback, E.g. faces look blue. In libs/libmythtv/videoout_xv.cpp
>>> you can uncomment
>>>
>>> #define USE_ATI_PROPRIETARY_DRIVER_XVIDEO_HACK
>
>> (OK, long story short, I had to break a large number of dependencies
>> from livna, which were shipped with my laptop, in order to provide
>> the proper required RPMs to build this src.rpm. Most notably,
>> ffmpeg 2.5 seems to be incompatible with other software which
>> requires version < 2.5!).
>
> I think that's a myth, nothing seems to need < 2.5. This bug has
> caused lots of grief between livna and the other repos supplying
> similar packaging.
Boo, hiss! my dependencies are a mess right now. I had to break them
by erasing some livna packages by using "rpm --erase --nodeps" so I coul
install the ATRpms versions! Why would someone put in explicit
dependencies to restrict ffmpeg to be < 2.5 if it wasn't needed? Bad
packaging?!
>> So, my question: Can either a seperate libmyth RPM be provided for
>> systems running fglrx? Or better yet, is there a way to turn this
>> compile time check into a runtime check so that 2 versions of this RPM
>> don't have to co-exist???? The define only seems to control the
>> following code snippet:
>>
>> #ifdef USE_ATI_PROPRIETARY_DRIVER_XVIDEO_HACK
>> swap(ids[0], ids[2]);
>> #endif // USE_ATI_PROPRIETARY_DRIVER_XVIDEO_HACK
>
> A runtime check would be best, of course, but that's a request to make
> to the mythtv developers.
I figured as much. I think that the Myth Devs would probably prefer it
if the video drivers got it right in the first place! Which is why I
was asking here.
>> MythTV seems to have worked around the problem by providing the "hack"
>> fix. Would it be better to have 2 RPMs (one for the broken ATI fglrx
>> and the curent on fo everyone else?)
>
> Providing alternative rpms is always difficult. How will smart/yum/apt
> know which one to use? Both "libnormal" and "libmodified" will have to
> provide the same sonames and are both candidates to fullfil any such
> request from the depsolver.
>
> Next is how will these two (libnormal vs lib) relate to each other?
> How can an upgrade not swap one for the other? They can't coexist, so
> they will have to carry "Conflicts:" or "Obsoletes:". The modified one
> would have to "Provides:" the name of the unmodified one, which
> triggers a bug in rpm (soome call it a feature) that automatically
> obsoletes the provided resource. So it's quite a mess. :(
>
> The only way out would be to strip the modified package from it's
> virtual provides, shove it at a place the linker never looks in and
> have a runtime ld.so.conf* switching to activate it. But this starts
> to get out of hands and adding a GUI button upstream sounds like an
> easier task.
Which is why I chose to ask here first before blindly filing an RFE for
ATRpms. I guess I will have to rebuild it myself every time until the
fglrx driver gets fixed. B^(
>> If someone wants me to, I'd be happy to file an RFE for this.
>
> I would try to do so at the upstream level. ATM I don't see any sane
> packaging method that won't be killing off the other camp and vice
> versa.
I was assuming that just providing a 2nd package (say libmyth-fglrx) and
have the user rpm --erase libmyth (maybe with --nodeps) and install the
replacement by hand. Perhaps even uninstall the mythtv-suite meta
package to prevent the old libmyth from being brought back in by
updates. Maybe I haven't thought things through far enough.
> I checked mythtv's tickets and no one ever requested to make the static
> USE_* flagg to a runtime flag. Actually in the tickets it is only
> mentioned once only, and in a different context, so most probably the
> flag hasn't become runtime yet due to lack of demand?
Do you have the MythTV ticket number for the one which resulted in this
flag being added? I suppose I can go and try and search for it myself.
> If this gets into trunk ping me and I'll create new 0.21 packages for
> you to test. Is that a deal?
Sounds good to me. Thanks Axel!
--
Kevin J. Cummings
kjchome at rcn.com
cummings at kjchome.homeip.net
cummings at kjc386.framingham.ma.us
Registered Linux User #1232 (http://counter.li.org)
More information about the atrpms-users
mailing list