Closed renom closed 3 years ago
Please provide a stack trace. You can do so by running coredumpctl gdb
and then bt full
.
#0 0x00007fabb256e250 in vkGetPhysicalDeviceMemoryProperties () at /usr/lib/libvulkan.so.1
#1 0x000055c6b931c5c0 in ()
#2 0x000055c6b931d685 in ()
#3 0x000055c6b9314161 in ()
#4 0x00007fabb2392b24 in std::execute_native_thread_routine(void*) (__p=0x7fab940ec140) at /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80
__t = std::unique_ptr<struct std::thread::_State> = {get() = 0x7fab940ec140}
#5 0x00007fabb214a46f in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fabb20783d3 in clone () at /usr/lib/libc.so.6
Hmm, this is missing debug symbols. Can you try compiling from source?
Sorry for the delay with the answer. I've compiled gamescope from source. I got segfault as well, but the stack trace isn't the same.
Can you try the latest commit? https://github.com/Plagman/gamescope/commit/9353ba11d33c945329dd546433037154ad834bbd
It seems like vkEnumeratePhysicalDevices
is failing on your machine.
Yeah, I've got Failed to find physical device
. What does it mean?
It means your GPU doesn't support Vulkan, or it may be a Vulkan driver bug. Can you try running vulkaninfo
from the vulkan-tools package?
Hmm, we're selecting a queue with compute support and without graphics support: https://github.com/Plagman/gamescope/blob/9353ba11d33c945329dd546433037154ad834bbd/src/rendervulkan.cpp#L472
On AMD hw there are two queues: one with gfx support, and another one which is compute-only. We want to select the second one if available so that the game can have exclusive access to the gfx-capable queue.
On Intel there's only one queue. In this case we should fallback to the first queue instead of trying to pick the second one.
Can you check again with latest? I think there's a good chance it'll work on Intel now, but I don't have the hardware to test.
Got this:
gamescope: ../src/rendervulkan.cpp:327: bool CVulkanTexture::BInit(uint32_t, uint32_t, VkFormat, CVulkanTexture::createFlags, wlr_dmabuf_attributes*): Assertion `pDMA->n_planes == 1' failed.
Eh, right, we don't handle more than one DMA-BUF planes at all right now. I've tried to add asserts to make it clear what parts of the code assumes 1 plane. Would be nice to plumb that across the compositor, since AMD is eventually going to have these too.
What client were you trying to run here?
Battle for Wesnoth MegaGlest Fish Fillets NG Chromium B.S.U.
Does anyone know offhand why DMA-BUFs for what seem like normal clients would have several planes on Intel? Is there some sort of planar encoding we need to feed back into Vulkan when importing? Is this another 'we need modifiers' situation?
Intel buffers with the CCS modifier will typically use multiple planes. I don't know if things will "just work" once we start supporting multiple planes, but https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1466 doesn't seem too far away from being mergeable.
Jason mentions INTEL_DEBUG=norbc might help with this. Try setting it for both gamescope and the client, probably.
It doesn't crash with INTEL_DEBUG=norbc
enabled, but there's no graphics (black screen), meanwhile in-game sounds seem okay.
Hello, I believe I am having a related issue, however regardless of when I run INTEL_DEBUG=norbc I am running gamescope 3.7.1 from gamescope on latest aur.
however the issue that I am getting right now is
glamor: No eglstream capable devices found 00:00:00.572 [types/wlr_surface.c:666] New wlr_surface 0x55fa1604b380 (res 0x55fa1601c590) 00:00:00.574 [xwayland/server.c:343] sent SIGUSR1 to process 4701 00:00:00.576 [xwayland/server.c:237] Xserver is ready The XKEYBOARD keymap compiler (xkbcomp) reports: Warning: Unsupported maximum keycode 569, clipping. X11 cannot support keycodes above 255. Errors from xkbcomp are not fatal to the X server MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0 gamescope: ../gamescope-3.7.1/src/rendervulkan.cpp:1075: bool vulkan_make_output(VulkanOutput_t*): Assertion `bRet == true' failed.
I am unsure as whether or not this is a related issue. I am running sway desktop, and an Braswell CPU. attached are the full text output of running "gamecope -- firefox" (It doesnt work with any game) and vulkan info.
Above post was using wayland. I tested using sway and KDE behavior is consistent.
On X11, I got the same issue as Renom did, but I did not need to use the intel debug. this is on the latest mesa-git so it should now support
VK_EXT_image_drm_format_modifier
EDIT: More info
When running gamescope -l -d... on a fresh boot this is the output log-gamescope-embedded.log
Slightly different, now has a new error
xwayland/sockets.c:63] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use
@emersion
Apologies for not being able to get logs, but running gamescope on intel WORKS when running on a tty directly, This started happening with the latest merge request #166. I can confirm that it did not work before that merge
it does NOT work when nested either with wayland or X11, (same issues as before at a close glance). I do not have time to test further. I will get logs when time permits
Thanks for all the hard work being put in.
That's interesting, I certainly wouldn't expect this PR to make things work. I'll investigate and see what has changed since last time I tried.
My appologies it seems like I spoke early,
I ran supertuxkart from a tty;
gamescope -l -d -H 400 -W 400 -- suertuxkart
and it worked until I tried to load something, in which I get a black screen and what looks like a little bit being rendered on the top row of pixels at the right of the screen, this is the script
typescript.log
Needless to say it didn't work.
Interestingly enough, of the apps I have tried, kate, firefox, and glxgears all failed. However, I was able to run sway, and within sway I was able to run glxgears for about half a second before getting that issue again.
Running under wayland (nested) I get this issue
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
Vulkan supports DRM format modifiers
MESA-INTEL: warning: ../mesa/src/intel/vulkan/anv_formats.c:753: FINISHME: support multi-planar formats with DRM format modifiers
vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format 0x3231564E
Supported DRM formats for sampling usage: 0x34325258, 0x34325241
gamescope: ../gamescope/src/rendervulkan.cpp:1358: bool vulkan_make_output(VulkanOutput_t*): Assertion `bRet == true' failed.
Aborted (core dumped)
I will do more testing,
The graphical issues are always the same, a single line of pixels at the top, rest of the screen is blank. or just a blank screen. I can tell that graphics are updating as the line of pixels changes in adherence with movement I know to be happening. here are some tested apps, assume the pixels are the grahical issue unless I specify otherwise.
Supertuxkart - Works fine until you get in game, then after a couple of seconds graphical issues.
Supertux2 - works fine, bad preformance issues
Warzone2100 - works flawlessly from my testing spent about 20min on each graphical backend
Firefox - Just crashes
MPV - graphical issue
Dolphin (File browser) - Graphical issues.
VKcube- blackscreen
glxgears - blackscreen
Sway - low preformance, forced letterboxing
With this Mesa patch and the latest gamescope commit, I was able to run glxgears inside a nested gamescope session on a CML machine: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10426
Seems like there were already a lot of other MRs doing the same thing:
The latest iteration is: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10624
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10624 has been merged.
On the latest mesa-git and latest gamescope X11 seems to work fine, but I can no longer get TTY to work.
first elaborating on X11, Both vulkan and Opengl apps seem to work pleasantly, even wine apps have been working on it. preformance is about what I would expect from my machine, (Given it is a celeron N3050 so preformance is not great in most stuff in the first place) I have not done extensive testing, but supertuxkart renders properly and is playable.
Wayland and starting from a TTY directly both give this error. I will test past versions of gamescope at my earliest convience.
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
Vulkan supports DRM format modifiers
MESA-INTEL: warning: ../mesa/src/intel/vulkan/anv_formats.c:754: FINISHME: support multi-planar formats with DRM format modifiers
vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format 0x3231564E
Supported DRM formats for sampling usage: 0x34325258, 0x34325241
vulkan_make_output failed
Failed to initialize Vulkan
Hello, The last thing I have tested for the regression happened sometime after commit 2bb49079937e406d4d472994645f75ec3c722f61. This was the last commit I could test. if needed I could test more at a later date.
As far as X11, Gamescope seems to be consistent and as performant as I would expect. Even during edge case games that make calls directly to GDI seem to work without issue.
Wayland Produces the same issue on KDE and Sway.
Hello, I updated to the new gamescope, tried on wayland, and got it to work a single time. preformance was terrible, and no mouse but it did work.
interestingly enough it won't work again no matter what I do, I have only tried on sway, and have no logs. unfortunately I borked my install trying to see if I can get it to work, and wont have time to reinstall for a while.
however it was progress regardless and thought it best to inform anyways.
Latest updates causes intel wayland to work, I have not verified Xorg still works, on wayland you can not alt+tab so you have to kill the app from within the app itself, attached is the log from a couple seconds of supertuxkart. gamescope-wayland-works.txt
Framerate seems fine, but I am using a celeron so I get around 15fps either way so it's not a great indicator
on intel wayland it seems to be pretty much usable with the hardware I have. unfortunately I do not have other hardware I can test with.
TTY still does not work now get an error.
drmModeAddGB2WithModifiers failed: Invalid argument drm_fbid_from_dmabuf failed
Running nested on intel seems to run fine in both wayland (sway) and x11 (KDE) however running from TTY results in a black screen and gives this error
./gamescope -- sway
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
Connectors:
eDP-1 (connected)
DisplayPort-1 (disconnected)
HDMI-A-1 (disconnected)
DisplayPort-2 (disconnected)
HDMI-A-2 (disconnected)
drm: selecting connector eDP-1
drm: selecting mode 1366x768@60Hz
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
Vulkan supports DRM format modifiers
Supported DRM formats for sampling usage: 0x34325258, 0x34325241
gamescope: ../src/rendervulkan.cpp:369: bool CVulkanTexture::BInit(uint32_t, uint32_t, VkFormat, CVulkanTexture::createFlags, wlr_dmabuf_attributes*): Assertion `drmFormat != DRM_FORMAT_INVALID' failed.
[1] 159991 abort (core dumped) ./gamescope -- sway `
Ah, this in fact is not an Intel-specific bug. Fixed in c9e8634e1356.
Closing since Intel should be supported now. Please open separate issues if something doesn't work.
I'm trying to start gamescope (e.g.
gamescope
command without params), but then I get segfault with the following errors:Any ideas?