Skip to content
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

thread panic: " Err value: "Couldn\'t find any pixel format that matches the criterias." " #1234

Open
nyghtly-derek opened this issue Jul 24, 2018 · 0 comments

Comments

@nyghtly-derek
Copy link

nyghtly-derek commented Jul 24, 2018

Hi Everyone,

I have been troubleshooting this issue for a while. I am aware of issue #1202 and have reviewed it thoroughly. It doesn't appear that I am experiencing the same problem.

TLDR: Window creation is failing on a simple hello_piston example. I've implemented a number of potential fixes but none have worked. Here are the details...

When I run RUST_BACKTRACE=1 cargo +nightly run on my program hello_piston, I get the following output:

Compiling hello_piston v0.1.0 (file:///home/nyghtly/Documents/proj/rust/hello_piston)
    Finished dev [unoptimized + debuginfo] target(s) in 28.10s
     Running `target/debug/hello_piston`
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "GL context creation failed"', libcore/result.rs:945:5
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:211
   3: std::panicking::default_hook
             at libstd/panicking.rs:227
   4: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:475
   5: std::panicking::continue_panic_fmt
             at libstd/panicking.rs:390
   6: rust_begin_unwind
             at libstd/panicking.rs:325
   7: core::panicking::panic_fmt
             at libcore/panicking.rs:77
   8: core::result::unwrap_failed
             at /checkout/src/libcore/macros.rs:26
   9: <core::result::Result<T, E>>::unwrap
             at /checkout/src/libcore/result.rs:782
  10: hello_piston::main
             at src/main.rs:9
  11: std::rt::lang_start::{{closure}}
             at /checkout/src/libstd/rt.rs:74
  12: std::panicking::try::do_call
             at libstd/rt.rs:59
             at libstd/panicking.rs:310
  13: __rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:106
  14: std::rt::lang_start_internal
             at libstd/panicking.rs:289
             at libstd/panic.rs:392
             at libstd/rt.rs:58
  15: std::rt::lang_start
             at /checkout/src/libstd/rt.rs:74
  16: main
  17: __libc_start_main
  18: _start

Here is the code for hello_piston:

extern crate piston_window;

use piston_window::*;

fn main() {
    let mut window: PistonWindow = PistonWindow::new(
    OpenGL::V2_1,
    0,
    WindowSettings::new("Hello World!", [640, 480])
        .opengl(OpenGL::V2_1)
        .srgb(false)
        .build()
        .unwrap(),
    );
    while let Some(event) = window.next() {
        window.draw_2d(&event, |context, graphics| {
            clear([1.0; 4], graphics);
            rectangle([1.0, 0.0, 0.0, 1.0], // red
                      [0.0, 0.0, 100.0, 100.0],
                      context.transform,
                      graphics);
        });
    }
}

Here is my system info (from command inxi -CGS):

System:
  Host: ______ Kernel: 4.14.57-1-MANJARO x86_64 bits: 64 Desktop: N/A 
  Distro: Manjaro Linux 
CPU:
  Topology: Dual Core model: Intel Atom N550 bits: 64 type: MT MCP 
  L2 cache: 512 KiB 
  Speed: 998 MHz min/max: 1000/1500 MHz Core speeds (MHz): 1: 997 2: 998 
  3: 997 4: 998 
Graphics:
  Card-1: Intel Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics 
  driver: i915 v: kernel 
  Display: x11 server: N/A driver: intel unloaded: modesetting 
  resolution: <xdpyinfo missing> 
  OpenGL: renderer: Mesa DRI Intel Pineview M v: 2.1 Mesa 18.1.4

Note: OpenGL on my system was initially set to 1.4. This is the default behavior of the contemporary mesa drivers, because it improves performance of some modern applications such as Chromium. I have edited my drirc configuration in order to enable the 2.1 extension that is possible with my gpu. I have tested this fix by running openra (Open Red Alert). Before the fix it didn't run--after the fix it did.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant