runtime failure
I was able to compile on my laptop, but both example apps fail to run. I could compile but not successfully run all the wgpu project tests. I was able to get some of the wgpu showcase apps to run e.g. the n-body simulation of galaxies. I was able to successfully compile and run the tests of piet-gpu.
Here's a stacktrace.
Running `target/debug/xilem counter`
MESA-INTEL: warning: Haswell Vulkan support is incomplete
size = 80.09600067138672W×24.0H
layout size = 80.09600067138672W×24.0H
render size: 1024.0W×768.0H
thread 'main' panicked at 'Error in Surface::configure: surface does not support the adapter's queue family', /home/nmrp3/.cargo/registry/src/github.com-1ecc6299db9ec823/wgpu-0.14.2/src/backend/direct.rs:274:9
stack backtrace:
0: rust_begin_unwind
at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5
1: core::panicking::panic_fmt
at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14
2: wgpu::backend::direct::Context::handle_error_fatal
at /home/nmrp3/.cargo/registry/src/github.com-1ecc6299db9ec823/wgpu-0.14.2/src/backend/direct.rs:274:9
3: <wgpu::backend::direct::Context as wgpu::Context>::surface_configure
at /home/nmrp3/.cargo/registry/src/github.com-1ecc6299db9ec823/wgpu-0.14.2/src/backend/direct.rs:1017:13
4: wgpu::Surface::configure
at /home/nmrp3/.cargo/registry/src/github.com-1ecc6299db9ec823/wgpu-0.14.2/src/lib.rs:3715:9
5: piet_wgsl::util::RenderContext::create_surface
at /home/nmrp3/.cargo/git/checkouts/piet-gpu-adec1df56a2c5942/5718222/piet-wgsl/src/util.rs:70:9
6: xilem::app_main::MainState<T,V>::render
at ./src/app_main.rs:214:33
7: <xilem::app_main::MainState<T,V> as glazier::window::WinHandler>::paint
at ./src/app_main.rs:107:9
8: glazier::backend::x11::window::Window::render::{{closure}}
at /home/nmrp3/.cargo/git/checkouts/glazier-3a172f69e2427c5a/6ef3bfd/src/backend/x11/window.rs:568:13
9: glazier::backend::x11::window::Window::with_handler_and_dont_check_the_other_borrows
at /home/nmrp3/.cargo/git/checkouts/glazier-3a172f69e2427c5a/6ef3bfd/src/backend/x11/window.rs:505:31
10: glazier::backend::x11::window::Window::render
at /home/nmrp3/.cargo/git/checkouts/glazier-3a172f69e2427c5a/6ef3bfd/src/backend/x11/window.rs:567:9
11: glazier::backend::x11::window::Window::redraw_now
at /home/nmrp3/.cargo/git/checkouts/glazier-3a172f69e2427c5a/6ef3bfd/src/backend/x11/window.rs:673:9
12: glazier::backend::x11::window::Window::run_idle
at /home/nmrp3/.cargo/git/checkouts/glazier-3a172f69e2427c5a/6ef3bfd/src/backend/x11/window.rs:932:29
13: glazier::backend::x11::application::Application::run_inner
at /home/nmrp3/.cargo/git/checkouts/glazier-3a172f69e2427c5a/6ef3bfd/src/backend/x11/application.rs:700:25
14: glazier::backend::x11::application::Application::run
at /home/nmrp3/.cargo/git/checkouts/glazier-3a172f69e2427c5a/6ef3bfd/src/backend/x11/application.rs:710:25
15: glazier::application::Application::run
at /home/nmrp3/.cargo/git/checkouts/glazier-3a172f69e2427c5a/6ef3bfd/src/application.rs:150:9
16: xilem::app_main::AppLauncher<T,V>::run
at ./src/app_main.rs:90:9
17: xilem::main
at ./src/main.rs:19:5
18: core::ops::function::FnOnce::call_once
at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
and some vital stats:
$ cargo --version
cargo 1.65.0 (4bc8f24d3 2022-10-20)
$ uname -a
Linux persephone 5.4.0-131-generic #147-Ubuntu SMP Fri Oct 14 17:07:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ prime-select query
nvidia
$ sudo lshw -class display
[sudo] password for nmrp3:
*-display
description: 3D controller
product: GM108M [GeForce 840M]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a2
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:35 memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:f7000000-f707ffff
*-display
description: VGA compatible controller
product: 4th Gen Core Processor Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 06
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:34 memory:f7400000-f77fffff memory:d0000000-dfffffff ioport:f000(size=64) memory:c0000-dffff
This sounds like it might be https://github.com/linebender/piet-gpu/issues/224.
This sounds like it might be https://github.com/linebender/piet-gpu/issues/224.
Yes, it looks like it could be exactly that. Dual card laptops is not that unusual. I'll try this on my desktop, which has just the one gpu.
The upstream issue has been solved
I'm not sure what changes need to be made here to integrate the fix.
I'm going to close this now. I believe we should be handling this case properly