Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux: DDX drivers not loading correctly (AppImage only) #4509

Closed
John-Gee opened this issue May 2, 2018 · 23 comments
Closed

Linux: DDX drivers not loading correctly (AppImage only) #4509

John-Gee opened this issue May 2, 2018 · 23 comments

Comments

@John-Gee
Copy link
Contributor

John-Gee commented May 2, 2018

Hello,

sometimes after build rpcs3-v0.0.5-6592-a36acf49_linux64.AppImage RPCS3 stopped working with Vulkan and prints "Could not find a supported Vulkan surface extension". Only the OpenGL and Null renderer are available.

I only see old builds for Windows on rpcs3.net so I am not able to find which one started having this issue, the oldest one I have with this problem is rpcs3-v0.0.5-6675-bd1d4de4_linux64.AppImage.

I am on Arch Linux, using a 280X with mesa-git and llvm-svn. I use RADV-git for Vulkan.

@John-Gee
Copy link
Contributor Author

John-Gee commented May 2, 2018

That's unrelated.

RADV already works with a previous build so I should not need to change anything related to amdgpu.

@John-Gee
Copy link
Contributor Author

John-Gee commented May 2, 2018

Again, it currently works with an older RPCS3 build so that's unrelated, but I've already done that long ago since without it radv would not work (well minus the ck part since my card is si).

@kd-11
Copy link
Contributor

kd-11 commented May 2, 2018

Use X not wayland.

@John-Gee
Copy link
Contributor Author

John-Gee commented May 2, 2018

Oh I should have specified that but I'm using Xorg, with Plasma if it matters.
Out of curiosity does RPCSnot work with Wayland?

@John-Gee
Copy link
Contributor Author

John-Gee commented May 2, 2018

That's reassuring for the future!

@kd-11
Copy link
Contributor

kd-11 commented May 2, 2018

Try forcing dri3. Also need vulkaninfo output to verify surface extension is not being reported.

@John-Gee
Copy link
Contributor Author

John-Gee commented May 2, 2018

grep -i dri3 /var/log/Xorg.0.log
[ 34.668] (**) AMDGPU(0): DRI3 enabled

vulkaninfo: https://gist.github.com/John-Gee/c93f6d4e89ec15b1c1ad58a68dff071d

@kd-11
Copy link
Contributor

kd-11 commented May 2, 2018

Nothing seems to be wrong according to ouput. I would suggest building rpcs3 from source and see if there's something not working well with appimage itself.

@John-Gee
Copy link
Contributor Author

John-Gee commented May 2, 2018

Good guess, that worked!

Since I'm using llvm-svn I cannot use the llvm backend with RPCS3 if I simply build it. I doubt it's related but just in case I thought I'd specify it.

@John-Gee
Copy link
Contributor Author

John-Gee commented May 4, 2018

In case it helps, when starting the appimage if it does not complain about Vulkan (but won't show it in the menu...) it prints this:

No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlagsQSurfaceFormat::FormatOption(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.

And when I start a game using OGL:
Could not initialize GLX
zsh: abort (core dumped) ./rpcs3-v0.0.5-6694-25ec899c_linux64.AppImage

Maybe @hcorion knows about appimage stuff.

@kd-11
Copy link
Contributor

kd-11 commented May 4, 2018

I'm guessing deleting libgl/libvulkan shared libs from the appimage will fix it for you. The appimage dependencies need more extensive testing which is a chore due to the different configs ppl have. If you can, always build from source.

@John-Gee
Copy link
Contributor Author

John-Gee commented May 4, 2018

I don't know anything about appimages so I simply extracted it with "--appimage-extract", removed libvulkan.so.1 in squashfs-root/usr/lib then ran AppRun but it was no different.

If I run rpcs3 in squashfs-root/usr/bin without removing anything it seems to run fine, including with Vulkan and LLVM.

Does that make sense to you? If all I have to do is extract the image it's an easy workaround.

I'd be very happy to build it from source myself but I don't know how to workaround the LLVM issue. How do I get it to build and run with the LLVM recompiler while using llvm-svn on my system?

Thank you!

@hcorion
Copy link
Member

hcorion commented May 4, 2018

It should build and run fine with llvm-svn on your system, if the cmake build doesn't find a compatible version of llvm it'll build it's own version.

@John-Gee
Copy link
Contributor Author

John-Gee commented May 5, 2018

Oh I had no clue you fixed that, it's awesome!

Indeed it built and started without an issue, though I can't install it since the llvm libraries conflict, but I should be able to find something about that.

I'm happy to help with the appimage issue if needed.

@kd-11
Copy link
Contributor

kd-11 commented Jun 9, 2018

Still an issue? Its likely an update to cmake or system libs has since fixed this.

@John-Gee
Copy link
Contributor Author

John-Gee commented Jun 9, 2018

It's still the same, I've just tried with latest appimage.

@kd-11 kd-11 changed the title Linux: Could not find a supported Vulkan surface extension Linux: DDX drivers not loading correctly (AppImage only) Jun 9, 2018
@toccata10
Copy link
Contributor

Confirming that on ArchLinux, the appimage doesn't work:

./rpcs3-v0.0.5-6927-3dd45fc8_linux64.AppImage 
qt.core.logging: Ignoring malformed logging rule: '’*=false’'
No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
Could not initialize GLX
Abandon (core dumped)

Vulkan doesn't show up, just OpenGl and null.
If I build from source, it works fine.
Old versions don't work anymore. Yesterday, mesa was updated from 18.0 to 18.1.1. Seems related.

@logos88
Copy link

logos88 commented Jun 24, 2018

I have the same problem with last appimage in Archlinux

No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile QSurfaceFormat::OpenGLContextProfile(NoProfile)) Falling back to using screens root_visual. Could not initialize GLX

@13xforever
Copy link
Contributor

13xforever commented Jun 25, 2018

There was another report of this issue in discord today

[void@HooliPadPro apps]$ ./rpcs3-v0.0.5-7006-3b8eab87_linux64.AppImage 
No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
Could not initialize GLX
Aborted (core dumped)

Unpacking appimage worked too.

@John-Gee
Copy link
Contributor Author

John-Gee commented Jul 4, 2018

Yup that worked, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants
@13xforever @John-Gee @logos88 @toccata10 @hcorion @AniLeo @kd-11 and others