Skip to content

Conversation

@ONykyf
Copy link
Contributor

@ONykyf ONykyf commented Nov 22, 2025

This patch series gives a user/maintainer the power to decide whether to ignore ABI version for any driver/module depending on the loaded DRM kernel drivers (with NVidia legacy drivers in mind, and a configuration file for this is included), and this policy is controlled via /usr/share/X11/xorg.conf.d/*.conf files.

It is patch 1/4 of a series that provides a convenient way to specify
IgnoreABI on a per-driver/per-module basis through config files.

Two Bool variables LoaderIgnoreABI (specific) and  LoaderIgnoreAllABI
(server-wide) together with helper functions are used to control loader
and modules behavior. More verbosity added.

Signed-off-by: Oleh Nykyforchyn <[email protected]>
It is patch 2/4 of a series that provides a convenient way to specify
IgnoreABI on a per-driver/per-module basis through config files.

A list of such modules is specified in OutputClass, which is applied
only if certain conditions are met e.g., nvidia-drm driver is loaded.

Signed-off-by: Oleh Nykyforchyn <[email protected]>
It is patch 3/4 of a series that provides a convenient way to specify
IgnoreABI on a per-driver/per-module basis through config files.

This patch adds an "Option IgnoreABI" line to the file
/usr/share/X11/xorg.conf.d/10-nvidia.conf with an OutputClass, which
makes the loader ignore ABI for the drivers and modules for all devices
managed by the nvidia-drm kernel driver.

Signed-off-by: Oleh Nykyforchyn <[email protected]>
It is patch 4/4 of a series that provides a convenient way to specify
IgnoreABI on a per-driver/per-module basis through config files.

This patch updates the man page.

Signed-off-by: Oleh Nykyforchyn <[email protected]>
@ONykyf ONykyf requested review from metux and stefan11111 November 22, 2025 12:15
@metux metux requested a review from a team November 22, 2025 12:26
@stefan11111
Copy link
Contributor

@ONykyf Is this desired for anything other than Nvidia?

@ONykyf
Copy link
Contributor Author

ONykyf commented Nov 22, 2025

@ONykyf Is this desired for anything other than Nvidia?

For now - no. I rather leave this as a room for future decisions if ignoring ABI will (hypothetically) NOT be necessary for future NVidia releases.

if (cl->modules) {
LogMessageVerb(X_CONFIG, 1, " and for modules \"%s\" as well\n",
cl->modules);
XNFasprintf(&copy, "%s", cl->modules);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we please use asprintf() here ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we please use asprintf() here ?

OK, I'll do this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@metux
So XNFasprintf / XNFvasprintf will be eliminated completely in the code?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@metux I have replaced all previously introduced XNFasprintfs with asprintfs.

This patch replaces all occurences of XNFasprintf() in xf86platformBus.c
and OutputClass.c with asprintf().

Signed-off-by: Oleh Nykyforchyn <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants