-
Notifications
You must be signed in to change notification settings - Fork 17
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
Dolphin Emulator does not start on Archlinux #5
Comments
@cyberconan Let's continue here to not spam the bumblebee issue. I think you problem is, that you use |
Hello! Good idea to continue here. I tried before with /usr/lib/libGL.so.1 but the error occurs even earlier when I'm going to change OpenGL to select Vulkan.
|
For fast debug, I tried vulkaninfo and vulkan-smoketest with identically results:
Here speak about using libGLX_nvidia.so.0 in nvidia_icd.json. With libGLX I have debug info in vulkaninfo (not wit libGL):
|
Ok, so then we should get vulkaninfo/vulkan-smoketest running first. So this looks like the problem is not related to dolphin-emu. So then my next two guesses you could run to narrow down possible causes: |
This is the output with vulkan-intel:
And this is the output if I remove mesa-vulkan:
And of course, with vulkan-intel I can run vulkan-smoketest. PD: When I have both, intel and nvidia drivers, the output is this:
|
So that looks good.
Does |
With libGL.so no results, but with libGLX this results for optirun vulkaninfo (with DISPLAY=:8 and not):
With ENABLE_PRIMUS_LAYER=1 optirun env DISPLAY=:8 ./vulkaninfo | grep "^GPU id"
And if I try ENABLE_PRIMUS_LAYER=1 optirun env DISPLAY=:8 ./vulkan-smoketest
And with ./vulkan-smoketest
|
That then looks all fine as well. Does vulkan-smoketest work with
So: could you run dolphin-emu with gdb and inspect/post a stacktrace of where the segfault appears? |
The vulkan-smoketest works, but I can't see anything with DISPLAY=:8, only the fps counter in terminal console. |
Yes, but when you leave out About dolphin-emu: Yes. But it is still interesting in which sharedLibrary/callstack the Linux application crashes. Of course it will not contain winex11/libwine, but is it crashing in the vulkan path or in the GL-path? Is it crashing while initializing or while doing something else? |
When I launch vulkan-smoketest and leave out DISPLAY=:8, crash with no console errors, only dmesg info posted previously. About dolphin, I attached debug info I can see when try launch a game, before the crash. |
can you run vulkan-smoketest with gdb to provide a backtrace? Other independent idea: When I select In order to have a better trace, can you attach the output of |
gdb output is the same with or without PRIMUS_libGLa:
About the last trace, is a very very large file ;-) |
From the trace:
we can see that after the primus-libGL is loaded, primus loads libGLX. However directly after that the nvidia libGL is loaded. That seems really strange. In However when |
Hi!
Then i found this and tried. Now intel is ignored but stop with new error message and finish execution without any popup window:
The last library loaded is libprimus_vk.so. I have attached debug3 (with ICD variable) and debug4 (no ICD variable). Does it give you any clue? |
Thank you very much for the trace files. The (updated) The ICD variable disables the intel driver. To use primus-vk however we need both drivers the intel and the nvidia driver working. So that
|
Excellent! You've got it! Now I can run and see the smoketest!! There is a problem when I change to fullscreen. Here the debug file with new primus_vk.cpp launching a game in full screen and changing later to window mode. |
Great! So thanks for debugging this so long with me. The FPS seems to be capped at 30 and that time is spent in the memcpy. Yes, this is still not optimal :). However I expect the FPS not to go down that fast with higher graphics settings, as I think it is transfer and not general GPU usage. Regarding the broken image: I was able to reproduce this issue (Just resizing vulkan-smoketest often). Vulkan can allocate images in a non-continous region (where there is space beween the image rows). I was lazy and didn't implement the transfer in that case correctly. This is corrected in the current master. So: please update and try again :) |
@felixdoerre, just perfect. You can consider the problem with dophin-emu solved. Thank you very much for your work with this implementation and a lot of encouragement with the optimizations to improve the fps, sure you get it. I hope that soon in many distributions they include your code in their packages, surely in Archlinux they do not take a long time to include it in the AUR. Thanks again! |
Glad to hear that everything works now. |
( copied from Bumblebee-Project/Bumblebee#769 (comment))
Hi felixdoerre! I'm trying to test your code in ArchLinux. I did these changes in these files:
Well, next I'm tryed to test with dolphin emulator launching with this:
ENABLE_PRIMUS_LAYER=1 optirun dolphin-emu
Now I can change in graphic configuration OpenGL to Vulkan and shows in configuration my GeForce 840M, wow! But when I'm going to test a game dolphin crash with core dump. In dmesg I see this errors:
Any advice or is too soon to try launch a game with your Vulkan layer? Thanks!!!
The text was updated successfully, but these errors were encountered: