Bug 1078261

Summary: Can't run steam without Mesa-dri-32bit installed
Product: [openSUSE] openSUSE Tumbleweed Reporter: Mykola Krachkovsky <w01dnick>
Component: X.OrgAssignee: Michal Srb <msrb>
Status: RESOLVED FIXED QA Contact: E-mail List <xorg-maintainer-bugs>
Severity: Normal    
Priority: P5 - None CC: dimstar, dleuenberger, msrb
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Mykola Krachkovsky 2018-01-30 10:32:43 UTC
Mesa now requires Mesa-dri to run properly x86_64 apps, but Mesa-dri-32bit is not required by Mesa-32bit, so ATM steam (and possible other 32bit apps with OpenGL) fails with error [1][2]

After installing Mesa-dri-32bit it runs properly.

1. https://lists.opensuse.org/opensuse-factory/2018-01/msg00635.html
2. Steam error log:
Running Steam on opensuse 20180125 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1513371133)
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Comment 1 Michal Srb 2018-01-30 14:07:32 UTC
Thank you for the report, Mykola.

The split from Mesa into Mea, Mesa-gallium and Mesa-dri was done to improve build dependencies in OBS. To actually remove the dependency, the Mesa originally only recommended Mesa-dri, it did not require it. Technically Mesa works even if Mesa-dri is not installed, so it was correct... If reporting that there are no drivers and returning error means that it "works" is arguable.

It turned out that many users do not install recommended packages by default, so this change broke their setup. We have added actual dependency and used special configuration in OBS to ignore it during build. Looks like we need to do the same for the 32bit variant.
Comment 2 Michal Srb 2018-01-30 14:12:31 UTC
I will add this to the baselibs.conf:

> Mesa
>   requires "Mesa-dri-<targettype> = <version>"
>   requires "Mesa-gallium-<targettype> = <version>"

Dominique, do we need to add some more "Ignore:" lines to the project configuration in OBS, or is not needed for those 32bit packages?
Comment 3 Dominique Leuenberger 2018-01-30 14:37:46 UTC
(In reply to Michal Srb from comment #2)
> I will add this to the baselibs.conf:
> 
> > Mesa
> >   requires "Mesa-dri-<targettype> = <version>"
> >   requires "Mesa-gallium-<targettype> = <version>"
> 
> Dominique, do we need to add some more "Ignore:" lines to the project
> configuration in OBS, or is not needed for those 32bit packages?

That should not be needed, since nothing should pull in Mesa-32bit while building anything.

But I'll be on the lookout for this, just in case.
Comment 4 Michal Srb 2018-01-30 15:07:35 UTC
(In reply to Dominique Leuenberger from comment #3)
> But I'll be on the lookout for this, just in case.

Ok, thanks!

Submitted: https://build.opensuse.org/request/show/571130

Closing the bug.
Comment 6 Swamp Workflow Management 2018-02-02 19:30:16 UTC
This is an autogenerated message for OBS integration:
This bug (1078261) was mentioned in
https://build.opensuse.org/request/show/572112 Factory / Mesa