Skip to content

Breaks on xrandr < 1.5 #1007

@jarredbarber

Description

@jarredbarber

I'm trying to run using the Cygwin X11 server packaged with MobaXterm, which supports RANDR 1.4;

jarred@greywind:~$ xrandr --version
xrandr program version       1.5.0
Server reports RandR version 1.4

jarred@greywind:~/projects/winit$ xrandr --listmonitors
RandR 1.5 not supported

jarred@greywind:~/projects/winit$ cargo run --example window
   Compiling winit v0.20.0-alpha1 (/home/jarred/projects/winit)
    Finished dev [unoptimized + debuginfo] target(s) in 12.09s
     Running `target/debug/examples/window`
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: OsError { line: 106, file: "src/platform_impl/linux/x11/window.rs", error: XMisc("No monitors were detected.") }', src/libcore/result.rs:997:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
jarred@greywind:~/projects/winit$

I tried changing the error on line 106 in window.rs to just return a default DPI scale factor of 1.0, but that results in deeper "can't find monitor" errors:

jarred@greywind:~/projects/winit$ cargo run --example window
   Compiling winit v0.20.0-alpha1 (/home/jarred/projects/winit)
    Finished dev [unoptimized + debuginfo] target(s) in 10.21s
     Running `target/debug/examples/window`
EventsCleared
thread 'main' panicked at '[winit] Failed to find any monitors using XRandR.', src/libcore/option.rs:1034:5

I tried changing FORCE_RANDR_COMPAT to true in monitors.rs, but that didn't seem to fix anything.

Metadata

Metadata

Assignees

No one assigned

    Labels

    B - bugDang, that shouldn't have happenedC - needs investigationIssue must be confirmed and researchedDS - win32Affects the Win32/Windows backendDS - x11Affects the X11 backend, or generally free Unix platformsH - good first issueIdeal for new contributors

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions