es2gears_wayland on mutter sticks to 119 FPS on a 59.95Hz display

Bug #1753677 reported by Daniel van Vugt on 2018-03-06
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mesa
New
Unknown
mesa-demos (Ubuntu)
Undecided
Unassigned
mutter (Ubuntu)
Undecided
Unassigned

Bug Description

es2gears_wayland sticks to 119 FPS on a 59.95Hz display

$ es2gears_wayland
EGL_VERSION = 1.4 (DRI2)
vertex shader info:
fragment shader info:
info:
597 frames in 5.0 seconds = 119.138 FPS
600 frames in 5.0 seconds = 119.880 FPS
598 frames in 5.0 seconds = 119.481 FPS
600 frames in 5.0 seconds = 119.952 FPS
600 frames in 5.0 seconds = 119.880 FPS
600 frames in 5.0 seconds = 119.880 FPS
596 frames in 5.0 seconds = 119.105 FPS

$ es2gears_x11
EGL_VERSION = 1.4 (DRI2)
vertex shader info:
fragment shader info:
info:
315 frames in 5.0 seconds = 62.837 FPS
300 frames in 5.0 seconds = 60.000 FPS
300 frames in 5.0 seconds = 60.000 FPS
300 frames in 5.0 seconds = 60.000 FPS
300 frames in 5.0 seconds = 60.000 FPS
301 frames in 5.0 seconds = 60.008 FPS

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: mesa-utils-extra 8.4.0-1
ProcVersionSignature: Ubuntu 4.15.0-10.11-generic 4.15.3
Uname: Linux 4.15.0-10-generic x86_64
ApportVersion: 2.20.8-0ubuntu10
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
Date: Tue Mar 6 16:39:18 2018
DistUpgraded: Fresh install
DistroCodename: bionic
DistroVariant: ubuntu
GraphicsCard:
 Intel Corporation Xeon E3-1200 v3 Processor Integrated Graphics Controller [8086:041a] (rev 06) (prog-if 00 [VGA controller])
   Subsystem: Lenovo Xeon E3-1200 v3 Processor Integrated Graphics Controller [17aa:30a1]
InstallationDate: Installed on 2017-12-12 (84 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20171211)
MachineType: LENOVO 30AJS05700
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-10-generic.efi.signed root=UUID=f9fe7460-9c41-4d4a-8376-e5ceb57bbec8 ro quiet splash vt.handoff=1
SourcePackage: mesa-demos
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 08/02/2015
dmi.bios.vendor: LENOVO
dmi.bios.version: FBKTB6AUS
dmi.board.name: SHARKBAY
dmi.board.vendor: LENOVO
dmi.board.version: SDK0E50519 PRO
dmi.chassis.type: 7
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnLENOVO:bvrFBKTB6AUS:bd08/02/2015:svnLENOVO:pn30AJS05700:pvrThinkStationP300:rvnLENOVO:rnSHARKBAY:rvrSDK0E50519PRO:cvnToBeFilledByO.E.M.:ct7:cvrToBeFilledByO.E.M.:
dmi.product.family: To be filled by O.E.M.
dmi.product.name: 30AJS05700
dmi.product.version: ThinkStation P300
dmi.sys.vendor: LENOVO
version.compiz: compiz 1:0.9.13.1+18.04.20180302-0ubuntu1
version.libdrm2: libdrm2 2.4.90-1
version.libgl1-mesa-dri: libgl1-mesa-dri 18.0.0~rc4-1ubuntu3
version.libgl1-mesa-glx: libgl1-mesa-glx 18.0.0~rc4-1ubuntu3
version.xserver-xorg-core: xserver-xorg-core 2:1.19.6-1ubuntu2
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev N/A
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.10.0-1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20171229-1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.15-2

Daniel van Vugt (vanvugt) wrote :

Oddly, it works perfectly in Weston:

$ es2gears_wayland
EGL_VERSION = 1.4 (DRI2)
vertex shader info:
fragment shader info:
info:
301 frames in 5.0 seconds = 60.176 FPS
300 frames in 5.0 seconds = 59.952 FPS
300 frames in 5.0 seconds = 59.952 FPS
300 frames in 5.0 seconds = 59.964 FPS
300 frames in 5.0 seconds = 59.928 FPS
300 frames in 5.0 seconds = 59.964 FPS

summary: - es2gears_wayland sticks to 119 FPS on a 60Hz display
+ es2gears_wayland on mutter sticks to 119 FPS on a 60Hz display
summary: - es2gears_wayland on mutter sticks to 119 FPS on a 60Hz display
+ es2gears_wayland on mutter sticks to 119 FPS on a 59.95Hz display
description: updated
Daniel van Vugt (vanvugt) wrote :
description: updated
tags: added: performance wayland wayland-session

es2gears_wayland is requesting two frame callbacks per frame, and then reporting a framerate double of what it is actually drawing, see this log:

[1648215.456] -> wl_surface@6.frame(new id wl_callback@11)
[1648215.507] -> wl_surface@6.frame(new id wl_callback@12)
[1648215.552] -> wl_surface@6.attach(wl_buffer@14, 0, 0)
[1648215.577] -> wl_surface@6.damage(0, 0, 2147483647, 2147483647)
[1648215.654] -> wl_surface@6.commit()
[1648226.261] wl_display@1.delete_id(11)
[1648226.318] wl_display@1.delete_id(12)
[1648226.345] wl_callback@11.done(1097662536)
[1648226.368] wl_buffer@9.release()
[1648226.378] wl_callback@12.done(1097662536)
[1648227.256] -> wl_surface@6.frame(new id wl_callback@12)
[1648227.327] -> wl_surface@6.frame(new id wl_callback@11)
[1648227.345] -> wl_surface@6.attach(wl_buffer@9, 0, 0)
[1648227.373] -> wl_surface@6.damage(0, 0, 2147483647, 2147483647)
[1648227.473] -> wl_surface@6.commit()
[1648247.237] wl_display@1.delete_id(12)
[1648247.288] wl_display@1.delete_id(11)
[1648247.309] wl_callback@12.done(1097662553)
[1648247.341] wl_buffer@14.release()
[1648247.356] wl_callback@11.done(1097662553)

This is apparently caused by the fix for bug 101814, see also https://gitlab.gnome.org/GNOME/mutter/issues/55

Also seen in gnome-shell on Ubuntu 18.04:

$ es2gears_wayland
EGL_VERSION = 1.4 (DRI2)
vertex shader info:
fragment shader info:
info:
597 frames in 5.0 seconds = 119.138 FPS
600 frames in 5.0 seconds = 119.880 FPS
598 frames in 5.0 seconds = 119.481 FPS
600 frames in 5.0 seconds = 119.952 FPS
600 frames in 5.0 seconds = 119.880 FPS
600 frames in 5.0 seconds = 119.880 FPS
596 frames in 5.0 seconds = 119.105 FPS

But strangely not in weston:

$ es2gears_wayland
EGL_VERSION = 1.4 (DRI2)
vertex shader info:
fragment shader info:
info:
301 frames in 5.0 seconds = 60.176 FPS
300 frames in 5.0 seconds = 59.952 FPS
300 frames in 5.0 seconds = 59.952 FPS
300 frames in 5.0 seconds = 59.964 FPS
300 frames in 5.0 seconds = 59.928 FPS
300 frames in 5.0 seconds = 59.964 FPS

Daniel van Vugt (vanvugt) wrote :
Changed in mesa-demos (Ubuntu):
status: New → Confirmed
Changed in mesa:
importance: Unknown → Medium
status: Unknown → Confirmed
description: updated

One 'frame' will be requested by the EGL implementation and another by es2gears. That's fine, as neither will receive the other's events.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mutter (Ubuntu):
status: New → Confirmed

Also, on a real 120Hz display, es2gears_wayland reports 240 FPS. Verified in both gnome-shell and weston.

-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/demos/issues/12.

Changed in mesa:
status: Confirmed → Unknown
Changed in mesa:
importance: Medium → Unknown
Changed in mesa:
status: Unknown → New
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.