[ubuntu-x] Proprietary driver ABI handling
Alberto Milone
alberto.milone at canonical.com
Mon Jan 31 22:08:42 UTC 2011
On 30/01/11 23:40, Christopher James Halse Rogers wrote:
> Hey all
>
Hi Chris
> As a part of the drive to Xserver 1.10, I've noticed that the fglrx and
> nvidia proprietary drivers don't have the appropriate Depends: to
> prevent the X server being updated from underneath them. (nvidia bug: LP
> #616214, no existing fglrx bug)
>
> A simple fix would be to add ${xviddriver:Depends} to their dependency
> fields, which will add a dependency on the current Xserver video ABI
> metapackage. This is sub-optimal in two ways:
> 1) We need to do a mock “rebuild” against each new Xserver ABI
> 2) It makes checking Xserver bugs against older ABIs unnecessarily
> difficult.
>
We already do the following:
Provides: ${xviddriver:Provides}
and rebuild the packages when the ABI changes.
I've never thought of using ${xviddriver:Depends} and I was wondering
what driver uses that (maybe some open driver?)
> Since the proprietary drivers support multiple server ABIs, I suggest
> that we keep a list of these in the packaging and add a dependency
> satisfied by any of the appropriate xserver-xorg-video ABIs.
>
> This has the advantage that the default “forgot to update” failure mode
> is that an upgrade fails with unresolved dependencies rather than a
> broken X, and less work at Xserver upgrade time.
>
Another problem is that currently, when you try to install the driver,
you may end up removing X, which can be a problem ;)
> It has the disadvantage that we need to maintain a list of supported
> ABIs, and we need to produce the dependency field outside of the xsfbs
> helper system, so they could get out of sync. I don't think these are
> big disadvantages, as the supported ABI list changes approximately once
> per cycle, and the xsfbs system changes even less often (and we'd need
> to deliberately update when it does anyway).
>
> Thoughts?
I think it's fine to do so, as (so far) I've never faced 2 ABI changes
in the same cycle, mostly because AMD and NVIDIA wait (at least) for the
ABI freeze before they release a driver which supports the new ABI.
Regards,
--
Alberto Milone
Sustaining Engineer (system)
Premium Engagements Team
Canonical OEM Services
More information about the Ubuntu-x
mailing list