x11vulkan: Use the correct SONAME of libX11-xcb.so.1 on Linux, etc.
On most Unix platforms supported by SDL, the canonical name used to load a library at runtime includes its ABI major version, and the name without a version is not guaranteed to exist on non-developer systems. libX11-xcb.so.1 is correct on Linux, and probably on other Unix platforms like FreeBSD. A notable exception is OpenBSD, which apparently does not use ABI-suffixed names, so continue to use libX11-xcb.so there. Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
parent
412a8244b6
commit
7713a7eec7
2 changed files with 4 additions and 2 deletions
|
@ -3979,7 +3979,7 @@ extern "C" {
|
||||||
/**
|
/**
|
||||||
* Specify the XCB library to load for the X11 driver.
|
* Specify the XCB library to load for the X11 driver.
|
||||||
*
|
*
|
||||||
* This defaults to "libX11-xcb.so"
|
* The default is platform-specific, often "libX11-xcb.so.1".
|
||||||
*
|
*
|
||||||
* This hint should be set before initializing the video subsystem.
|
* This hint should be set before initializing the video subsystem.
|
||||||
*
|
*
|
||||||
|
|
|
@ -33,8 +33,10 @@
|
||||||
|
|
||||||
#ifdef SDL_PLATFORM_OPENBSD
|
#ifdef SDL_PLATFORM_OPENBSD
|
||||||
#define DEFAULT_VULKAN "libvulkan.so"
|
#define DEFAULT_VULKAN "libvulkan.so"
|
||||||
|
#define DEFAULT_X11_XCB "libX11-xcb.so"
|
||||||
#else
|
#else
|
||||||
#define DEFAULT_VULKAN "libvulkan.so.1"
|
#define DEFAULT_VULKAN "libvulkan.so.1"
|
||||||
|
#define DEFAULT_X11_XCB "libX11-xcb.so.1"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -109,7 +111,7 @@ bool X11_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path)
|
||||||
} else {
|
} else {
|
||||||
const char *libX11XCBLibraryName = SDL_GetHint(SDL_HINT_X11_XCB_LIBRARY);
|
const char *libX11XCBLibraryName = SDL_GetHint(SDL_HINT_X11_XCB_LIBRARY);
|
||||||
if (!libX11XCBLibraryName || !*libX11XCBLibraryName) {
|
if (!libX11XCBLibraryName || !*libX11XCBLibraryName) {
|
||||||
libX11XCBLibraryName = "libX11-xcb.so";
|
libX11XCBLibraryName = DEFAULT_X11_XCB;
|
||||||
}
|
}
|
||||||
videoData->vulkan_xlib_xcb_library = SDL_LoadObject(libX11XCBLibraryName);
|
videoData->vulkan_xlib_xcb_library = SDL_LoadObject(libX11XCBLibraryName);
|
||||||
if (!videoData->vulkan_xlib_xcb_library) {
|
if (!videoData->vulkan_xlib_xcb_library) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue