2

could someone help me compile this Compton fork?

https://github.com/tryone144/compton/tree/improved_fbo

.I have followed the instructions here: github.com/tryone144/compton/blob/improved_fbo/README_orig.md

I installed the dependencies, I am really a bit lost in everything I have to do. It would be a great help if someone could take the time

I still don't understand how to clone from git, so I downloaded the zip, clicking on Code and then the clone or download button, then extracted it and followed the instructions in README_org.md file. I installed the dependencies, then opened a terminal in the extracted folder and ran:

rau @ rau-B250M-DS3H: ~ / Desktop / compton-improved_fbo $ sudo make [sudo] password for rau: make: pcre-config: The program was not found fatal: not a git repository (nor any of the top directories): .git fatal: not a git repository (nor any of the top directories): .git make: pcre-config: The program was not found cc -std = c99 -DCONFIG_XINERAMA -DCONFIG_LIBCONFIG -DCONFIG_REGEX_PCRE -DCONFIG_REGEX_PCRE_JIT -DCONFIG_VSYNC_DRM -DCONFIG_VSYNC_OPENGL -DCONFIG_VSYNC_OPENGL_GLSL -DCONFIG_VSYNC_OPENGL_FBO -DCONFIG_VSYNC_OPENGL_VBO -DCONFIG_DBUS -DCONFIG_XSYNC -DCONFIG_C2 -DCOMPTON_VERSION = "\" git - \ "" -Wall -I / usr / include / libdrm -I / usr / include / dbus-1.0 -I / usr / lib / x86_64-linux-gnu / dbus-1.0 / include -c src / c2.c In file included from src / c2.c: 11: src / c2.h: 18: 10: fatal error: pcre.h: File or directory does not exist 18 | #include | ^ ~~~~~~~ compilation terminated. make: *** [Makefile: 141: c2.o] Error 1 rau @ rau-B250M-DS3H: ~ / Desktop / compton-improved_fbo $

3
  • 1
    Please provide more information. Where do you get stuck exactly? what errors do you get exactly?
    – dadexix86
    Jun 1, 2020 at 21:07
  • Please edit your question to provide additional information that isn't an answer.
    – DK Bose
    Jun 2, 2020 at 0:53
  • Sorry I couldn't write that many characters in the comments and I didn't know how to do it. I'll edit my question. Jun 2, 2020 at 3:17

2 Answers 2

2

I decided to follow the advice of kanehekili and went in search of picom. I have solved two questions in one: I learned how to clone git, before I had to install git

$ sudo apt install git The address to clone comes from the clone button or download Zip (how silly I am). So:

$ sudo git clone https://github.com/yshui/picom.git

The download is saved in the personal folder, with the name picom

Then I installed the dependencies for Ubuntu:

$ sudo apt install libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0 -dev libxcb-present-dev libxcb-xinerama0-dev libxcb-glx0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev libpcre2-dev libevdev-dev uthash-dev libev-dev libx11-xcb -dev

I also had to install cmake and meson

$ sudo apt install cmake meson

Then following the instructions:   $ git submodule update --init --recursive $ sudo meson --buildtype = release. build

The Meson build system Version: 0.53.2 Source dir: / home / rau / picom Build dir: / home / rau / picom / build Build type: native build Project name: picom Project version: 8 C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0") C linker for the host machine: cc ld.bfd 2.34 Host machine cpu family: x86_64 Host machine cpu: x86_64 Program git found: YES (/ usr / bin / git) Has header "stdc-predef.h": YES Compiler for C supports arguments -Wall: YES meson.build:63: WARNING: Consider using the built-in warning_level option instead of using "-Wall". Compiler for C supports arguments -Wcast-function-type: YES Compiler for C supports arguments -Wignored-qualifiers: YES Compiler for C supports arguments -Wmissing-parameter-type: YES Compiler for C supports arguments -Wnonnull: YES Compiler for C supports arguments -Wshadow: YES Compiler for C supports arguments -Wno-type-limits -Wtype-limits: YES Compiler for C supports arguments -Wold-style-declaration: YES Compiler for C supports arguments -Woverride-init: YES Compiler for C supports arguments -Wsign-compare: YES Compiler for C supports arguments -Wtype-limits: YES Compiler for C supports arguments -Wuninitialized: YES Compiler for C supports arguments -Wshift-negative-value: YES Compiler for C supports arguments -Wunused-but-set-parameter: YES Compiler for C supports arguments -Wunused-parameter: YES Compiler for C supports arguments -Wimplicit-fallthrough: YES Compiler for C supports arguments -Wno-unknown-warning-option -Wunknown-warning-option: NO Compiler for C supports arguments -Wno-missing-braces -Wmissing-braces: YES Compiler for C supports arguments -Wconversion: YES Compiler for C supports arguments -Wempty-body: YES

| Executing subproject test.h method meson | | Project name: test.h | Project version: undefined | C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0") | C linker for the host machine: cc ld.bfd 2.34 | Build targets in project: 0 | Subproject test.h finished.

Found pkg-config: / usr / bin / pkg-config (0.29.1) Found CMake: / usr / bin / cmake (3.16.3) Run-time dependency libev found: NO (tried pkgconfig and cmake) Library ev found: YES Library m found: YES Run-time dependency x11 found: YES 1.6.9 Run-time dependency x11-xcb found: YES 1.6.9 Run-time dependency xcb-renderutil found: YES 0.3.9 Run-time dependency xcb-image found: YES 0.4.0 Run-time dependency xext found: YES 1.3.4 Run-time dependency pixman-1 found: YES 0.38.4 Run-time dependency xcb-render found: YES 1.14 Run-time dependency xcb-damage found: YES 1.14 Run-time dependency xcb-randr found: YES 1.14 Run-time dependency xcb-sync found: YES 1.14 Run-time dependency xcb-composite found: YES 1.14 Run-time dependency xcb-shape found: YES 1.14 Run-time dependency xcb-xinerama found: YES 1.14 Run-time dependency xcb-xfixes found: YES 1.14 Run-time dependency xcb-present found: YES 1.14 Run-time dependency xcb-glx found: YES 1.14 Run-time dependency xcb found: YES 1.14 Has header "uthash.h": YES Run-time dependency libconfig found: YES 1.5 Run-time dependency libpcre found: NO (tried pkgconfig and cmake)

src / meson.build: 47: 1: ERROR: Dependency "libpcre" not found, tried pkgconfig and cmake

A full log can be found at /home/rau/picom/build/meson-logs/meson-log.txt

I did not find the libpcre dependency in the repository. I found libpcre3 and Installed it, looked for it by synaptic.

$ sudo apt install libpcre3

Then:

$ sudo meson --buildtype = release. build The Meson build system Version: 0.53.2 Source dir: / home / rau / picom Build dir: / home / rau / picom / build Build type: native build Project name: picom Project version: 8 C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0") C linker for the host machine: cc ld.bfd 2.34 Host machine cpu family: x86_64 Host machine cpu: x86_64 Program git found: YES (/ usr / bin / git) Has header "stdc-predef.h": YES Compiler for C supports arguments -Wall: YES meson.build:63: WARNING: Consider using the built-in warning_level option instead of using "-Wall". Compiler for C supports arguments -Wcast-function-type: YES Compiler for C supports arguments -Wignored-qualifiers: YES Compiler for C supports arguments -Wmissing-parameter-type: YES Compiler for C supports arguments -Wnonnull: YES Compiler for C supports arguments -Wshadow: YES Compiler for C supports arguments -Wno-type-limits -Wtype-limits: YES Compiler for C supports arguments -Wold-style-declaration: YES Compiler for C supports arguments -Woverride-init: YES Compiler for C supports arguments -Wsign-compare: YES Compiler for C supports arguments -Wtype-limits: YES Compiler for C supports arguments -Wuninitialized: YES Compiler for C supports arguments -Wshift-negative-value: YES Compiler for C supports arguments -Wunused-but-set-parameter: YES Compiler for C supports arguments -Wunused-parameter: YES Compiler for C supports arguments -Wimplicit-fallthrough: YES Compiler for C supports arguments -Wno-unknown-warning-option -Wunknown-warning-option: NO Compiler for C supports arguments -Wno-missing-braces -Wmissing-braces: YES Compiler for C supports arguments -Wconversion: YES Compiler for C supports arguments -Wempty-body: YES

| Executing subproject test.h method meson | | Project name: test.h | Project version: undefined | C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0") | C linker for the host machine: cc ld.bfd 2.34 | Build targets in project: 0 | Subproject test.h finished.

Found pkg-config: / usr / bin / pkg-config (1.6.3) Found CMake: / usr / bin / cmake (3.16.3) Run-time dependency libev found: NO (tried pkgconfig and cmake) Library ev found: YES Library m found: YES Run-time dependency x11 found: YES 1.6.9 Run-time dependency x11-xcb found: YES 1.6.9 Run-time dependency xcb-renderutil found: YES 0.3.9 Run-time dependency xcb-image found: YES 0.4.0 Run-time dependency xext found: YES 1.3.4 Run-time dependency pixman-1 found: YES 0.38.4 Run-time dependency xcb-render found: YES 1.14 Run-time dependency xcb-damage found: YES 1.14 Run-time dependency xcb-randr found: YES 1.14 Run-time dependency xcb-sync found: YES 1.14 Run-time dependency xcb-composite found: YES 1.14 Run-time dependency xcb-shape found: YES 1.14 Run-time dependency xcb-xinerama found: YES 1.14 Run-time dependency xcb-xfixes found: YES 1.14 Run-time dependency xcb-present found: YES 1.14 Run-time dependency xcb-glx found: YES 1.14 Run-time dependency xcb found: YES 1.14 Has header "uthash.h": YES Run-time dependency libconfig found: YES 1.5 Run-time dependency libpcre found: YES 8.39 Run-time dependency gl found: YES 1.2 Run-time dependency dbus-1 found: YES 1.12.16 Program meson / install.sh found: YES (/ bin / sh /home/rau/picom/meson/install.sh) Build targets in project: 1

picom 8

  Subprojects     test.h: YES

Found ninja-1.10.0 at / usr / bin / ninja

I did not find the dependency libev in the repository or another similar one as in the case of libpcre but it seems that it was not very important because I ran the command again: $ sudo meson --buildtype = release. build

And returned:

Directory already configured.

Just run your build command (e.g. ninja) and Meson will regenerate as necessary. If ninja fails, run "ninja reconfigure" or "meson --reconfigure" to force Meson to regenerate.

If build failures persist, run "meson setup --wipe" to rebuild from scratch using the same options as passed when configuring the build. To change option values, run "meson configure" instead.

Then I executed:

$ sudo ninja -C build

ninja: Entering directory `build ' [1/28] Compiling C object 'src / 25a6634 @@ picom @ exe / picom.c.o'. ../src/picom.c: In function ‘main’: ../src/picom.c:2419:4: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]  2419 | write (pfds [1], & tmp, sizeof tmp);       | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [6/28] Compiling C object 'src / 25a6634 @@ picom @ exe / utils.c.o'. ../src/utils.c: In function ‘report_allocation_failure’: ../src/utils.c:29:2: warning: ignoring return value of ‘writev’, declared with attribute warn_unused_result [-Wunused-result]    29 | writev (STDERR_FILENO, v, ARR_SIZE (v));       | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [11/28] Compiling C object 'src / 25a6634 @@ picom @ exe / log.c.o'. ../src/log.c: In function ‘file_logger_writev’: ../src/log.c:258:2: warning: ignoring return value of 'writev', declared with attribute warn_unused_result [-Wunused-result]   258 | writev (fileno (f-> f), vec, vcnt);       | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [28/28] Linking target src / picom.

And later:

$ sudo ninja -C build install

ninja: Entering directory `build ' [0/1] Installing files. Installing src / picom to / usr / local / bin Installing / home / rau / picom / bin / picom-trans to / usr / local / bin Installing /home/rau/picom/compton.desktop to / usr / local / share / applications Installing /home/rau/picom/picom.desktop to / usr / local / share / applications Installing /home/rau/picom/media/icons/48x48/compton.png to / usr / local / share / icons / hicolor / 48x48 / apps Installing /home/rau/picom/media/compton.svg to / usr / local / share / icons / hicolor / scalable / apps Running custom install script '/ bin / sh /home/rau/picom/meson/install.sh' Linking picom to / usr / local / bin / compton Linking picom-trans to / usr / local / bin / compton-trans

Ready!!! accomplished!!!

Later I copied the existing picom.sample.conf file into the picom folder, renamed it to picom.conf and saved it in the ~ / .config folder. I'm still messing around with the settings. I must say that it feels more fluid than Compton and I liked the description included in the sample configuration file better. Many of the settings are applied just by clicking save, without having to kill picom and run it again. Sorry to put all the code, but I think it may be useful for other beginners like me, it could help them get familiar with the process.

Thank you all very much for the help provided. I really really enjoyed it.

Should I change the name of the opening question to picom?

I have other questions like: What about all the dependencies I had to install for compilation? Should I uninstall them? If I had to reinstall the system at some point would I have to recompile it or is there a way to save it maybe in deb packages? Maybe I should open a new topic for these questions but I think they are related and may be doubts about it for others.

1
  • I appreciate that you shared this info, but formatting it would have been great. Oct 19, 2021 at 11:19
0

Compton is dead. It is not maintained anymore. Yushi took over and tweaked quite a lot. See here for more information. You're link is also based on a fork of the original compton repo from chjj.

picom (thats the new name of compton) explains which libs you need to compile. I am using picom for some time - it takes account of the the newer graphics card. If you've got old hardware, you may stick to the original compton.

This might not get you to your goal directly , but before investing time to compile an unmaintained piece of software better go to one that is maintained.... It has an active "issue" section, where you could ask if you're stuck.

Good luck. It would be great if you could share you're experience when successful.

9
  • Thank you very much for answering, I have read about picom but I have not found how to install it, I am using Xubuntu 20.04 I have installed the version of Compton that is in the repository. My hardware is not very new, I have integrated Intel Skylake graphics with 4GB ram. I have transparent active and inactive windows, blurred background, and no lag or tear. Jun 1, 2020 at 22:37
  • I would like to try dual_kawase for the most unfocused background, I am aware that this may be too demanding on my system but I would still like to try it. Will picom work for me with that? Excuse my inexperience, I am learning now and it is the first time that I try to compile something. I also don't know how to clone from git, should I open a new theme for this? Jun 1, 2020 at 22:37
  • 1
    Compton is available in the repositories even for 20.10. Please see packages.ubuntu.com/search?keywords=compton.
    – DK Bose
    Jun 2, 2020 at 0:56
  • @Raul,Delago if you don't know how to compile, you should maybe ask at stackoverflow, that is the programmer platform. In this forum we're trying to help those that have problems with their system. You could look in the Arch AUR repository at the buildfiles they deliver.
    – kanehekili
    Jun 3, 2020 at 18:10
  • Thanks, I already solved it, I compiled picom as I explained above, I liked its operation, only it does not have dual_kawase yet, I tried the experimental backends, I was able to achieve a blur like the one I was looking for with the box method, but artifacts appeared sporadically behind some windows , maybe it was a configuration problem but aside from this, the performance of the Box method seems to be worse for me than the dual_kawase of tryone144 so I uninstalled picom and compiled the tryone144 fork. I hope to include this in picom soon and I will definitely come back to it. Jun 5, 2020 at 13:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.