Comments (7)
Thanks for the issue report! I think this might be a driver or config issue, quick googling for ALSA lib pcm_dmix.c:999:(snd_pcm_dmix_open) unable to open slave
comes up with some results.
ALSA is already included in arch iirc, but may not be configured correctly. Could you try these steps here? https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture#Configuration
It's possible that your systems "Default device" or config isn't set up with what cpal wants to see as the default.
from gamercade_console.
I did actually configure a default device but now I've got a similar error, any ideas?
cargo run --bin editor
Finished dev [unoptimized + debuginfo] target(s) in 0.13s
Running `target/debug/editor`
Output Sample Rate: 44100
Output channels: 2
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: BackendSpecific { err: BackendSpecificError { description: "ALSA function 'snd_pcm_sw_params' failed with error 'EINVAL: Invalid argument'" } }', gamercade_sound_engine/src/sound_engine.rs:286:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
from gamercade_console.
Heres a backtrace, I'll run through this in my AM
cargo run --bin editor
Finished dev [unoptimized + debuginfo] target(s) in 0.13s
Running `target/debug/editor`
Output Sample Rate: 44100
Output channels: 2
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: BackendSpecific { err: BackendSpecificError { description: "ALSA function 'snd_pcm_sw_params' failed with error 'EINVAL: Invalid argument'" } }', gamercade_sound_engine/src/sound_engine.rs:286:14
stack backtrace:
0: 0x56199a471100 - std::backtrace_rs::backtrace::libunwind::trace::h22157d54c25d05ad
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
1: 0x56199a471100 - std::backtrace_rs::backtrace::trace_unsynchronized::hf9a98b3986ed5962
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x56199a471100 - std::sys_common::backtrace::_print_fmt::h44f8a801ddb575b4
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/sys_common/backtrace.rs:66:5
3: 0x56199a471100 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h306abe8d5f5fb26d
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/sys_common/backtrace.rs:45:22
4: 0x56199a496c7e - core::fmt::write::h5a3c14feb177cc6f
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/core/src/fmt/mod.rs:1202:17
5: 0x56199a46c235 - std::io::Write::write_fmt::h2fac6c752c3fce7e
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/io/mod.rs:1679:15
6: 0x56199a472933 - std::sys_common::backtrace::_print::h17490259a7578aec
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/sys_common/backtrace.rs:48:5
7: 0x56199a472933 - std::sys_common::backtrace::print::h6dba4ce5923cf00b
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/sys_common/backtrace.rs:35:9
8: 0x56199a472933 - std::panicking::default_hook::{{closure}}::h25daedc6802fa9d1
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/panicking.rs:295:22
9: 0x56199a47261f - std::panicking::default_hook::hffec061dc0fa1a5a
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/panicking.rs:314:9
10: 0x56199a472fda - std::panicking::rust_panic_with_hook::h74e697c31d32505c
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/panicking.rs:698:17
11: 0x56199a472ed7 - std::panicking::begin_panic_handler::{{closure}}::hd0b9cdbd524ed365
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/panicking.rs:588:13
12: 0x56199a4715ac - std::sys_common::backtrace::__rust_end_short_backtrace::h3feb3f4e0604d329
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/sys_common/backtrace.rs:138:18
13: 0x56199a472bf2 - rust_begin_unwind
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/panicking.rs:584:5
14: 0x561999211423 - core::panicking::panic_fmt::h0f41ee9e7f6526dd
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/core/src/panicking.rs:142:14
15: 0x561999211573 - core::result::unwrap_failed::hcc2e1d3dceac8edc
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/core/src/result.rs:1785:5
16: 0x561999931453 - core::result::Result<T,E>::unwrap::h7887b681da51bffa
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/core/src/result.rs:1107:23
17: 0x5619999224ff - gamercade_sound_engine::sound_engine::SoundEngine::new::h123457b2d63d5964
at /home/bread/hacking/gamercade_console/gamercade_sound_engine/src/sound_engine.rs:185:22
18: 0x56199929b869 - editor::ui::audio::audio_editor::AudioEditor::new::ha25711e9e2c7e0f4
at /home/bread/hacking/gamercade_console/gamercade_editor/src/ui/audio/audio_editor.rs:43:32
19: 0x56199929f4fb - <editor::ui::editor::Editor as core::default::Default>::default::h6c208c90a52937e2
at /home/bread/hacking/gamercade_console/gamercade_editor/src/ui/editor.rs:35:27
20: 0x56199923e52f - editor::main::{{closure}}::h3c895eb462bc9750
at /home/bread/hacking/gamercade_console/gamercade_editor/src/main.rs:16:33
21: 0x561999269078 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h0ef0d98513750ef5
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/core/src/ops/function.rs:248:5
22: 0x5619999b909a - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h8d12c58009368a9c
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/alloc/src/boxed.rs:1940:9
23: 0x5619999ee41f - eframe::native::run::glow_integration::GlowWinitApp::new::h34b1beba808c0d0e
at /home/bread/.cargo/registry/src/github.com-1ecc6299db9ec823/eframe-0.19.0/src/native/run.rs:281:27
24: 0x5619999ef6f5 - eframe::native::run::glow_integration::run_glow::{{closure}}::h0d7f2003ee1642cb
at /home/bread/.cargo/registry/src/github.com-1ecc6299db9ec823/eframe-0.19.0/src/native/run.rs:458:21
25: 0x5619999de0b4 - eframe::native::run::with_event_loop::{{closure}}::h3bf67b2ddb567f75
at /home/bread/.cargo/registry/src/github.com-1ecc6299db9ec823/eframe-0.19.0/src/native/run.rs:84:9
26: 0x5619999cff5c - std::thread::local::LocalKey<T>::try_with::hb0d7c8d6d17f10df
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/thread/local.rs:445:16
27: 0x5619999cf89d - std::thread::local::LocalKey<T>::with::hd69639adb06898b8
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/thread/local.rs:421:9
28: 0x5619999ddfb4 - eframe::native::run::with_event_loop::hafc4c995e626bd80
at /home/bread/.cargo/registry/src/github.com-1ecc6299db9ec823/eframe-0.19.0/src/native/run.rs:83:5
29: 0x5619999ef54d - eframe::native::run::glow_integration::run_glow::he197bda88c1c0d51
at /home/bread/.cargo/registry/src/github.com-1ecc6299db9ec823/eframe-0.19.0/src/native/run.rs:456:13
30: 0x5619999efaeb - eframe::run_native::hbd554bd51b969b58
at /home/bread/.cargo/registry/src/github.com-1ecc6299db9ec823/eframe-0.19.0/src/lib.rs:172:13
31: 0x5619992230d6 - editor::main::h7196d524db352e78
at /home/bread/hacking/gamercade_console/gamercade_editor/src/main.rs:13:5
32: 0x56199926ab5b - core::ops::function::FnOnce::call_once::h519354246c065b44
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/core/src/ops/function.rs:248:5
33: 0x56199928a24e - std::sys_common::backtrace::__rust_begin_short_backtrace::hdddd38a998e83f1b
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/sys_common/backtrace.rs:122:18
34: 0x5619992985b1 - std::rt::lang_start::{{closure}}::h0d8c27fed5f209b7
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/rt.rs:166:18
35: 0x56199a46761f - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hb8df718c68d68c9f
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/core/src/ops/function.rs:283:13
36: 0x56199a46761f - std::panicking::try::do_call::h8dddef2304462fc6
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/panicking.rs:492:40
37: 0x56199a46761f - std::panicking::try::hdaa6cf91fc468afd
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/panicking.rs:456:19
38: 0x56199a46761f - std::panic::catch_unwind::he262720fe982b2af
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/panic.rs:137:14
39: 0x56199a46761f - std::rt::lang_start_internal::{{closure}}::h186c7eb03cc01e3d
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/rt.rs:148:48
40: 0x56199a46761f - std::panicking::try::do_call::hd0289857f5ecb87d
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/panicking.rs:492:40
41: 0x56199a46761f - std::panicking::try::hb64e3846d05ca699
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/panicking.rs:456:19
42: 0x56199a46761f - std::panic::catch_unwind::hf7d3692bfaa54567
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/panic.rs:137:14
43: 0x56199a46761f - std::rt::lang_start_internal::hf0658d13fdb512d4
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/rt.rs:148:20
44: 0x56199929858a - std::rt::lang_start::h7ac7505b6b892255
at /rustc/432abd86f231c908f6df3cdd779e83f35084be90/library/std/src/rt.rs:165:17
45: 0x561999223161 - main
46: 0x7f331adf5290 - <unknown>
47: 0x7f331adf534a - __libc_start_main
48: 0x561999211755 - _start
at /build/glibc/src/glibc/csu/../sysdeps/x86_64/start.S:115
49: 0x0 - <unknown>
from gamercade_console.
Ah! I might have an idea for whats causing this.
Could you try running the beep example from cpal? https://github.com/RustAudio/cpal/blob/master/examples/beep.rs
If that one works then its likely an issue where the sound engine is expecting f32 for the sample format hence building the stream fails.
from gamercade_console.
Indeed it worked!
from gamercade_console.
Thanks for testing! I'll try and get a patch up for this when I have time next, thankfully the cpal examples show what the problem is pretty clearly.
from gamercade_console.
hi @petab1te sorry for the wait, i've just pushed a change to main which I think solves this issue. could you checkit out when you get the chance?
from gamercade_console.
Related Issues (20)
- MacOs file has no extension
- Incorporate input_delay settings for p2p sessions HOT 1
- Add additional aspect ratios & resolutions HOT 5
- DATA PACKS: WASM Linear Memory, Rollback & Console Constraints HOT 2
- Gauging Interest in: Parallel Compute Instruction Set, Vector Processing Unit, or GPU-lite interface. HOT 1
- Audio Engine: Support playback for other formats HOT 1
- Import Sprite Sheet: Make removal of empty sprites optional HOT 1
- RetroArch Core
- Gamercade-Mac binaries aren't executable by default. HOT 1
- Detect Desyncs
- Support >2 Total Network Connections HOT 1
- Support for Mouse & Mouse Api HOT 2
- Determine Max Game Rom Size HOT 3
- Add `write_pixel_buffer` type of graphics function
- Console Web Support HOT 2
- Allow Opening of `.wasm` files with default assets. HOT 1
- `gamercade_rs` Crate 0.1.2 is a Breaking Release, But Not Marked As Such HOT 1
- importing a palette should order colors from left to right, and top to bottom
- Investigate `bitcode` vs `bincode` for filesystem HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gamercade_console.