SUMMARY Cannot capture/record screen on X11 servers with DISPLAY != :0.0 STEPS TO REPRODUCE 1. Start an X server with a display other than :0.0 2. Run kdenlive 3. Attempt to record the X11 display (screen capture) OBSERVED RESULT ffmpeg subprocess fails immediately with a "cannot open display" error. EXPECTED RESULT kdenlive begins capturing SOFTWARE/OS VERSIONS Linux/KDE Plasma: Debian The ffmpeg command line from the kdenlive log: Invalid button configuration: == STARTING X11 CAPTURE: ("-f", "x11grab", "-s", "1280x720", "-r", "15", "-i", ":0.0+0.0", "-crf", "25", "-vcodec", "libx264", "-preset", "veryfast", "-threads", "0", "-i", ":1.0") As above, the -i option should specify both the X11 display (here :0.0) and the x/y offset (+0.0). The display ID appears to be hard-coded in the source for kdenlive. It would be better to either allow the user to manually configure the display value, query the X11 server for the current display value, or respect the value of the DISPLAY environment variable. Hard-coding the display prevents capture on, eg, DISPLAY=:1.0 The offending line of code appears to be line 269 of monitor/recmanager.cpp on the master branch.
I just noticed that the command line log above also has a second -i flag "-i :1.0" at the end - that is not normal output, but rather form me attempting to override the hard-coded value. It was (unsurprisingly) ineffective.
Adding the x11-only keyword