[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