okay, since you have a 1.2 capable libvulkan, but the glsl compiler seems to be unable, try this:
in src/Makefile search for vulkan1.2 and replace by vulkan1.1. then go back to bin/, make clean and make again. i just tried this locally and here it works… not sure that’s because my toolchain is new enough and works around it or whether you can indeed talk to the lib in 1.2 and to the shaders in 1.1.
~/Software/source/vkdt/bin$ ./vkdt -d all ~/Pictures/vkdt
[gui] monitor [0] HDMI-A-0 at 0 0
[gui] monitor [1] DisplayPort-1 at 2560 0
[gui] vk extension required by GLFW:
[gui] VK_KHR_surface
[gui] VK_KHR_xcb_surface
[qvk] dev 0: vendorid 0x1002
[qvk] dev 0: AMD RADV VEGA10 (ACO)
[qvk] max number of allocations -1
[qvk] max image allocation size 16384 x 16384
[qvk] max uniform buffer range 4294967295
[qvk] dev 1: vendorid 0x1002
[qvk] dev 1: Radeon RX Vega
[qvk] max number of allocations -1
[qvk] max image allocation size 16384 x 16384
[qvk] max uniform buffer range 4294967295
[qvk] picked device 0
[qvk] num queue families: 2
[qvk] num surface formats: 2
[qvk] available surface formats:
[qvk] B8G8R8A8_SRGB
[qvk] B8G8R8A8_UNORM
[qvk] colour space: 0
[gui] no display profile file display.HDMI-A-0, using sRGB!
[gui] no display profile file display.DisplayPort-1, using sRGB!
[qvk] num surface formats: 2
[qvk] available surface formats:
[qvk] B8G8R8A8_SRGB
[qvk] B8G8R8A8_UNORM
[qvk] colour space: 0
[db] allocating 1024.0 MB for thumbnails
[mem] images : peak rss 0.00390625 MB vmsize 0.00390625 MB
[mem] staging: peak rss 0.000244141 MB vmsize 0.000244141 MB
[perf] record cmd buf: 0.270 ms
[perf] i-bc1_main: 0.008 ms
[perf] total burst: 0.000 ms
[perf] total time: 0.008 ms
[perf] [thm] ran graph in 0ms
[mem] images : peak rss 0.00390625 MB vmsize 0.00390625 MB
[mem] staging: peak rss 0.000244141 MB vmsize 0.000244141 MB
[perf] record cmd buf: 0.081 ms
[perf] i-bc1_main: 0.007 ms
[perf] total burst: 0.000 ms
[perf] total time: 0.007 ms
[perf] [thm] ran graph in 0ms
[perf] time to load images 0.000s
[qvk] num surface formats: 2
[qvk] available surface formats:
[qvk] B8G8R8A8_SRGB
[qvk] B8G8R8A8_UNORM
[qvk] colour space: 0
[mem] images : peak rss 0.078125 MB vmsize 0.078125 MB
[mem] staging: peak rss 0.100708 MB vmsize 0.100708 MB
[perf] record cmd buf: 0.903 ms
[perf] i-bc1_main: 0.012 ms
[perf] total burst: 0.000 ms
[perf] total time: 0.012 ms
[perf] [thm] ran graph in 1ms
It works! I will try to find a way get the new glslang later and try testing with vk 1.2. I tried --allow-unauthenticated with apt and apt-get but it seems they removed that feature.
This is so cool man! Thank you so much!!
(few moments later): JESUS CHRIST!! It’s real time!!! I wanna cry
edit: man, THIS IS SO CRAZY! I can’t believe this! :DDD
It works but performance is absolutely horrible without a dedicated GPU.
I guess having a laptop that supports external GPU would also be really cool.
Now is this something that will change or should vkdt be used only on the systems with dedicated GPU?
oh wow you were running this on wayland natively? via glfw-wayland? also something i knew should work in theory but can’t test with nvidia hardware.
re:perf on integrated intel: there’s a LOD switch in the ‘esoteric’ tab that might help speed up things a bit. i need to make that work with all modules robustly and wire it better, also to the config.rc so you won’t have to change it again upon restart.
other than that i was meaning to implement some graph cut for incrememtal processing. that should also help some if your active module is late in the pipeline. so far this low end target wasn’t a priority for me though… i wasn’t sure if by the time the rest of the feature set is complete and polished enough for real use such systems would still be in use… if anyone would really think this is important let me know and i might prioritise.
I don’t know, I guess so. I was in Wayland session, compiled and it worked. But maybe is trough xWayland or whatever it’s called because I don’t have glfw-wayland installed.
$ sudo apt search glfw
Sorting... Done
Full Text Search... Done
gem-plugin-glfw3/focal 1:0.94-1build2 amd64
Graphics Environment for Multimedia - GLFW3 support
libglfw3/focal,now 3.3.2-1 amd64 [installed]
portable library for OpenGL, window and input (x11 libraries)
libglfw3-dev/focal,now 3.3.2-1 amd64 [installed]
portable library for OpenGL, window and input (development files)
libglfw3-doc/focal,focal 3.3.2-1 all
portable library for OpenGL, window and input (documentation)
libglfw3-wayland/focal 3.3.2-1 amd64
portable library for OpenGL, window and input (wayland libraries)
I’ll recompile it again, once without libglfw3-wayland installed and once with libglfw3-wayland installed on my system and post you the logs. libglfw3-wayland will get picked up automatically during compilation if I have it on my system right? I don’t have to change any configs?
What cpu do you have? Can’t you just take out the GPU? Or I think there is a way to specify which gpu do you want to run the app with in the hybrid gpu systems. I remember seeing even some gui context menu in gnome that lets you choose a gpu to launch the app with in the activities overview.
hah, fair point with the CPU. that would be a ryzen (no GPU) or some intel on the laptop. i guess i could always use the lavapipe vulkan driver for a test though. the laptop has a 1650 GTX though, so installing wayland on either system would mean breaking the setup for some time until i restore the xorg configuration.
right, libglfw3 without the -wayland would indicate it went through xwayland. if it doesn’t destroy your setup for other reasons i’d be curious to hear what happens if you install libglfw3-wayland instead and try to go the direct route (at least undoing that change sounds like a quick thing to do in case it doesn’t work). i’d at the very least expect some trouble with going fullscreen via F11 or so.
-dev is just the headers, they don’t depend on the backend/implementation (and i call the functions by these names knowing not what will be behind it, so the dev package better not change…)
Alright, it compiled fine as per this log compilation_log.txt (116.0 KB) however, it failed to launch as per this log vkdt_output.txt (66.3 KB)
Where is the dump file located? I can’t find it.
maybe get yourself a Elgato Camlink 4k and a mini hdmi to hdmi cable. that might give you higher data rates. … my fuji can get up to 400mbit like that.
hm great. thanks for trying. not really informative… it’s not a crash, it just notices that this combination of drivers/etc can’t create a vulkan context to show stuff on your screen (that’s the swapchain bit). i guess i’ll have to try the wayland thing on some old computer or on a secondary partition or something and debug at length.
to answer the other question: vkdt doesn’t write backtraces.
wait isn’t 400mbit/s = 400/8 MB/s = 50MB/s < than my 60MB/s ?
but you’re saying the elgato card works well on linux? i was considering something like that for the webcam processing. but then again i don’t really have a use case nor a highres web cam… i don’t think i want to spend money on it.
Yeah, it’s probably drivers. I did some weird stuff on this machine to get opencl working on this CPU. Afaik it shouldn’t be even supported. But it works for Darktable. Tho it may be the cause of the issue for vkdt. Unfortunately I do not dare to touch that because I don’t remember how I got OpenCL working and what I did with the drivers.
the elgato camlink is basically like HDMI recorder that feeds the video signal into your system via USB. and yes the kind of video devices works well without any additional driver. I use it to use my fuji camera as a webcam.
Why not? I think the only reason it’s not listed as supported is because it doesn’t have a clean HDMI output with Canon’s firmware.
But it has with Magic Lantern that @hanatos is using so it should be fine.