GNOME Bugzilla – Bug 764228
xrandr returns 0 frequency under gnome-shell/mutter
Last modified: 2016-03-26 13:49:00 UTC
Hello! chromium cannot initialize it's gpu renderer under xwayland from xorg-server-1.18.2 and gnome-shell/mutter-3.18.3, it there is a XF86VidMode extension enabled in xorg-server. There is no such problem with weston. When I recompile Xwayland with --disable-xf86vidmode, problem is gone as well. Here is a error from chromium: Gtk-Message: Failed to load module "canberra-gtk-module" Received signal 8 FPE_INTDIV 559ea8f01911 #0 0x559ea4fc6d4e <unknown> #1 0x559ea4fc710b <unknown> #2 0x7f31b4207690 <unknown> #3 0x559ea8f01911 <unknown> #4 0x559ea8e0acca <unknown> #5 0x559ea8e0b25a <unknown> #6 0x559ea8e0b968 <unknown> #7 0x559ea8e61c44 <unknown> #8 0x559ea8e62699 <unknown> #9 0x559ea8e607c0 <unknown> #10 0x559ea8eb1a7b <unknown> #11 0x559ea8e74a8a <unknown> #12 0x559ea8e046ae <unknown> #13 0x559ea8e085f1 <unknown> #14 0x559ea8e0391b <unknown> #15 0x559ea5032273 <unknown> #16 0x559ea4fe4fb6 <unknown> #17 0x559ea4fe53a1 <unknown> #18 0x559ea4fe606b <unknown> #19 0x559ea5030761 <unknown> #20 0x559ea4ffb4d8 <unknown> #21 0x559ea4fe40f5 <unknown> #22 0x559ea8cf18cc <unknown> #23 0x559ea4f7ca87 <unknown> #24 0x559ea4f7bf81 <unknown> #25 0x559ea4afac3a ChromeMain #26 0x7f31b3e7c7b0 __libc_start_main #27 0x559ea4afaaf9 _start r8: 0000000000000001 r9: fffffffd530ad834 r10: fffffc22e504a174 r11: 0000000000000000 r12: 000003dfb454bb18 r13: 0000000000000000 r14: 00007fff69db8e20 r15: 000003dfb454bb00 di: 8000000000000000 si: 0000000000000000 bp: 00007fff69db8e30 bx: 0000000000000000 dx: 0000000000000000 ax: 00000000000f4240 cx: 0000000000000000 sp: 00007fff69db8bd0 ip: 0000559ea8f01911 efl: 0000000000010246 cgf: 0000000000000033 erf: 0000000000000000 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000 [end of stack trace] Received signal 8 FPE_INTDIV 55713ede0911 #0 0x55713aea5d4e <unknown> #1 0x55713aea610b <unknown> #2 0x7ff3056cc690 <unknown> #3 0x55713ede0911 <unknown> #4 0x55713ece9cca <unknown> #5 0x55713ecea25a <unknown> #6 0x55713ecea968 <unknown> #7 0x55713ed40c44 <unknown> #8 0x55713ed41699 <unknown> #9 0x55713ed3f7c0 <unknown> #10 0x55713ed90a7b <unknown> #11 0x55713ed53a8a <unknown> #12 0x55713ece36ae <unknown> #13 0x55713ece75f1 <unknown> #14 0x55713ece291b <unknown> #15 0x55713af11273 <unknown> #16 0x55713aec3fb6 <unknown> #17 0x55713aec43a1 <unknown> #18 0x55713aec506b <unknown> #19 0x55713af0f761 <unknown> #20 0x55713aeda4d8 <unknown> #21 0x55713aec30f5 <unknown> #22 0x55713ebd08cc <unknown> #23 0x55713ae5ba87 <unknown> #24 0x55713ae5af81 <unknown> #25 0x55713a9d9c3a ChromeMain #26 0x7ff3053417b0 __libc_start_main #27 0x55713a9d9af9 _start r8: 0000000000000001 r9: fffffffd547628c5 r10: ffffccdaa7840e45 r11: 0000000000000000 r12: 00003327f242fd18 r13: 0000000000000000 r14: 00007ffea2c33090 r15: 00003327f242fd00 di: 8000000000000000 si: 0000000000000000 bp: 00007ffea2c330a0 bx: 0000000000000000 dx: 0000000000000000 ax: 00000000000f4240 cx: 0000000000000000 sp: 00007ffea2c32e40 ip: 000055713ede0911 efl: 0000000000010246 cgf: 0000000000000033 erf: 0000000000000000 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000 [end of stack trace] Received signal 8 FPE_INTDIV 55ace99ea911 #0 0x55ace5aafd4e <unknown> #1 0x55ace5ab010b <unknown> #2 0x7f723e90b690 <unknown> #3 0x55ace99ea911 <unknown> #4 0x55ace98f3cca <unknown> #5 0x55ace98f425a <unknown> #6 0x55ace98f4968 <unknown> #7 0x55ace994ac44 <unknown> #8 0x55ace994b699 <unknown> #9 0x55ace99497c0 <unknown> #10 0x55ace999aa7b <unknown> #11 0x55ace995da8a <unknown> #12 0x55ace98ed6ae <unknown> #13 0x55ace98f15f1 <unknown> #14 0x55ace98ec91b <unknown> #15 0x55ace5b1b273 <unknown> #16 0x55ace5acdfb6 <unknown> #17 0x55ace5ace3a1 <unknown> #18 0x55ace5acf06b <unknown> #19 0x55ace5b19761 <unknown> #20 0x55ace5ae44d8 <unknown> #21 0x55ace5acd0f5 <unknown> #22 0x55ace97da8cc <unknown> #23 0x55ace5a65a87 <unknown> #24 0x55ace5a64f81 <unknown> #25 0x55ace55e3c3a ChromeMain #26 0x7f723e5807b0 __libc_start_main #27 0x55ace55e3af9 _start r8: 0000000000000001 r9: fffffffd5298d2c0 r10: ffffd5a4ac888a80 r11: 0000000000000000 r12: 00002a59fc567d18 r13: 0000000000000000 r14: 00007fffa1fb0950 r15: 00002a59fc567d00 di: 8000000000000000 si: 0000000000000000 bp: 00007fffa1fb0960 bx: 0000000000000000 dx: 0000000000000000 ax: 00000000000f4240 cx: 0000000000000000 sp: 00007fffa1fb0700 ip: 000055ace99ea911 efl: 0000000000010246 cgf: 0000000000000033 erf: 0000000000000000 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000 [end of stack trace] Received signal 11 SEGV_MAPERR 000000000010 #0 0x55a55a0c3d4e <unknown> #1 0x55a55a0c410b <unknown> #2 0x7f5fde142690 <unknown> #3 0x55a55a553690 <unknown> #4 0x55a55aa4650e <unknown> #5 0x55a55aa179b1 <unknown> #6 0x55a55a995c62 <unknown> #7 0x55a55cf32f9d <unknown> #8 0x55a55cf332d8 <unknown> #9 0x55a55a110bfe <unknown> #10 0x55a55a110d00 <unknown> #11 0x55a55a10d6a7 <unknown> #12 0x7f5fde139334 start_thread #13 0x7f5fdde7f2cd clone r8: 0000000000000000 r9: fffffffd52d52fb6 r10: ffffd104f30a72f6 r11: 00002ef9a1c010c0 r12: 00007f5fd5df2910 r13: 00007f5fd5df2930 r14: 00002ef9a1d48dd0 r15: 00002ef9a1dd0e10 di: 0000000000000000 si: 00000000ffffffff bp: 00002ef9a1f3bf00 bx: 00002ef9a1f3e400 dx: 00002ef9a1dd0e80 ax: 0000000000000000 cx: 0000000000000001 sp: 00007f5fd5df28d8 ip: 000055a55a553690 efl: 0000000000010206 cgf: 0000000000000033 erf: 0000000000000004 trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000010 [end of stack trace] [14167:14188:0326/124250:ERROR:browser_gpu_channel_host_factory.cc(145)] Failed to create channel.
So, I've found a reason for Chrome fail - it tries to calculate vsync parameters via GetMscRate which returns 0 as numenator. This numenator is essentially a dot_clock returned from XF86VidModeGetModeLine. I've used some simple software from here https://mail.gnome.org/archives/gtk-list/2001-September/msg00265.html to check the returned dot_clock, and it's 0
Under weston dot_clock is 173000, so it's definitely a problem in mutter/gnome-shell
it seems that XF86VidModeGetModeLine get the dot_clock from Randr. Currently xrandr command return Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192 XWAYLAND0 connected 1920x1080+0+0 530mm x 300mm 1920x1080@0.1Hz 0.00*+ It shows correct frequency under weston
Something is wrong with wl_output handling - mpv also shows [vo/opengl-hq/wayland] Hz: 0
It seems that it was already resolved for 3.20 https://bugzilla.gnome.org/show_bug.cgi?id=758653. Sorry for the mess! *** This bug has been marked as a duplicate of bug 758653 ***