Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proper Wayland support #446

Closed
emersion opened this issue Jan 10, 2019 · 24 comments
Closed

Proper Wayland support #446

emersion opened this issue Jan 10, 2019 · 24 comments
Labels
Wayland Wayland specific issues

Comments

@emersion
Copy link

To have complete Wayland support, you need to use a standardized API and use Wayland to display your UI (not X11 via Xwayland).

Screenshooting API

You're currently using compositor-specific and private D-Bus interfaces: https://github.com/lupoDharkael/flameshot/blob/b0326bcb6cb5ed5048e5574c682fce75cbfa7bbe/src/utils/screengrabber.cpp#L47

The cross-platform way to take screenshots on Wayland is via xdg-desktop-portal (which also works outside of Flatpak). See https://github.com/flatpak/xdg-desktop-portal/blob/master/data/org.freedesktop.portal.Screenshot.xml

UI

I haven't tested if you're using X11 or if you support natively Wayland. Needs investigation.

@hosiet
Copy link
Member

hosiet commented Jan 10, 2019

I'd +1 for using xdg-desktop-portal. This is also the only solution for retrieving screenshot if we were to put flameshot into sandbox environment like flatpak, etc.

@WingofaGriffin
Copy link

I'm also experiencing some issues, where everything works as intended in X, but in wayland, features like copy to clipboard do not work, while save to file do. This does seem to be a wayland issue though as Spectacle has the same issue.

@vvrein
Copy link

vvrein commented Dec 23, 2019

I haven't tested if you're using X11 or if you support natively Wayland.

Latest version runs on wayland natively

@pengux
Copy link

pengux commented Dec 25, 2019

@vvrein I still get the error qt.qpa.wayland: Wayland does not support QWindow::requestActivate() though, is the fix in a feature branch?

@vvrein
Copy link

vvrein commented Dec 27, 2019

@pengux I'm not maintainer nor C++ programmer, I'm just regular user, like you, who wish to use flameshot on wayland :)

@pavlus
Copy link

pavlus commented Jan 23, 2020

I haven't tested if you're using X11 or if you support natively Wayland.

Latest version runs on wayland natively

It runs on some Wayland implementations natively, does not work with wlroots, for example

@emersion
Copy link
Author

It runs on some Wayland implementations natively, does not work with wlroots, for example

This was about the UI part only I believe. Not the code that actually takes screenshots.

@tmccombs
Copy link

tmccombs commented Feb 7, 2020

so if it uses xdg-dekstop-portal, and I use sway would I need xdg-dekstop-portal-wlr for this to work?

@tmccombs
Copy link

tmccombs commented Feb 8, 2020

The cross-platform way to take screenshots on Wayland is via xdg-desktop-portal (which also works outside of Flatpak).

I'm not sure if this was really intended to work in non-sandboxed scenarios. For example, I think (just from looking at code) that in gnome using the xdg-desktop-portal actaully opens up the native gnome screenshot dialog, which would be a rather... interesting experience with flameshot.

@incker
Copy link

incker commented Mar 7, 2020

Ubuntu 20.04 Wayland session

Flameshot 0.6.0+git20191001-1(Debian)
Compiled with Qt 5.12.5

Copy area to clipboard works!
Maybe it is time to close issue?

@vvrein
Copy link

vvrein commented Mar 7, 2020

I think no. On Arch Linux with sway flameshot still can't capture screen:

$ flameshot -v
Flameshot v0.6.0-70-g91ba28c
Compiled with Qt 5.14.1
flameshot strace
$ DISPLAY='' WAYLAND_DISPLAY=wayland-0 strace flameshot full -p /tmp/screenshot/
execve("/usr/bin/flameshot", ["flameshot", "full", "-p", "/tmp/screenshot/"], 0x7ffc384f3ef8 /* 49 vars */) = 0
brk(NULL)                               = 0x55cc4c2db000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe6b725920) = -1 EINVAL (Invalid argument)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=174720, ...}) = 0
mmap(NULL, 174720, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f983bcdb000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libQt5Widgets.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \360\24\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=6940648, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f983bcd9000
mmap(NULL, 6944552, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983b639000
mprotect(0x7f983b788000, 5365760, PROT_NONE) = 0
mmap(0x7f983b788000, 3948544, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14f000) = 0x7f983b788000
mmap(0x7f983bb4c000, 1413120, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x513000) = 0x7f983bb4c000
mmap(0x7f983bca6000, 208896, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x66c000) = 0x7f983bca6000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libQt5Gui.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\16\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=6950048, ...}) = 0
mmap(NULL, 6983000, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983af90000
mprotect(0x7f983b073000, 5918720, PROT_NONE) = 0
mmap(0x7f983b073000, 4902912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe3000) = 0x7f983b073000
mmap(0x7f983b520000, 1011712, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x590000) = 0x7f983b520000
mmap(0x7f983b618000, 106496, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x687000) = 0x7f983b618000
mmap(0x7f983b632000, 27992, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f983b632000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libQt5Network.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\4\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1808288, ...}) = 0
mmap(NULL, 1812416, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983add5000
mprotect(0x7f983ae15000, 1515520, PROT_NONE) = 0
mmap(0x7f983ae15000, 1179648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x40000) = 0x7f983ae15000
mmap(0x7f983af35000, 331776, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x160000) = 0x7f983af35000
mmap(0x7f983af87000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b1000) = 0x7f983af87000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libQt5DBus.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 P\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=628608, ...}) = 0
mmap(NULL, 632504, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983ad3a000
mprotect(0x7f983ad4f000, 536576, PROT_NONE) = 0
mmap(0x7f983ad4f000, 434176, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f983ad4f000
mmap(0x7f983adb9000, 98304, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7f000) = 0x7f983adb9000
mmap(0x7f983add2000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x97000) = 0x7f983add2000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\367\v\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=5455528, ...}) = 0
mmap(NULL, 5473152, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a801000
mmap(0x7f983a88e000, 3117056, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8d000) = 0x7f983a88e000
mmap(0x7f983ab87000, 1703936, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x386000) = 0x7f983ab87000
mmap(0x7f983ad27000, 61440, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x525000) = 0x7f983ad27000
mmap(0x7f983ad36000, 13184, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f983ad36000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@`\t\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=22639832, ...}) = 0
mmap(NULL, 2000512, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a618000
mmap(0x7f983a6ae000, 1019904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x96000) = 0x7f983a6ae000
mmap(0x7f983a7a7000, 299008, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18f000) = 0x7f983a7a7000
mmap(0x7f983a7f0000, 57344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d7000) = 0x7f983a7f0000
mmap(0x7f983a7fe000, 9856, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f983a7fe000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\363\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1329272, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f983a616000
mmap(NULL, 1331224, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a4d0000
mmap(0x7f983a4df000, 638976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f983a4df000
mmap(0x7f983a57b000, 626688, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xab000) = 0x7f983a57b000
mmap(0x7f983a614000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x143000) = 0x7f983a614000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=874312, ...}) = 0
mmap(NULL, 103152, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a4b6000
mmap(0x7f983a4b9000, 69632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f983a4b9000
mmap(0x7f983a4ca000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7f983a4ca000
mmap(0x7f983a4ce000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f983a4ce000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`q\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\22\344\22\321\223\216\303\377yu\37\16\205\363\33\305"..., 68, 880) = 68
fstat(3, {st_mode=S_IFREG|0755, st_size=2145592, ...}) = 0
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\22\344\22\321\223\216\303\377yu\37\16\205\363\33\305"..., 68, 880) = 68
mmap(NULL, 1856312, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a2f0000
mmap(0x7f983a315000, 1359872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f983a315000
mmap(0x7f983a461000, 307200, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x171000) = 0x7f983a461000
mmap(0x7f983a4ac000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bb000) = 0x7f983a4ac000
mmap(0x7f983a4b2000, 13112, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f983a4b2000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\201\0\0\0\0\0\0"..., 832) = 832
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\246\3\345\314l\313m\35\34T,H\225\r>\277"..., 68, 824) = 68
fstat(3, {st_mode=S_IFREG|0755, st_size=158240, ...}) = 0
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\246\3\345\314l\313m\35\34T,H\225\r>\277"..., 68, 824) = 68
mmap(NULL, 135584, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a2ce000
mmap(0x7f983a2d5000, 65536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f983a2d5000
mmap(0x7f983a2e5000, 20480, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f983a2e5000
mmap(0x7f983a2ea000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0x7f983a2ea000
mmap(0x7f983a2ec000, 12704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f983a2ec000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libmd4c.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0  \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=83672, ...}) = 0
mmap(NULL, 86032, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a2b8000
mprotect(0x7f983a2ba000, 73728, PROT_NONE) = 0
mmap(0x7f983a2ba000, 57344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f983a2ba000
mmap(0x7f983a2c8000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x7f983a2c8000
mmap(0x7f983a2cc000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x7f983a2cc000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libGL.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0  \4\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=538400, ...}) = 0
mmap(NULL, 546936, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a232000
mmap(0x7f983a274000, 126976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x42000) = 0x7f983a274000
mmap(0x7f983a293000, 86016, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x61000) = 0x7f983a293000
mmap(0x7f983a2a8000, 61440, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x75000) = 0x7f983a2a8000
mmap(0x7f983a2b7000, 2168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f983a2b7000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libpng16.so.16", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 `\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=222912, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f983a230000
mmap(NULL, 225296, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a1f8000
mmap(0x7f983a1fe000, 147456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f983a1fe000
mmap(0x7f983a222000, 49152, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2a000) = 0x7f983a222000
mmap(0x7f983a22e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x35000) = 0x7f983a22e000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=100096, ...}) = 0
mmap(NULL, 102416, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a1de000
mprotect(0x7f983a1e1000, 86016, PROT_NONE) = 0
mmap(0x7f983a1e1000, 57344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f983a1e1000
mmap(0x7f983a1ef000, 24576, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7f983a1ef000
mmap(0x7f983a1f6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f983a1f6000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libharfbuzz.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\240\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1060592, ...}) = 0
mmap(NULL, 1063360, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a0da000
mprotect(0x7f983a0e4000, 1015808, PROT_NONE) = 0
mmap(0x7f983a0e4000, 811008, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f983a0e4000
mmap(0x7f983a1aa000, 200704, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd0000) = 0x7f983a1aa000
mmap(0x7f983a1dc000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x101000) = 0x7f983a1dc000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\22\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=14520, ...}) = 0
mmap(NULL, 16528, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a0d5000
mmap(0x7f983a0d6000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f983a0d6000
mmap(0x7f983a0d7000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f983a0d7000
mmap(0x7f983a0d8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f983a0d8000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \300\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=323472, ...}) = 0
mmap(NULL, 326368, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983a085000
mprotect(0x7f983a091000, 266240, PROT_NONE) = 0
mmap(0x7f983a091000, 212992, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7f983a091000
mmap(0x7f983a0c5000, 49152, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x40000) = 0x7f983a0c5000
mmap(0x7f983a0d2000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4c000) = 0x7f983a0d2000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libssl.so.1.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \320\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=585320, ...}) = 0
mmap(NULL, 588144, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839ff5000
mmap(0x7f983a012000, 311296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d000) = 0x7f983a012000
mmap(0x7f983a05e000, 106496, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x69000) = 0x7f983a05e000
mmap(0x7f983a078000, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x82000) = 0x7f983a078000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libcrypto.so.1.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0`\7\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2933112, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9839ff3000
mmap(NULL, 2952768, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839d22000
mmap(0x7f9839d97000, 1679360, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x75000) = 0x7f9839d97000
mmap(0x7f9839f31000, 589824, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20f000) = 0x7f9839f31000
mmap(0x7f9839fc1000, 188416, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x29e000) = 0x7f9839fc1000
mmap(0x7f9839fef000, 15936, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9839fef000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libdbus-1.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \340\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=296864, ...}) = 0
mmap(NULL, 299728, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839cd8000
mmap(0x7f9839ce6000, 163840, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0x7f9839ce6000
mmap(0x7f9839d0e000, 69632, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x36000) = 0x7f9839d0e000
mmap(0x7f9839d1f000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x46000) = 0x7f9839d1f000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libsystemd.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \20\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=675904, ...}) = 0
mmap(NULL, 680688, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839c31000
mmap(0x7f9839c42000, 446464, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7f9839c42000
mmap(0x7f9839caf000, 147456, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7e000) = 0x7f9839caf000
mmap(0x7f9839cd3000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa1000) = 0x7f9839cd3000
mmap(0x7f9839cd7000, 752, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9839cd7000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libdouble-conversion.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=87744, ...}) = 0
mmap(NULL, 90256, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839c1a000
mmap(0x7f9839c1d000, 49152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f9839c1d000
mmap(0x7f9839c29000, 24576, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f9839c29000
mmap(0x7f9839c2f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7f9839c2f000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libicui18n.so.65", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 @\16\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=3082368, ...}) = 0
mmap(NULL, 3089128, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839927000
mprotect(0x7f9839a0b000, 2084864, PROT_NONE) = 0
mmap(0x7f9839a0b000, 1531904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe4000) = 0x7f9839a0b000
mmap(0x7f9839b81000, 548864, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25a000) = 0x7f9839b81000
mmap(0x7f9839c08000, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2e0000) = 0x7f9839c08000
mmap(0x7f9839c19000, 744, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9839c19000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libicuuc.so.65", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 @\6\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1959744, ...}) = 0
mmap(NULL, 1970624, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839745000
mprotect(0x7f98397a9000, 1478656, PROT_NONE) = 0
mmap(0x7f98397a9000, 929792, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x64000) = 0x7f98397a9000
mmap(0x7f983988c000, 544768, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x147000) = 0x7f983988c000
mmap(0x7f9839912000, 77824, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1cc000) = 0x7f9839912000
mmap(0x7f9839925000, 4544, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9839925000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libpcre2-16.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=534568, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9839743000
mmap(NULL, 537192, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f98396bf000
mprotect(0x7f98396c2000, 520192, PROT_NONE) = 0
mmap(0x7f98396c2000, 356352, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f98396c2000
mmap(0x7f9839719000, 159744, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5a000) = 0x7f9839719000
mmap(0x7f9839741000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x81000) = 0x7f9839741000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libzstd.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 P\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=689848, ...}) = 0
mmap(NULL, 692288, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839615000
mmap(0x7f983961a000, 598016, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7f983961a000
mmap(0x7f98396ac000, 69632, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x97000) = 0x7f98396ac000
mmap(0x7f98396bd000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa7000) = 0x7f98396bd000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\300\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1203536, ...}) = 0
mmap(NULL, 1208848, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f98394ed000
mprotect(0x7f9839509000, 1085440, PROT_NONE) = 0
mmap(0x7f9839509000, 536576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c000) = 0x7f9839509000
mmap(0x7f983958c000, 544768, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9f000) = 0x7f983958c000
mmap(0x7f9839612000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x124000) = 0x7f9839612000
mmap(0x7f9839614000, 528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9839614000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libGLdispatch.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\4\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=710504, ...}) = 0
mmap(NULL, 746160, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839436000
mprotect(0x7f9839476000, 335872, PROT_NONE) = 0
mmap(0x7f9839476000, 253952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x40000) = 0x7f9839476000
mmap(0x7f98394b4000, 77824, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7e000) = 0x7f98394b4000
mmap(0x7f98394c8000, 118784, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x91000) = 0x7f98394c8000
mmap(0x7f98394e5000, 29360, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f98394e5000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libGLX.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=136920, ...}) = 0
mmap(NULL, 205672, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839403000
mprotect(0x7f9839406000, 122880, PROT_NONE) = 0
mmap(0x7f9839406000, 106496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f9839406000
mmap(0x7f9839420000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d000) = 0x7f9839420000
mmap(0x7f9839424000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20000) = 0x7f9839424000
mmap(0x7f9839426000, 62312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9839426000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libfreetype.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \320\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=837336, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9839401000
mmap(NULL, 839696, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839333000
mprotect(0x7f9839340000, 757760, PROT_NONE) = 0
mmap(0x7f9839340000, 528384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0x7f9839340000
mmap(0x7f98393c1000, 225280, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8e000) = 0x7f98393c1000
mmap(0x7f98393f9000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc5000) = 0x7f98393f9000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libgraphite2.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=145072, ...}) = 0
mmap(NULL, 147472, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983930e000
mmap(0x7f9839311000, 106496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f9839311000
mmap(0x7f983932b000, 20480, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d000) = 0x7f983932b000
mmap(0x7f9839330000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x21000) = 0x7f9839330000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libkrb5.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 P\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=965056, ...}) = 0
mmap(NULL, 968160, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839221000
mprotect(0x7f9839246000, 749568, PROT_NONE) = 0
mmap(0x7f9839246000, 442368, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f9839246000
mmap(0x7f98392b2000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x91000) = 0x7f98392b2000
mmap(0x7f98392fd000, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xdb000) = 0x7f98392fd000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libk5crypto.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 P\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=206640, ...}) = 0
mmap(NULL, 212760, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f98391ed000
mmap(0x7f98391f2000, 122880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7f98391f2000
mmap(0x7f9839210000, 57344, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x23000) = 0x7f9839210000
mmap(0x7f983921e000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x30000) = 0x7f983921e000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libcom_err.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0  \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=18104, ...}) = 0
mmap(NULL, 20648, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f98391e7000
mmap(0x7f98391e9000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f98391e9000
mmap(0x7f98391ea000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f98391ea000
mmap(0x7f98391eb000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f98391eb000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libkrb5support.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=55264, ...}) = 0
mmap(NULL, 57992, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f98391d8000
mmap(0x7f98391db000, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f98391db000
mmap(0x7f98391e2000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f98391e2000
mmap(0x7f98391e5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7f98391e5000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libkeyutils.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0  \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=22200, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98391d6000
mmap(NULL, 24592, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f98391cf000
mmap(0x7f98391d1000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f98391d1000
mmap(0x7f98391d3000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f98391d3000
mmap(0x7f98391d4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f98391d4000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20G\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=88408, ...}) = 0
mmap(NULL, 100512, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f98391b6000
mprotect(0x7f98391ba000, 69632, PROT_NONE) = 0
mmap(0x7f98391ba000, 53248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f98391ba000
mmap(0x7f98391c7000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7f98391c7000
mmap(0x7f98391cb000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7f98391cb000
mmap(0x7f98391cd000, 6304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f98391cd000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3606\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=39416, ...}) = 0
mmap(NULL, 43512, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f98391ab000
mprotect(0x7f98391ae000, 24576, PROT_NONE) = 0
mmap(0x7f98391ae000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f98391ae000
mmap(0x7f98391b2000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f98391b2000
mmap(0x7f98391b4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7f98391b4000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/liblzma.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=157440, ...}) = 0
mmap(NULL, 159760, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839183000
mprotect(0x7f9839186000, 143360, PROT_NONE) = 0
mmap(0x7f9839186000, 94208, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f9839186000
mmap(0x7f983919d000, 45056, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0x7f983919d000
mmap(0x7f98391a9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f98391a9000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/liblz4.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=132784, ...}) = 0
mmap(NULL, 135184, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839161000
mmap(0x7f9839164000, 106496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f9839164000
mmap(0x7f983917e000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d000) = 0x7f983917e000
mmap(0x7f9839181000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0x7f9839181000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libgcrypt.so.20", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\300\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1167808, ...}) = 0
mmap(NULL, 1171400, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9839043000
mprotect(0x7f983904f000, 1093632, PROT_NONE) = 0
mmap(0x7f983904f000, 843776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7f983904f000
mmap(0x7f983911d000, 245760, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xda000) = 0x7f983911d000
mmap(0x7f983915a000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x116000) = 0x7f983915a000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9839041000
openat(AT_FDCWD, "/usr/lib/libicudata.so.65", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\20\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=27984536, ...}) = 0
mmap(NULL, 27987968, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9837590000
mmap(0x7f9839040000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1aaf000) = 0x7f9839040000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libpcre.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0  \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=464600, ...}) = 0
mmap(NULL, 467208, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983751d000
mmap(0x7f983751f000, 331776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f983751f000
mmap(0x7f9837570000, 122880, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x53000) = 0x7f9837570000
mmap(0x7f983758e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x70000) = 0x7f983758e000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libX11.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \300\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1304648, ...}) = 0
mmap(NULL, 1308920, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f98373dd000
mmap(0x7f98373f9000, 561152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c000) = 0x7f98373f9000
mmap(0x7f9837482000, 606208, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa5000) = 0x7f9837482000
mmap(0x7f9837516000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x138000) = 0x7f9837516000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libbz2.so.1.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0  \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=74440, ...}) = 0
mmap(NULL, 76840, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f98373ca000
mmap(0x7f98373cc000, 53248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f98373cc000
mmap(0x7f98373d9000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f98373d9000
mmap(0x7f98373db000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x7f98373db000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libgpg-error.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@@\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=133280, ...}) = 0
mmap(NULL, 135776, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f98373a8000
mmap(0x7f98373ac000, 73728, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f98373ac000
mmap(0x7f98373be000, 40960, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7f98373be000
mmap(0x7f98373c8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0x7f98373c8000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libxcb.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \300\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=165648, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98373a6000
mmap(NULL, 168200, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983737c000
mmap(0x7f9837388000, 77824, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7f9837388000
mmap(0x7f983739b000, 36864, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0x7f983739b000
mmap(0x7f98373a4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x27000) = 0x7f98373a4000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libXau.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\20\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=14064, ...}) = 0
mmap(NULL, 16424, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9837377000
mmap(0x7f9837378000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f9837378000
mmap(0x7f9837379000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f9837379000
mmap(0x7f983737a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f983737a000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libXdmcp.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0  \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=26216, ...}) = 0
mmap(NULL, 28688, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f983736f000
mmap(0x7f9837371000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f9837371000
mmap(0x7f9837373000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f9837373000
mmap(0x7f9837375000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7f9837375000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f983736d000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f983736b000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9837369000
arch_prctl(ARCH_SET_FS, 0x7f9837369f00) = 0
mprotect(0x7f983a4ac000, 12288, PROT_READ) = 0
mprotect(0x7f9837375000, 4096, PROT_READ) = 0
mprotect(0x7f983737a000, 4096, PROT_READ) = 0
mprotect(0x7f98373a4000, 4096, PROT_READ) = 0
mprotect(0x7f98373c8000, 4096, PROT_READ) = 0
mprotect(0x7f98373db000, 4096, PROT_READ) = 0
mprotect(0x7f983a0d8000, 4096, PROT_READ) = 0
mprotect(0x7f9837516000, 12288, PROT_READ) = 0
mprotect(0x7f983a2ea000, 4096, PROT_READ) = 0
mprotect(0x7f983758e000, 4096, PROT_READ) = 0
mprotect(0x7f9839040000, 4096, PROT_READ) = 0
mprotect(0x7f983915a000, 8192, PROT_READ) = 0
mprotect(0x7f9839181000, 4096, PROT_READ) = 0
mprotect(0x7f98391a9000, 4096, PROT_READ) = 0
mprotect(0x7f98391b4000, 4096, PROT_READ) = 0
mprotect(0x7f98391cb000, 4096, PROT_READ) = 0
mprotect(0x7f98391d4000, 4096, PROT_READ) = 0
mprotect(0x7f98391e5000, 4096, PROT_READ) = 0
mprotect(0x7f98391eb000, 4096, PROT_READ) = 0
mprotect(0x7f983921e000, 8192, PROT_READ) = 0
mprotect(0x7f98392fd000, 61440, PROT_READ) = 0
mprotect(0x7f9839330000, 8192, PROT_READ) = 0
mprotect(0x7f983a1f6000, 4096, PROT_READ) = 0
mprotect(0x7f983a614000, 4096, PROT_READ) = 0
mprotect(0x7f983a22e000, 4096, PROT_READ) = 0
mprotect(0x7f9839612000, 4096, PROT_READ) = 0
mprotect(0x7f983a1dc000, 4096, PROT_READ) = 0
mprotect(0x7f98393f9000, 28672, PROT_READ) = 0
mprotect(0x7f98394c8000, 114688, PROT_READ) = 0
mprotect(0x7f9839424000, 4096, PROT_READ) = 0
mprotect(0x7f98396bd000, 4096, PROT_READ) = 0
mprotect(0x7f9839741000, 4096, PROT_READ) = 0
mprotect(0x7f983a4ce000, 4096, PROT_READ) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9837367000
mprotect(0x7f983a7f0000, 53248, PROT_READ) = 0
mprotect(0x7f9839912000, 73728, PROT_READ) = 0
mprotect(0x7f9839c08000, 65536, PROT_READ) = 0
mprotect(0x7f9839c2f000, 4096, PROT_READ) = 0
mprotect(0x7f9839cd3000, 12288, PROT_READ) = 0
mprotect(0x7f9839d1f000, 8192, PROT_READ) = 0
mprotect(0x7f9839fc1000, 180224, PROT_READ) = 0
mprotect(0x7f983a078000, 36864, PROT_READ) = 0
mprotect(0x7f983a0d2000, 8192, PROT_READ) = 0
mprotect(0x7f983a2a8000, 57344, PROT_READ) = 0
mprotect(0x7f983a2cc000, 4096, PROT_READ) = 0
mprotect(0x7f983ad27000, 57344, PROT_READ) = 0
mprotect(0x7f983add2000, 8192, PROT_READ) = 0
mprotect(0x7f983af87000, 32768, PROT_READ) = 0
mprotect(0x7f983b618000, 81920, PROT_READ) = 0
mprotect(0x7f983bca6000, 204800, PROT_READ) = 0
mprotect(0x55cc4b608000, 36864, PROT_READ) = 0
mprotect(0x7f983bd31000, 4096, PROT_READ) = 0
munmap(0x7f983bcdb000, 174720)          = 0
set_tid_address(0x7f983736a1d0)         = 76049
set_robust_list(0x7f983736a1e0, 24)     = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x7f983a2d5be0, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f983a2e2800}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7f983a2d5c80, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f983a2e2800}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL)                               = 0x55cc4c2db000
brk(0x55cc4c2fc000)                     = 0x55cc4c2fc000
futex(0x7f983a0d9048, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7f9839925100, FUTEX_WAKE_PRIVATE, 2147483647) = 0
access("/home/vrein/.config/Unknown Organization.conf", F_OK) = -1 ENOENT (No such file or directory)
futex(0x7f983ad36288, FUTEX_WAKE_PRIVATE, 2147483647) = 0
statx(AT_FDCWD, "/home/vrein/.config/Unknown Organization.conf", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffe6b725430) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/home/vrein/.config/Unknown Organization.conf", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffe6b7253d0) = -1 ENOENT (No such file or directory)
access("/etc/xdg/Unknown Organization.conf", F_OK) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/etc/xdg/Unknown Organization.conf", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffe6b725430) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/etc/xdg/Unknown Organization.conf", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffe6b7253d0) = -1 ENOENT (No such file or directory)
statx(1, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_BASIC_STATS, stx_attributes=0, stx_mode=S_IFCHR|0620, stx_size=0, ...}) = 0
statx(2, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_BASIC_STATS, stx_attributes=0, stx_mode=S_IFCHR|0620, stx_size=0, ...}) = 0
geteuid()                               = 1010
getuid()                                = 1010
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=5937792, ...}) = 0
mmap(NULL, 5937792, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9836dbd000
close(3)                                = 0
futex(0x7f98396139c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
brk(0x55cc4c31d000)                     = 0x55cc4c31d000
eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK)   = 3
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x7f98396139c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
statx(AT_FDCWD, "/tmp/screenshot", AT_STATX_SYNC_AS_STAT, STATX_ALL, {stx_mask=STATX_BASIC_STATS, stx_attributes=0, stx_mode=S_IFDIR|0755, stx_size=40, ...}) = 0
mmap(NULL, 8392704, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f98365bc000
mprotect(0x7f98365bd000, 8388608, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7f9836dbbef0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[76050], tls=0x7f9836dbc700, child_tidptr=0x7f9836dbc9d0) = 76050
futex(0x55cc4c2fe058, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffe6b724ea0, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
write(4, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x55cc4c300160, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55cc4c300110, FUTEX_WAKE_PRIVATE, 1) = 0
openat(AT_FDCWD, "/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC) = 6
read(6, "0-11\n", 8192)                 = 5
close(6)                                = 0
write(4, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x55cc4c2fe058, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55cc4c2ff870, FUTEX_WAIT_PRIVATE, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55cc4c2ff820, FUTEX_WAKE_PRIVATE, 1) = 0
getpid()                                = 76049
exit_group(0)                           = ?
+++ exited with 0 +++
dbus-monitor
method call time=1583607898.732879 sender=:1.60 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1583607898.732897 sender=org.freedesktop.DBus -> destination=:1.60 serial=1 reply_serial=1
   string ":1.60"
signal time=1583607898.732913 sender=org.freedesktop.DBus -> destination=(null destination) serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.60"
   string ""
   string ":1.60"
signal time=1583607898.732933 sender=org.freedesktop.DBus -> destination=:1.60 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.60"
method call time=1583607898.733079 sender=:1.60 -> destination=org.dharkael.Flameshot serial=2 path=/; interface=(null); member=fullScreen
   string "/tmp/screenshot/"
   boolean false
   int32 0
   uint32 188117341
method return time=1583607898.733251 sender=:1.49 -> destination=:1.60 serial=53 reply_serial=2
method call time=1583607898.733376 sender=:1.49 -> destination=org.freedesktop.DBus serial=54 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.freedesktop.Notifications'"
method call time=1583607898.733450 sender=:1.49 -> destination=org.freedesktop.DBus serial=55 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
   string "org.freedesktop.Notifications"
method return time=1583607898.733466 sender=org.freedesktop.DBus -> destination=:1.49 serial=15 reply_serial=55
   string ":1.0"
signal time=1583607898.733896 sender=org.freedesktop.DBus -> destination=:1.60 serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.60"
signal time=1583607898.733915 sender=org.freedesktop.DBus -> destination=(null destination) serial=7 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.60"
   string ":1.60"
   string ""
method call time=1583607898.733931 sender=:1.49 -> destination=org.freedesktop.Notifications serial=56 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify
   string "flameshot"
   uint32 0
   string "flameshot"
   string "Flameshot Info"
   string "Unable to capture screen"
   array [
   ]
   array [
   ]
   int32 5000
method return time=1583607898.735500 sender=:1.0 -> destination=:1.49 serial=173 reply_serial=56
   uint32 43
method call time=1583607898.735599 sender=:1.49 -> destination=org.freedesktop.DBus serial=57 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.freedesktop.Notifications'"
signal time=1583607898.735638 sender=:1.49 -> destination=(null destination) serial=58 path=/; interface=org.dharkael.Flameshot; member=captureFailed
   uint32 188117341

@skast96
Copy link

skast96 commented Mar 9, 2020

Same here as @vvrein, cant even get it to work

@rinfiyks
Copy link

Same here, flameshot gui just exits after a second.

@manos-mark
Copy link

A possible workaround for this issue
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Execute the python script using xcb platform
For example:
python test.py -platform xcb

@borgmanJeremy
Copy link
Contributor

@hosiet I started looking into this approach and I don't think it is quite right for us. The reason is it brings up the underlying DE's screenshot utility. For example on Fedora33 when the screenshot is requested through the portal this window opens rather than returning the underlying screenshot:
image
https://github.com/flatpak/libportal

@tmccombs
Copy link

Yeah, that's what I was worried about. Unfortunately, this is the only "standard" API for taking screenshots in wayland across compositors. The wlroots team tried to standardize what is now the wlr-screencopy protocol, but there wasn't enough interest from other compositors, especially GNOME.

@borgmanJeremy
Copy link
Contributor

I am going to close this since we decided not to use the XDG portal for KDE and Gnome. Additionally the clipboard was fixed in #1282 .

Wayland support is not perfect but I would like to have more specific issues to track new problems.

@cmprmsd
Copy link

cmprmsd commented Sep 7, 2021

I think the grim and slurp code might help you to implement screenshotting on Wayland.

Is there a way to give Flameshot an input file? We could work around that with taking the screenshot in Wayland native tools first.

@mmahmoudian
Copy link
Member

@cmprmsd No, at the moment Flameshot does not accept images as input but there is an open feature request (#240) for that.

Regarding reading other source-codes to learn how to better handle Wayland, I believe @borgmanJeremy and @veracioux are the best people to answer.

@veracioux
Copy link
Contributor

@mmahmoudian Sorry, I'm not familiar with Wayland at all.

@tinywrkb
Copy link

tinywrkb commented Sep 7, 2021

@cmprmsd since the v0.10.0 release, Wayland capturing in Sway, and most likely in every other wlroots based compositor, is working correctly.
If there's something wrong, then it's probably the user's fault for not setting XDG_CURRENT_DESKTOP var for xdg-desktop-portal-wlr, or updating the user dbus session's environment (e.g. by sourcing /etc/sway/config.d/50-systemd-user.conf).
When Gnome 41 will be released, the user might not need to do the former, as the Gnome Screenshot portal won't be in xdg-desktop-portal-gtk anymore, but the latter is still required.

@mmahmoudian
Copy link
Member

There is a brief documentation about Wayland for Flameshot which explains how to setup your computer:

https://github.com/flameshot-org/flameshot/blob/master/docs/Sway%20and%20wlroots%20support.md

@tinywrkb I'm not a Wayland user and am not aware of some of the setup steps. What you mentioned about "updating the user dbus session's environment" has made me confused. Would it possible to add the info you mentioned with a bit more details and create a PR for the file in the link above?

@cmprmsd
Copy link

cmprmsd commented Sep 7, 2021

Thank you both! I will try it this evening 😍🥳

@tinywrkb
Copy link

tinywrkb commented Sep 7, 2021

@mmahmoudian see here, it's needed to get xdg-desktop-portal.service start up correctly when using Sway or wlroots based compositor.
On Arch Linux, the package maintainer of Sway added this in /etc/sway/config.d/50-systemd-user.conf, so the user just need to source the file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Wayland Wayland specific issues
Projects
None yet
Development

No branches or pull requests