yshui / picom

A lightweight compositor for X11 with animation support
https://picom.app/
Other
4.17k stars 589 forks source link

Screen recording with ffmpeg causes flickering when compton is running #123

Closed 3N4N closed 3 years ago

3N4N commented 5 years ago

Platform

Ubuntu Desktop 18.10 x86_64

GPU, drivers, and screen setup

OpenGL version string: 3.0 Mesa 18.2.2 OpenGL shading language version string: 1.30 OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.2.2 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20


### Environment
I'm using [dwm-6.2](https://dwm.suckless.org) with some patches put together in [my own fork](https://github.com/enanajmain/dwm/tree/enan)

### Compton version

Version: v5-rc2

Extensions:

Misc:

Compton configuration:

#################################
#
# Backend
#
#################################

# Backend to use: "xrender" or "glx".
# GLX backend is typically much faster but depends on a sane driver.
backend = "glx";

#################################
#
# GLX backend
#
#################################

glx-no-stencil = true;

# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
# but a 20% increase when only 1/4 is.
# My tests on nouveau show terrible slowdown.
# Useful with --glx-swap-method, as well.
glx-copy-from-front = false;

# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
# May break VSync and is not available on some drivers.
# Overrides --glx-copy-from-front.
# glx-use-copysubbuffermesa = true;

# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
# Recommended if it works.
# glx-no-rebind-pixmap = true;

# GLX backend: GLX buffer swap method we assume.
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
# undefined is the slowest and the safest, and the default value.
# copy is fastest, but may fail on some drivers,
# 2-6 are gradually slower but safer (6 is still faster than 0).
# Usually, double buffer means 2, triple buffer means 3.
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
# Useless with --glx-use-copysubbuffermesa.
# Partially breaks --resize-damage.
# Defaults to undefined.
glx-swap-method = "undefined";

#################################
#
# Shadows
#
#################################

# Enabled client-side shadows on windows.
shadow = false;
# Zero the part of the shadow's mask behind the window.
# Fix some weirdness with ARGB windows.
# Removed. Enabled by default in dev fork.
# clear-shadow = true;
# The blur radius for shadows. (default 12)
shadow-radius = 5;
# The left offset for shadows. (default -15)
shadow-offset-x = -5;
# The top offset for shadows. (default -15)
shadow-offset-y = -5;
# The translucency for shadows. (default .75)
shadow-opacity = 0.5;

# Set if you want different colour shadows
# shadow-red = 0.0;
# shadow-green = 0.0;
# shadow-blue = 0.0;

# The shadow exclude options are helpful if you have shadows enabled. Due to
# the way compton draws its shadows, certain applications will have visual
# glitches (most applications are fine, only apps that do weird things with
# xshapes or argb are affected).  This list includes all the affected apps I
# found in my testing. The "! name~=''" part excludes shadows on any "Unknown"
# windows, this prevents a visual glitch with the XFWM alt tab switcher.
shadow-exclude = [
    "! name~=''",
    "name = 'Notification'",
    "name = 'Plank'",
    "name = 'Docky'",
    "name = 'Kupfer'",
    "name = 'xfce4-notifyd'",
    "name *= 'VLC'",
    "name *= 'compton'",
    "name *= 'Chromium'",
    "name *= 'Chrome'",
    "name *= 'Firefox'",
    "class_g = 'Conky'",
    "class_g = 'Kupfer'",
    "class_g = 'Synapse'",
    "class_g ?= 'Notify-osd'",
    "class_g ?= 'Cairo-dock'",
    "class_g ?= 'Xfce4-notifyd'",
    "class_g ?= 'Xfce4-power-manager'"
];
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
shadow-ignore-shaped = false;

#################################
#
# Opacity
#
#################################

# Removed. Moved to wintype option of popup_menu and dropdown_menu.
# menu-opacity = 1;
inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;
# opacity-rule = [ "90:class_g = 'st-256color'" ];
# Removed. Compton tries to make use of all alpha values in dev fork
# alpha-step = 0.06;

# Dim inactive windows. (0.0 - 1.0)
# inactive-dim = 0.2;
# Do not let dimness adjust based on window opacity.
# inactive-dim-fixed = true;
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
# blur-background = true;
# Blur background of opaque windows with transparent frames as well.
# blur-background-frame = true;
# Do not let blur radius adjust based on window opacity.
blur-background-fixed = false;
blur-background-exclude = [
    "window_type = 'dock'",
    "window_type = 'desktop'"
];

#################################
#
# Fading
#
#################################

# Fade windows during opacity changes.
fading = true;
# The time between steps in a fade in milliseconds. (default 10).
fade-delta = 4;
# Opacity change between steps while fading in. (default 0.028).
fade-in-step = 0.03;
# Opacity change between steps while fading out. (default 0.03).
fade-out-step = 0.03;
# Fade windows in/out when opening/closing
# no-fading-openclose = true;

# Specify a list of conditions of windows that should not be faded.
fade-exclude = [ ];

#################################
#
# Other
#
#################################

# Try to detect WM windows and mark them as active.
mark-wmwin-focused = true;
# Mark all non-WM but override-redirect windows active (e.g. menus).
mark-ovredir-focused = true;
# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events.
# Usually more reliable but depends on a EWMH-compliant WM.
use-ewmh-active-win = true;
# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
detect-rounded-corners = true;

# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows.
# This prevents opacity being ignored for some apps.
# For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
detect-client-opacity = true;

# Specify refresh rate of the screen.
# If not specified or 0, compton will try detecting this with X RandR extension.
refresh-rate = 0;

# Set VSync method. VSync methods currently available:
# none: No VSync
# drm: VSync with DRM_IOCTL_WAIT_VBLANK. May only work on some drivers.
# opengl: Try to VSync with SGI_video_sync OpenGL extension. Only work on some drivers.
# opengl-oml: Try to VSync with OML_sync_control OpenGL extension. Only work on some drivers.
# opengl-swc: Try to VSync with SGI_swap_control OpenGL extension. Only work on some drivers. Works only with GLX backend. Known to be most effective on many drivers. Does not actually control paint timing, only buffer swap is affected, so it doesn’t have the effect of --sw-opti unlike other methods. Experimental.
# opengl-mswc: Try to VSync with MESA_swap_control OpenGL extension. Basically the same as opengl-swc above, except the extension we use.
# (Note some VSync methods may not be enabled at compile time.)
vsync = "opengl-swc";

# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing.
# Reported to have no effect, though.
dbe = false;
# Painting on X Composite overlay window. Recommended.
# Removed. Enabled whenever possible in dev fork
# paint-on-overlay = true;

# Limit compton to repaint at most once every 1 / refresh_rate second to boost performance.
# This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already,
# unless you wish to specify a lower refresh rate than the actual value.
sw-opti = false;

# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
# Known to cause flickering when redirecting/unredirecting windows.
# paint-on-overlay may make the flickering less obvious.
unredir-if-possible = false;

# Specify a list of conditions of windows that should always be considered focused.
focus-exclude = [ ];

# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time.
detect-transient = true;
# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time.
# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too.
detect-client-leader = true;

#################################
#
# Window type settings
#
#################################

wintypes:
{
    tooltip =
    {
        # fade: Fade the particular type of windows.
        fade = true;
        # shadow: Give those windows shadow
        shadow = false;
        # opacity: Default opacity for the type of windows.
        opacity = 0.85;
        # focus: Whether to always consider windows of this type focused.
        focus = true;
    };
    popup_menu =
    {
        opacity = 1;
    };
    dropdown_menu =
    {
        opacity = 1;
    };
    dock =
    {
        shadow = false;
    };
    desktop =
    {
        shadow = false;
    };
};

Steps of reproduction

I'm using the following script to record my screen. The bug (not really a bug, more of a problem) can be reproduced by just launching this script and then watching the recorded video.

#!/bin/bash

A="$(pacmd list-sources | grep -PB 1 "analog.*monitor>" | head -n 1 | perl -pe 's/.* //g')"
F="/home/user/Videos/$(date --iso-8601=minutes | perl -pe 's/[^0-9]+//g').mkv"
V="$(xdpyinfo | grep dimensions | perl -pe 's/.* ([0-9]+x[0-9]+) .*/$1/g')"
ffmpeg -video_size "$V" -f x11grab -i :0.0 -f pulse -i "$A" -f pulse -i default -filter_complex amerge -ac 2 -preset veryfast "$F"

Expected behavior

The recorded video has constant flickering. If I kill the compton instance and record a video, it doesn't have any flickering.

Current Behavior

There should be no flickering in recorded video.

yshui commented 5 years ago

Do you have a video of the flickering? And does this happen with the xrender backend as well?

3N4N commented 5 years ago

Here is a demo of the flickering. And here is a demo with xrender backend.

When I try to use the xrender backend the following error occurs.

enan@elariel:~$ ps -A | grep -i 'compton'
enan@elariel:~$ compton --config $HOME/.config/compton.conf
[ 02/27/2019 03:06:16.983 vsync_opengl_swc_init WARN ] OpenGL swap control requires the GLX backend.
[ 02/27/2019 03:06:16.983 session_init FATAL ERROR ] Failed to initialize the backend

So the video that I linked of xrender backend, that video is actually not using any compton at all. That's why there is no flickering.

yshui commented 5 years ago

@enanajmain To use the xrender backend, you need to pass --vsync none

yshui commented 5 years ago

@enanajmain BTW, can you also check if this happens with other compositors (e.g. KWin, GNOME mutter, etc.)

Thanks!

3N4N commented 5 years ago

Here is a link to the demo of recorded video with xrender backend. There is no flickering in the recorded video. But my normal experience has some screen tearing. Not that much if I don't use compton at all, but definitely more than when I used glx backend with vsync="opengl-swc"

I've not yet tried out other compositors that you mentioned. I'll get back to you after I do so.

yshui commented 5 years ago

@enanajmain OK, there is an easy thing you can try that might fix the problem: --xrender-sync-fence

yshui commented 5 years ago

@enanajmain Also, while you are trying that, can you also run compton like this LIBGL_DEBUG=verbose compton (your command line flags here), and post the outputs?

3N4N commented 5 years ago

The flickering also happens with --xrender-sync-fence flag with backend=glx in config file.

The output of LIBGL_DEBUG=verbose compton --config ~/projects/dotFiles/compton.conf --xrender-sync-fence

libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
libGL: Can't open configuration file /home/enan/.drirc: No such file or directory.
libGL: Can't open configuration file /home/enan/.drirc: No such file or directory.
libGL: Using DRI2 for screen 0
libGL: Can't open configuration file /home/enan/.drirc: No such file or directory.

The output of LIBGL_DEBUG=verbose compton --config ~/projects/dotFiles/compton.conf --xrender-sync-fence --vsync none with backend=xrender in config file was nothing. In this case, the result was similar as before, i.e. no flickering in recorded video but screen tearing in normal situation.

3N4N commented 5 years ago

By the way, I never really looked at my config file. I don't even remember where I got it from. I just had to change some lines when I moved to your fork from the official version, some options were deprecated or renamed.

Now I started looking through it and that file is well documented but I can't really understand much. Would it be bad if I just used the compton.example.conf file in the repository instead, for minimum config?

yshui commented 5 years ago

@enanajmain Oh, there is a thing I need clarification: do you also see the flickering with you eyes? As in, is the flickering only visible in the recording? Or is the flickering also visible on the screen?

3N4N commented 5 years ago

i'm gonna use flickering to indicate flickering in recorded video and tearing to indicate screen tearing visible on the screen.

Of course when I use backend = xrender, I'm also adding --vsync none flag to the launch option.

yshui commented 5 years ago

@enanajmain OK, so there is flickering in the recorded video, but what you saw on the screen is not what recorded in the video? Meaning there is no flickering on the screen (regardless of tearing)?

3N4N commented 5 years ago

Yes, but the tearing that I see, when the video comes out fine is not that bad as you can see in the video when the video comes out flickering. I'm going to iterate once more.

I'm using tearing and flickering differently because there is a difference. The video that I linked, you can see parts of the screen gets transparent and you can see the background, this is what I'm calling flickering. And then I see this screen tearing when I scroll my browser or watch a video, but that doesn't make parts of the screen transparent, there is more of a tearing. Hence the term tearing.

And what about the configuration file. I want to use compton only to remove that tearing I'm talking about. I don't need any shadow or effect or anything at all. If minimalism can result in less problems I'd be happy.

yshui commented 5 years ago

@enanajmain Thanks. I understand your problem, and I understand what you consider as tearing. But thanks for clarification.

I'm asking whether you see the same flickering both in video and on screen because that provide us useful information to locate the problem.

3N4N commented 5 years ago

No, when I see tearing in screen, there is no flickering in recorded video. when I see flickering in recorded video, I don't see any screen tearing.

yshui commented 5 years ago

@enanajmain So from what I heard so far, there is a decent chance that this bug is in the driver, not compton.

However, the driver you are using is configured in an "outdated" mode (It uses DRI2 instead of DRI3). This problem might just go away if you update your configuration.

If you post the config files in /etc/X11/xorg.conf.d/ and /etc/X11/xorg.conf, and maybe also the X log file /var/log/Xorg.0.log, I might be able to help you configure your system properly.

3N4N commented 5 years ago

/etc/X11/xorg.conf.d/ doesn't exist. Here is a directory listing of /etc/X11/

enan@elariel:/etc/X11$ lal
total 88K
drwxr-xr-x 2 root root 4.0K  Xreset.d/
drwxr-xr-x 2 root root 4.0K  Xresources/
drwxr-xr-x 2 root root 4.0K  Xsession.d/
drwxr-xr-x 2 root root 4.0K  app-defaults/
drwxr-xr-x 2 root root 4.0K  cursors/
drwxr-xr-x 4 root root 4.0K  fonts/
drwxr-xr-x 2 root root 4.0K  xinit/
drwxr-xr-x 2 root root 4.0K  xkb/
drwxr-xr-x 2 root root 4.0K  xsm/
-rwxr-xr-x 1 root root  709  Xreset*
-rwxr-xr-x 1 root root 3.7K  Xsession*
-rw-r--r-- 1 root root  265  Xsession.options
-rw-r--r-- 1 root root   13  XvMCConfig
-rw-r--r-- 1 root root  630  Xwrapper.config
-rw-r--r-- 1 root root   15  default-display-manager
-rw-r--r-- 1 root root  17K  rgb.txt
-rwxr-xr-x 1 root root  125  xorg.conf*

/etc/X11/xorg.conf

Section "Device"
  Identifier  "Intel Graphics"
  Driver      "intel"
  Option      "Backlight"  "intel_backlight"
EndSection

/var/log/Xorg.0.log

[  1663.217] 
X.Org X Server 1.19.6
Release Date: 2017-12-20
[  1663.220] X Protocol Version 11, Revision 0
[  1663.221] Build Operating System: Linux 4.4.0-138-generic x86_64 Ubuntu
[  1663.222] Current Operating System: Linux elariel 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018 x86_64
[  1663.222] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-43-generic root=UUID=cbd6b764-b404-4cf0-960a-5d9fb7765b75 ro quiet splash vt.handoff=1
[  1663.225] Build Date: 25 October 2018  04:11:27PM
[  1663.226] xorg-server 2:1.19.6-1ubuntu4.2 (For technical support please see http://www.ubuntu.com/support) 
[  1663.227] Current version of pixman: 0.34.0
[  1663.229]    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[  1663.229] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  1663.233] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Jan 26 08:40:01 2019
[  1663.234] (==) Using config file: "/etc/X11/xorg.conf"
[  1663.235] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[  1663.235] (==) No Layout section.  Using the first Screen section.
[  1663.235] (==) No screen section available. Using defaults.
[  1663.235] (**) |-->Screen "Default Screen Section" (0)
[  1663.235] (**) |   |-->Monitor "<default monitor>"
[  1663.235] (==) No device specified for screen "Default Screen Section".
    Using the first device section listed.
[  1663.235] (**) |   |-->Device "Intel Graphics"
[  1663.235] (==) No monitor specified for screen "Default Screen Section".
    Using a default monitor configuration.
[  1663.235] (==) Automatically adding devices
[  1663.235] (==) Automatically enabling devices
[  1663.235] (==) Automatically adding GPU devices
[  1663.235] (==) Automatically binding GPU devices
[  1663.235] (==) Max clients allowed: 256, resource mask: 0x1fffff
[  1663.235] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[  1663.235]    Entry deleted from font path.
[  1663.235] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[  1663.235]    Entry deleted from font path.
[  1663.235] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[  1663.235]    Entry deleted from font path.
[  1663.235] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[  1663.235]    Entry deleted from font path.
[  1663.235] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[  1663.235]    Entry deleted from font path.
[  1663.235] (==) FontPath set to:
    /usr/share/fonts/X11/misc,
    /usr/share/fonts/X11/Type1,
    built-ins
[  1663.235] (==) ModulePath set to "/usr/lib/xorg/modules"
[  1663.235] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
[  1663.235] (II) Loader magic: 0x55dd1b6b1020
[  1663.235] (II) Module ABI versions:
[  1663.235]    X.Org ANSI C Emulation: 0.4
[  1663.235]    X.Org Video Driver: 23.0
[  1663.235]    X.Org XInput driver : 24.1
[  1663.235]    X.Org Server Extension : 10.0
[  1663.236] (--) using VT number 1

[  1663.236] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[  1663.237] (II) xfree86: Adding drm device (/dev/dri/card0)
[  1663.241] (II) xfree86: Adding drm device (/dev/dri/card1)
[  1663.242] (--) PCI:*(0:0:2:0) 8086:5916:1028:0767 rev 2, Mem @ 0xd1000000/16777216, 0xb0000000/268435456, I/O @ 0x0000f000/64, BIOS @ 0x????????/131072
[  1663.242] (--) PCI: (0:1:0:0) 1002:6900:1028:0767 rev 195, Mem @ 0xc0000000/268435456, 0xd0000000/2097152, 0xd0200000/262144, I/O @ 0x0000e000/256, BIOS @ 0x????????/131072
[  1663.242] (II) LoadModule: "glx"
[  1663.243] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[  1663.243] (II) Module glx: vendor="X.Org Foundation"
[  1663.243]    compiled for 1.19.6, module version = 1.0.0
[  1663.243]    ABI class: X.Org Server Extension, version 10.0
[  1663.243] (II) LoadModule: "intel"
[  1663.243] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
[  1663.243] (II) Module intel: vendor="X.Org Foundation"
[  1663.243]    compiled for 1.19.5, module version = 2.99.917
[  1663.243]    Module class: X.Org Video Driver
[  1663.243]    ABI class: X.Org Video Driver, version 23.0
[  1663.243] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
    i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,
    915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
    Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,
    GM45, 4 Series, G45/G43, Q45/Q43, G41, B43
[  1663.243] (II) intel: Driver for Intel(R) HD Graphics
[  1663.243] (II) intel: Driver for Intel(R) Iris(TM) Graphics
[  1663.243] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics
[  1663.263] (II) intel(0): Using Kernel Mode Setting driver: i915, version 1.6.0 20171023
[  1663.264] (II) intel(0): SNA compiled: xserver-xorg-video-intel 2:2.99.917+git20171229-1 (Timo Aaltonen <tjaalton@debian.org>)
[  1663.264] (II) intel(0): SNA compiled for use with valgrind
[  1663.285] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics 620
[  1663.285] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3, sse4.1, sse4.2, avx, avx2; using a maximum of 2 threads
[  1663.285] (II) intel(0): Creating default Display subsection in Screen section
    "Default Screen Section" for depth/fbbpp 24/32
[  1663.285] (==) intel(0): Depth 24, (--) framebuffer bpp 32
[  1663.285] (==) intel(0): RGB weight 888
[  1663.285] (==) intel(0): Default visual is TrueColor
[  1663.285] (**) intel(0): Option "Backlight" "intel_backlight"
[  1663.286] (II) intel(0): Output eDP1 has no monitor section
[  1663.287] (**) intel(0): Found backlight control interface intel_backlight (type 'raw') for output eDP1
[  1663.287] (II) intel(0): Enabled output eDP1
[  1663.287] (II) intel(0): Output HDMI1 has no monitor section
[  1663.287] (II) intel(0): Enabled output HDMI1
[  1663.287] (--) intel(0): Using a maximum size of 256x256 for hardware cursors
[  1663.287] (II) intel(0): Output VIRTUAL1 has no monitor section
[  1663.288] (II) intel(0): Enabled output VIRTUAL1
[  1663.288] (--) intel(0): Output eDP1 using initial mode 1366x768 on pipe 0
[  1663.288] (==) intel(0): TearFree enabled
[  1663.288] (==) intel(0): Using gamma correction (1.0, 1.0, 1.0)
[  1663.288] (==) intel(0): DPI set to (96, 96)
[  1663.288] (II) Loading sub module "dri3"
[  1663.288] (II) LoadModule: "dri3"
[  1663.288] (II) Module "dri3" already built-in
[  1663.288] (II) Loading sub module "dri2"
[  1663.288] (II) LoadModule: "dri2"
[  1663.288] (II) Module "dri2" already built-in
[  1663.288] (II) Loading sub module "present"
[  1663.288] (II) LoadModule: "present"
[  1663.288] (II) Module "present" already built-in
[  1663.310] (==) Depth 24 pixmap format is 32 bpp
[  1663.310] (II) intel(0): SNA initialized with Kabylake (gen9) backend
[  1663.310] (==) intel(0): Backing store enabled
[  1663.310] (==) intel(0): Silken mouse enabled
[  1663.310] (II) intel(0): HW Cursor enabled
[  1663.310] (II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[  1663.311] (==) intel(0): DPMS enabled
[  1663.311] (==) intel(0): Display hotplug detection enabled
[  1663.311] (II) intel(0): [DRI2] Setup complete
[  1663.311] (II) intel(0): [DRI2]   DRI driver: i965
[  1663.311] (II) intel(0): [DRI2]   VDPAU driver: va_gl
[  1663.311] (II) intel(0): direct rendering: DRI2 enabled
[  1663.311] (II) intel(0): hardware support for Present enabled
[  1663.311] (--) RandR disabled
[  1663.314] (II) SELinux: Disabled on system
[  1663.326] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[  1663.326] (II) AIGLX: enabled GLX_ARB_create_context
[  1663.326] (II) AIGLX: enabled GLX_ARB_create_context_profile
[  1663.326] (II) AIGLX: enabled GLX_EXT_create_context_es{,2}_profile
[  1663.326] (II) AIGLX: enabled GLX_INTEL_swap_event
[  1663.326] (II) AIGLX: enabled GLX_SGI_swap_control
[  1663.326] (II) AIGLX: enabled GLX_EXT_framebuffer_sRGB
[  1663.326] (II) AIGLX: enabled GLX_ARB_fbconfig_float
[  1663.326] (II) AIGLX: enabled GLX_EXT_fbconfig_packed_float
[  1663.326] (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects
[  1663.327] (II) AIGLX: enabled GLX_ARB_create_context_robustness
[  1663.327] (II) AIGLX: Loaded and initialized i965
[  1663.327] (II) GLX: Initialized DRI2 GL provider for screen 0
[  1663.329] (II) intel(0): switch to mode 1366x768@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
[  1663.341] (II) intel(0): Setting screen physical size to 361 x 203
[  1663.427] (II) config/udev: Adding input device Power Button (/dev/input/event3)
[  1663.427] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[  1663.427] (II) LoadModule: "libinput"
[  1663.427] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[  1663.429] (II) Module libinput: vendor="X.Org Foundation"
[  1663.429]    compiled for 1.19.6, module version = 0.27.1
[  1663.429]    Module class: X.Org XInput Driver
[  1663.429]    ABI class: X.Org XInput driver, version 24.1
[  1663.429] (II) Using input driver 'libinput' for 'Power Button'
[  1663.429] (**) Power Button: always reports core events
[  1663.429] (**) Option "Device" "/dev/input/event3"
[  1663.429] (**) Option "_source" "server/udev"
[  1663.430] (II) event3  - Power Button: is tagged by udev as: Keyboard
[  1663.430] (II) event3  - Power Button: device is a keyboard
[  1663.430] (II) event3  - Power Button: device removed
[  1663.444] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event3"
[  1663.444] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
[  1663.444] (**) Option "xkb_model" "pc105"
[  1663.444] (**) Option "xkb_layout" "us"
[  1663.445] (II) event3  - Power Button: is tagged by udev as: Keyboard
[  1663.445] (II) event3  - Power Button: device is a keyboard
[  1663.445] (II) config/udev: Adding input device Video Bus (/dev/input/event5)
[  1663.445] (**) Video Bus: Applying InputClass "libinput keyboard catchall"
[  1663.445] (II) Using input driver 'libinput' for 'Video Bus'
[  1663.445] (**) Video Bus: always reports core events
[  1663.445] (**) Option "Device" "/dev/input/event5"
[  1663.445] (**) Option "_source" "server/udev"
[  1663.445] (II) event5  - Video Bus: is tagged by udev as: Keyboard
[  1663.445] (II) event5  - Video Bus: device is a keyboard
[  1663.445] (II) event5  - Video Bus: device removed
[  1663.460] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input7/event5"
[  1663.460] (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD, id 7)
[  1663.460] (**) Option "xkb_model" "pc105"
[  1663.460] (**) Option "xkb_layout" "us"
[  1663.460] (II) event5  - Video Bus: is tagged by udev as: Keyboard
[  1663.460] (II) event5  - Video Bus: device is a keyboard
[  1663.461] (II) config/udev: Adding input device Power Button (/dev/input/event1)
[  1663.461] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[  1663.461] (II) Using input driver 'libinput' for 'Power Button'
[  1663.461] (**) Power Button: always reports core events
[  1663.461] (**) Option "Device" "/dev/input/event1"
[  1663.461] (**) Option "_source" "server/udev"
[  1663.461] (II) event1  - Power Button: is tagged by udev as: Keyboard
[  1663.461] (II) event1  - Power Button: device is a keyboard
[  1663.461] (II) event1  - Power Button: device removed
[  1663.476] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1/event1"
[  1663.476] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 8)
[  1663.476] (**) Option "xkb_model" "pc105"
[  1663.476] (**) Option "xkb_layout" "us"
[  1663.476] (II) event1  - Power Button: is tagged by udev as: Keyboard
[  1663.476] (II) event1  - Power Button: device is a keyboard
[  1663.477] (II) config/udev: Adding input device Lid Switch (/dev/input/event0)
[  1663.477] (II) No input driver specified, ignoring this device.
[  1663.477] (II) This device may have been added with another device file.
[  1663.477] (II) config/udev: Adding input device Sleep Button (/dev/input/event2)
[  1663.477] (**) Sleep Button: Applying InputClass "libinput keyboard catchall"
[  1663.477] (II) Using input driver 'libinput' for 'Sleep Button'
[  1663.477] (**) Sleep Button: always reports core events
[  1663.477] (**) Option "Device" "/dev/input/event2"
[  1663.477] (**) Option "_source" "server/udev"
[  1663.478] (II) event2  - Sleep Button: is tagged by udev as: Keyboard
[  1663.478] (II) event2  - Sleep Button: device is a keyboard
[  1663.478] (II) event2  - Sleep Button: device removed
[  1663.492] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2/event2"
[  1663.492] (II) XINPUT: Adding extended input device "Sleep Button" (type: KEYBOARD, id 9)
[  1663.492] (**) Option "xkb_model" "pc105"
[  1663.492] (**) Option "xkb_layout" "us"
[  1663.493] (II) event2  - Sleep Button: is tagged by udev as: Keyboard
[  1663.493] (II) event2  - Sleep Button: device is a keyboard
[  1663.495] (II) config/udev: Adding input device Integrated Webcam: Integrated W (/dev/input/event16)
[  1663.495] (**) Integrated Webcam: Integrated W: Applying InputClass "libinput keyboard catchall"
[  1663.495] (II) Using input driver 'libinput' for 'Integrated Webcam: Integrated W'
[  1663.495] (**) Integrated Webcam: Integrated W: always reports core events
[  1663.495] (**) Option "Device" "/dev/input/event16"
[  1663.495] (**) Option "_source" "server/udev"
[  1663.496] (II) event16 - Integrated Webcam: Integrated W: is tagged by udev as: Keyboard
[  1663.496] (II) event16 - Integrated Webcam: Integrated W: device is a keyboard
[  1663.496] (II) event16 - Integrated Webcam: Integrated W: device removed
[  1663.536] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input22/event16"
[  1663.536] (II) XINPUT: Adding extended input device "Integrated Webcam: Integrated W" (type: KEYBOARD, id 10)
[  1663.536] (**) Option "xkb_model" "pc105"
[  1663.536] (**) Option "xkb_layout" "us"
[  1663.538] (II) event16 - Integrated Webcam: Integrated W: is tagged by udev as: Keyboard
[  1663.538] (II) event16 - Integrated Webcam: Integrated W: device is a keyboard
[  1663.539] (II) config/udev: Adding input device DELL0767:00 06CB:7E92 Touchpad (/dev/input/event9)
[  1663.539] (**) DELL0767:00 06CB:7E92 Touchpad: Applying InputClass "libinput touchpad catchall"
[  1663.540] (II) Using input driver 'libinput' for 'DELL0767:00 06CB:7E92 Touchpad'
[  1663.540] (**) DELL0767:00 06CB:7E92 Touchpad: always reports core events
[  1663.540] (**) Option "Device" "/dev/input/event9"
[  1663.540] (**) Option "_source" "server/udev"
[  1663.649] (II) event9  - DELL0767:00 06CB:7E92 Touchpad: is tagged by udev as: Touchpad
[  1663.650] (II) event9  - DELL0767:00 06CB:7E92 Touchpad: device is a touchpad
[  1663.650] (II) event9  - DELL0767:00 06CB:7E92 Touchpad: device removed
[  1663.688] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-6/i2c-DELL0767:00/0018:06CB:7E92.0001/input/input11/event9"
[  1663.688] (II) XINPUT: Adding extended input device "DELL0767:00 06CB:7E92 Touchpad" (type: TOUCHPAD, id 11)
[  1663.689] (**) Option "AccelerationScheme" "none"
[  1663.689] (**) DELL0767:00 06CB:7E92 Touchpad: (accel) selected scheme none/0
[  1663.689] (**) DELL0767:00 06CB:7E92 Touchpad: (accel) acceleration factor: 2.000
[  1663.689] (**) DELL0767:00 06CB:7E92 Touchpad: (accel) acceleration threshold: 4
[  1663.691] (II) event9  - DELL0767:00 06CB:7E92 Touchpad: is tagged by udev as: Touchpad
[  1663.691] (II) event9  - DELL0767:00 06CB:7E92 Touchpad: device is a touchpad
[  1663.693] (II) config/udev: Adding input device DELL0767:00 06CB:7E92 Touchpad (/dev/input/mouse1)
[  1663.693] (II) No input driver specified, ignoring this device.
[  1663.693] (II) This device may have been added with another device file.
[  1663.694] (II) config/udev: Adding input device HDA Intel PCH Headphone Mic (/dev/input/event10)
[  1663.695] (II) No input driver specified, ignoring this device.
[  1663.695] (II) This device may have been added with another device file.
[  1663.696] (II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=3 (/dev/input/event11)
[  1663.696] (II) No input driver specified, ignoring this device.
[  1663.696] (II) This device may have been added with another device file.
[  1663.697] (II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=7 (/dev/input/event12)
[  1663.697] (II) No input driver specified, ignoring this device.
[  1663.697] (II) This device may have been added with another device file.
[  1663.698] (II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=8 (/dev/input/event13)
[  1663.698] (II) No input driver specified, ignoring this device.
[  1663.698] (II) This device may have been added with another device file.
[  1663.699] (II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=9 (/dev/input/event14)
[  1663.699] (II) No input driver specified, ignoring this device.
[  1663.699] (II) This device may have been added with another device file.
[  1663.700] (II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=10 (/dev/input/event15)
[  1663.700] (II) No input driver specified, ignoring this device.
[  1663.700] (II) This device may have been added with another device file.
[  1663.701] (II) config/udev: Adding input device Dell WMI hotkeys (/dev/input/event8)
[  1663.701] (**) Dell WMI hotkeys: Applying InputClass "libinput keyboard catchall"
[  1663.701] (II) Using input driver 'libinput' for 'Dell WMI hotkeys'
[  1663.701] (**) Dell WMI hotkeys: always reports core events
[  1663.701] (**) Option "Device" "/dev/input/event8"
[  1663.701] (**) Option "_source" "server/udev"
[  1663.703] (II) event8  - Dell WMI hotkeys: is tagged by udev as: Keyboard
[  1663.703] (II) event8  - Dell WMI hotkeys: device is a keyboard
[  1663.703] (II) event8  - Dell WMI hotkeys: device removed
[  1663.720] (**) Option "config_info" "udev:/sys/devices/platform/PNP0C14:00/wmi_bus/wmi_bus-PNP0C14:00/9DBB5994-A997-11DA-B012-B622A1EF5492/input/input9/event8"
[  1663.720] (II) XINPUT: Adding extended input device "Dell WMI hotkeys" (type: KEYBOARD, id 12)
[  1663.720] (**) Option "xkb_model" "pc105"
[  1663.720] (**) Option "xkb_layout" "us"
[  1663.722] (II) event8  - Dell WMI hotkeys: is tagged by udev as: Keyboard
[  1663.722] (II) event8  - Dell WMI hotkeys: device is a keyboard
[  1663.723] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event4)
[  1663.723] (**) AT Translated Set 2 keyboard: Applying InputClass "libinput keyboard catchall"
[  1663.723] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[  1663.723] (**) AT Translated Set 2 keyboard: always reports core events
[  1663.724] (**) Option "Device" "/dev/input/event4"
[  1663.724] (**) Option "_source" "server/udev"
[  1663.725] (II) event4  - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[  1663.725] (II) event4  - AT Translated Set 2 keyboard: device is a keyboard
[  1663.725] (II) event4  - AT Translated Set 2 keyboard: device removed
[  1663.752] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input4/event4"
[  1663.752] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 13)
[  1663.752] (**) Option "xkb_model" "pc105"
[  1663.752] (**) Option "xkb_layout" "us"
[  1663.754] (II) event4  - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[  1663.754] (II) event4  - AT Translated Set 2 keyboard: device is a keyboard
[  1663.760] (II) config/udev: Adding input device DELL Wireless hotkeys (/dev/input/event7)
[  1663.760] (**) DELL Wireless hotkeys: Applying InputClass "libinput keyboard catchall"
[  1663.760] (II) Using input driver 'libinput' for 'DELL Wireless hotkeys'
[  1663.760] (**) DELL Wireless hotkeys: always reports core events
[  1663.760] (**) Option "Device" "/dev/input/event7"
[  1663.760] (**) Option "_source" "server/udev"
[  1663.761] (II) event7  - DELL Wireless hotkeys: is tagged by udev as: Keyboard
[  1663.761] (II) event7  - DELL Wireless hotkeys: device is a keyboard
[  1663.761] (II) event7  - DELL Wireless hotkeys: device removed
[  1663.800] (**) Option "config_info" "udev:/sys/devices/virtual/input/input8/event7"
[  1663.800] (II) XINPUT: Adding extended input device "DELL Wireless hotkeys" (type: KEYBOARD, id 14)
[  1663.800] (**) Option "xkb_model" "pc105"
[  1663.800] (**) Option "xkb_layout" "us"
[  1663.801] (II) event7  - DELL Wireless hotkeys: is tagged by udev as: Keyboard
[  1663.801] (II) event7  - DELL Wireless hotkeys: device is a keyboard
[  1665.291] (II) intel(0): EDID vendor "AUO", prod id 28908
[  1665.291] (II) intel(0): Printing DDC gathered Modelines:
[  1665.291] (II) intel(0): Modeline "1366x768"x0.0   76.30  1366 1374 1384 1558  768 771 772 816 +hsync -vsync (49.0 kHz eP)
[  1665.291] (II) intel(0): Modeline "1366x768"x0.0   50.87  1366 1374 1384 1558  768 771 772 816 +hsync -vsync (32.7 kHz e)
[  1671.946] (II) event3  - Power Button: device removed
[  1671.960] (II) event5  - Video Bus: device removed
[  1671.976] (II) event1  - Power Button: device removed
[  1671.992] (II) event2  - Sleep Button: device removed
[  1672.008] (II) event16 - Integrated Webcam: Integrated W: device removed
[  1672.048] (II) event9  - DELL0767:00 06CB:7E92 Touchpad: device removed
[  1672.080] (II) event8  - Dell WMI hotkeys: device removed
[  1672.096] (II) event4  - AT Translated Set 2 keyboard: device removed
[  1672.112] (II) event7  - DELL Wireless hotkeys: device removed
[  1672.160] (II) AIGLX: Suspending AIGLX clients for VT switch
[  1674.557] (II) AIGLX: Resuming AIGLX clients after VT switch
[  1674.557] (II) intel(0): switch to mode 1366x768@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
[  1674.640] (II) event3  - Power Button: is tagged by udev as: Keyboard
[  1674.640] (II) event3  - Power Button: device is a keyboard
[  1674.641] (II) event5  - Video Bus: is tagged by udev as: Keyboard
[  1674.641] (II) event5  - Video Bus: device is a keyboard
[  1674.642] (II) event1  - Power Button: is tagged by udev as: Keyboard
[  1674.642] (II) event1  - Power Button: device is a keyboard
[  1674.643] (II) event2  - Sleep Button: is tagged by udev as: Keyboard
[  1674.643] (II) event2  - Sleep Button: device is a keyboard
[  1674.644] (II) event16 - Integrated Webcam: Integrated W: is tagged by udev as: Keyboard
[  1674.644] (II) event16 - Integrated Webcam: Integrated W: device is a keyboard
[  1674.753] (II) event9  - DELL0767:00 06CB:7E92 Touchpad: is tagged by udev as: Touchpad
[  1674.754] (II) event9  - DELL0767:00 06CB:7E92 Touchpad: device is a touchpad
[  1674.755] (II) event8  - Dell WMI hotkeys: is tagged by udev as: Keyboard
[  1674.755] (II) event8  - Dell WMI hotkeys: device is a keyboard
[  1674.757] (II) event4  - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[  1674.757] (II) event4  - AT Translated Set 2 keyboard: device is a keyboard
[  1674.758] (II) event7  - DELL Wireless hotkeys: is tagged by udev as: Keyboard
[  1674.758] (II) event7  - DELL Wireless hotkeys: device is a keyboard
[  1677.845] (II) event3  - Power Button: device removed
[  1677.860] (II) event5  - Video Bus: device removed
[  1677.876] (II) event1  - Power Button: device removed
[  1677.892] (II) event2  - Sleep Button: device removed
[  1677.908] (II) event16 - Integrated Webcam: Integrated W: device removed
[  1677.940] (II) event9  - DELL0767:00 06CB:7E92 Touchpad: device removed
[  1677.972] (II) event8  - Dell WMI hotkeys: device removed
[  1677.988] (II) event4  - AT Translated Set 2 keyboard: device removed
[  1678.004] (II) event7  - DELL Wireless hotkeys: device removed
[  1678.044] (II) AIGLX: Suspending AIGLX clients for VT switch
[  1687.865] (II) UnloadModule: "libinput"
[  1687.865] (II) UnloadModule: "libinput"
[  1687.865] (II) UnloadModule: "libinput"
[  1687.865] (II) UnloadModule: "libinput"
[  1687.865] (II) UnloadModule: "libinput"
[  1687.866] (II) UnloadModule: "libinput"
[  1687.866] (II) UnloadModule: "libinput"
[  1687.866] (II) UnloadModule: "libinput"
[  1687.866] (II) UnloadModule: "libinput"
[  1687.867] (II) Server terminated successfully (0). Closing log file.
yshui commented 5 years ago

@enanajmain Hmm, your X is a bit old, so this might not work. Try add Option "DRI" "3" to your xorg.conf (between Section and EndSection) and see what happens.

3N4N commented 5 years ago

After editing xorg.conf, do I need to restart X?

Sorry for late response. Is there any way to halt compton (running in background, launched from ~/.xinitrc) for the time of recording? My desperate hack is to killall compton and relaunch compton within a script for recording. It'll get me by through this season. I can't really give much time now into fixing this.

I'll get back to you as soon as I have time. Thanks for the support.

yshui commented 5 years ago

After editing xorg.conf, do I need to restart X?

Yes

3N4N commented 3 years ago

Was this issue reported by anyone else?

I moved to default Ubuntu Gnome, so didn't have the chance to report back. Sorry.