distribution icon indicating copy to clipboard operation
distribution copied to clipboard

Mesa has correct libraries but missing the i686 loaders

Open K1ngfish3r opened this issue 1 year ago • 2 comments

CL Version as of time of writing: 41120 See related issue: https://github.com/clearlinux/distribution/issues/1437#issuecomment-1728243842 Manually adding the missing files fixes the issue

i@clr~ $ sudo swupd search-file /usr/share/vulkan/icd.d/
Downloading all Clear Linux manifests
 [100%]

Searching for '/usr/share/vulkan/icd.d/'

Bundle lib-opengl [installed] (2733 MB on system)
	/usr/share/vulkan/icd.d/radeon_icd.x86_64.json
	/usr/share/vulkan/icd.d/lvp_icd.x86_64.json
	/usr/share/vulkan/icd.d/intel_icd.x86_64.json
	/usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json

should report like so

i@clr~ $ ls /usr/share/vulkan/icd.d/
intel_hasvk_icd.i686.json    intel_icd.i686.json    lvp_icd.i686.json    radeon_icd.i686.json
intel_hasvk_icd.x86_64.json  intel_icd.x86_64.json  lvp_icd.x86_64.json  radeon_icd.x86_64.json

i@clr~ $ cat /usr/share/vulkan/icd.d/radeon_icd.i686.json 
{
    "ICD": {
        "api_version": "1.3.277",
        "library_path": "/usr/lib32/libvulkan_radeon.so"
    },
    "file_format_version": "1.0.0"
}

i@clr~ $ cat /usr/share/vulkan/icd.d/radeon_icd.x86_64.json 
{
    "ICD": {
        "api_version": "1.3.277",
        "library_path": "/usr/lib64/libvulkan_radeon.so"
    },
    "file_format_version": "1.0.0"
}

K1ngfish3r avatar Feb 24 '24 05:02 K1ngfish3r

I'll check but... are there actually games using vulkan that are 32 but? on the face if it one would think 32 bit games are legacy and thus not vulkan but obviously that assumption could be wrong

On Fri, Feb 23, 2024, 21:04 K1ngfish3r @.***> wrote:

CL Version as of time of writing: 41120 See related issue: #1437 (comment) https://github.com/clearlinux/distribution/issues/1437#issuecomment-1728243842 Manually adding the missing files fixes the issue

@.***~ $ sudo swupd search-file /usr/share/vulkan/icd.d/ Downloading all Clear Linux manifests [100%]

Searching for '/usr/share/vulkan/icd.d/'

Bundle lib-opengl [installed] (2733 MB on system) /usr/share/vulkan/icd.d/radeon_icd.x86_64.json /usr/share/vulkan/icd.d/lvp_icd.x86_64.json /usr/share/vulkan/icd.d/intel_icd.x86_64.json /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json

should report like so

@.***~ $ ls /usr/share/vulkan/icd.d/ intel_hasvk_icd.i686.json intel_icd.i686.json lvp_icd.i686.json radeon_icd.i686.json intel_hasvk_icd.x86_64.json intel_icd.x86_64.json lvp_icd.x86_64.json radeon_icd.x86_64.json

@.***~ $ cat /usr/share/vulkan/icd.d/radeon_icd.i686.json { "ICD": { "api_version": "1.3.274", "library_path": "/usr/lib32/libvulkan_radeon.so" }, "file_format_version": "1.0.0" }

@.***~ $ cat /usr/share/vulkan/icd.d/radeon_icd.x86_64.json { "ICD": { "api_version": "1.3.277", "library_path": "/usr/lib64/libvulkan_radeon.so" }, "file_format_version": "1.0.0" }

— Reply to this email directly, view it on GitHub https://github.com/clearlinux/distribution/issues/3053, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJ54FNWTNNRMKPB4QJVZLTYVFYGRAVCNFSM6AAAAABDXXB66OVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE2TEMJRHE2DQMQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

fenrus75 avatar Feb 24 '24 13:02 fenrus75

Any wine games on lutris seem to fail instantly eg: Starcraft II, and I am unable to play as the battlenet launcher (used for the login) fails instantly Required Vulkan extension VK_KHR_surface not supported

Steam also has a similar error message that vulkan is unable to initialize, but games seem to run fine (dota2),

Vulkan missing requested extension 'VK_KHR_surface'.
Vulkan missing requested extension 'VK_KHR_xlib_surface'.
BInit - Unable to initialize Vulkan!

Full logs

EDIT: seems to be related to DXVK as Dota2 has a native implementation

K1ngfish3r avatar Feb 24 '24 18:02 K1ngfish3r

I have managed to autospec it remove the lines from excludes

/usr/share/vulkan/icd.d/intel_icd.i686.json
/usr/share/vulkan/icd.d/radeon_icd.i686.json

modify install_append

find %{buildroot}/usr/share/vulkan/icd.d/ -type f -name '*x86_64.*' -exec sh -c 'cp "$1" "${1//x86_64./i686.}" && sed -i "s/lib64/lib32/" "${1//x86_64./i686.}"' _ {} \;

And success, mesa.spec has the additions

%files data
%defattr(-,root,root,-)
/usr/share/drirc.d/00-mesa-defaults.conf
/usr/share/drirc.d/00-radv-defaults.conf
/usr/share/glvnd/egl_vendor.d/50_mesa.json
/usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json
/usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json
/usr/share/vulkan/icd.d/intel_icd.i686.json
/usr/share/vulkan/icd.d/intel_icd.x86_64.json
/usr/share/vulkan/icd.d/lvp_icd.i686.json
/usr/share/vulkan/icd.d/lvp_icd.x86_64.json
/usr/share/vulkan/icd.d/radeon_icd.i686.json
/usr/share/vulkan/icd.d/radeon_icd.x86_64.json
/usr/share/vulkan/icd.d/virtio_icd.i686.json
/usr/share/vulkan/icd.d/virtio_icd.x86_64.json

K1ngfish3r avatar May 31 '24 12:05 K1ngfish3r

Closed in favor of #3138

K1ngfish3r avatar Jun 18 '24 07:06 K1ngfish3r