Bug 28360 - In LxQT, Picom replace Compton for windows transparency. Settings compton-conf need handling.
Summary: In LxQT, Picom replace Compton for windows transparency. Settings compton-con...
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 8
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL:
Whiteboard:
Keywords: IN_ERRATA8
Depends on:
Blocks:
 
Reported: 2021-02-15 16:32 CET by Guillaume Royer
Modified: 2021-03-20 19:03 CET (History)
3 users (show)

See Also:
Source RPM:
CVE:
Status comment:


Attachments

Description Guillaume Royer 2021-02-15 16:32:11 CET
Description of problem:
Compton is a configuration tool for X composite manager that have be replaced by Picom in LxQt 0.16. It allows to manage windows transparency.
After installing MGA8 RC LxQt, I wanted to install Compton and compton-conf like I used to use on MGA7. Compton-conf didn't work, I could'nt manage windows transparency. 

In console, command picom said :
 
[ 12/02/2021 19:54:57.084 open_config_file_at WARN ] This compositor has been renamed to "picom", the old config file paths is deprecated. Please replace the "compton"s in the path with "picom" 
[ 12/02/2021 19:54:57.090 parse_config_libconfig WARN ] Option `no-dock-shadow` is deprecated, and will be removed. Please use the wintype option `shadow` of `dock` instead. 
[ 12/02/2021 19:54:57.090 parse_config_libconfig WARN ] Option `no-dnd-shadow` is deprecated, and will be removed. Please use the wintype option `shadow` of `dnd` instead. 
[ 12/02/2021 19:54:57.090 parse_config_libconfig WARN ] Option `menu-opacity` is deprecated, and will be removed.Please use the wintype option `opacity` of `popup_menu` and `dropdown_menu` instead. 
[ 12/02/2021 19:54:57.090 parse_config_libconfig WARN ] vsync option will take a boolean from now on. "none" is interpreted as "false" for compatibility, but this will stop working soon 
[ 12/02/2021 19:54:57.091 parse_config_libconfig WARN ] glx-swap-method has been deprecated since v6, your setting "undefined" should be replaced by `use-damage = true`. 
[ 12/02/2021 19:54:57.091 parse_config_libconfig WARN ] "clear-shadow" is removed as an option, and is always enabled now. Consider removing it from your config file 
[ 12/02/2021 19:54:57.091 parse_config_libconfig ERROR ] "paint-on-overlay" has been removed as an option, and the feature is enabled whenever possible 
[ 12/02/2021 19:54:57.091 main FATAL ERROR ] Failed to create new session.

I have renamed /home/user/.config/compton.conf by /home/user/.config/picom.conf and commented on or modified line that was in "warning" and in "error"
Then in LxQt session parameters I have tick case Compton to activate on boot.

all is explain here (in french):

https://www.mageialinux-online.org/forum/topic-26987-6+lxqt-a-l-usage.php

You can refer to upstream in config files: 

https://github.com/lxqt/compton-conf/blob/master/maindialog.cpp 

https://github.com/lxqt/compton-conf/blob/master/maindialog.ui
Comment 1 Morgan Leijström 2021-02-15 17:00:00 CET
Thank you for this report.

Maybe to note in errata?

So this problem arise on a clean install?
I presume this also happens on an upgrade mga7 -> 8.

Picom https://github.com/yshui/picom is a fork of unmaintained Compton https://github.com/chjj/compton/ 

Arch seem to have some good general info https://wiki.archlinux.org/index.php/Picom

I see mga8 still carry Compton too.

Keywords: (none) => FOR_ERRATA8
CC: (none) => fri
Summary: compton-conf => In LxQT, Picom replace Compton for windows transparency. Settings compton-conf need handling.

Comment 2 Guillaume Royer 2021-02-15 18:13:26 CET
Yes this problem arise on a clean install, I suppose that happens on upgrade too.

The problem is that Comtpon is'nt maintained and replace by picom and compton-conf is abandoned.

The good way could be to find an other manager to configure picom and not try to fix this or to fix it temporarily  the time to find another solution
Comment 3 papoteur 2021-02-16 07:47:25 CET
Hello,
Some more info.
Problem can raise with migrating. picom will use compton.conf file, but some parameters are no more compatible. The file has to be adjusted. Launching picom in command line gives info on these parameters.
With a new install, there is no config file. Launching picom is OK, but has no effect.
I tried with the file picom.sample.conf from the repository. Launching picom in command line give me an error about vsync not supported.
I had to commute vsync = true; to vsync = false;
After that, transparency is managed.

Another way I didn't try : use kwin instead of openbox as window manager.
I think that we can add the default config file in the rpm, such that users have at least a default configuration file.

CC: (none) => yves.brungard_mageia

Comment 4 David GEIGER 2021-02-16 08:13:59 CET
default config file added in picom-8.2-2.mga8 in Core/Updates_testing repo, please test!

CC: (none) => geiger.david68210

Comment 5 papoteur 2021-02-16 08:51:26 CET
First removed picom.conf from /home

urpmi --media Testing picom


    ftp://ftp.free.fr//mirrors/mageia.org/distrib/8/x86_64/media/core/updates_testing/picom-8.2-2.mga8.x86_64.rpm
installation de picom-8.2-2.mga8.x86_64.rpm depuis /var/cache/urpmi/rpms
Préparation...                   #######################
      1/1: picom                 #######################
      1/1: désinstallation de picom-8.2-1.mga8.x86_64
                                 #######################
[root@localhost yves]# exit
exit

locate picom.conf
/etc/xdg/picom.conf

[yves@localhost ~]$ picom
[ 16/02/2021 08:37:13.456 vsync_init ERROR ] No supported vsync method found for this backend
[ 16/02/2021 08:37:13.456 session_init FATAL ERROR ] Failed to initialize the backend

Thus,there is just a setting to do. The default backend is xrender.
This is OK for me. 
I would prefer that we withdraw compton-conf, or at least to avoid to pull it.
Comment 6 papoteur 2021-02-16 09:11:40 CET
In errata https://wiki.mageia.org/en/Mageia_8_Errata#LXQt

Keywords: FOR_ERRATA8 => IN_ERRATA8

Comment 7 Lewis Smith 2021-02-16 11:37:12 CET
Trying to summarise the bug situation: we dropped compton (unmaintained) from M8, its successor being picom. Originally with no .conf file. So we offered compton-conf as the default picom config file? But with no dependency between them.

DavidG's update (thanks for this) comment 4 now adds a default picom config file /etc/xdg/picom.conf . Does this now make the package compton-conf redundant - to remove?

Reading the bug & Errata note (thanks papoteur) I remained confused:
- Does picom use /home/user/.config/compton.conf only if it finds it ?
[c3 and Errata => yes]
- or use /home/user/.config/picom.conf always ?
- or use /home/user/.config/picom.conf if it finds it ?
[c0 and c3 => one of these]
- Should the new default /etc/xdg/picom.conf be copied to (& tweaked)
/home/user/.config/picom.conf ?
@DavidG & papoteur:
- Can the new default picom.conf be improved (comment 5)?

I ask these things to clarify the Errata

CC: (none) => lewyssmith

Comment 8 Morgan Leijström 2021-02-16 12:08:42 CET
Is it possible to make package install/upgrade rename any existing conf file to .old and brutally put the default conf file in its place?
Comment 9 papoteur 2021-02-16 14:40:19 CET
Picom looks for /home/user/.config/picom.conf a first and if not found, it looks for /etc/xdg/picom.conf. It looks also for compton.conf, but I don't know with which priority.
The customized picom.conf can be either in  /home/user/.config/ for a personal configuration or in /etc/xdg for a system wide configuration.
(In reply to Morgan Leijström from comment #8)
> Is it possible to make package install/upgrade rename any existing conf file
> to .old and brutally put the default conf file in its place?

No, rpm doesn't touch any file in user space.
Comment 10 Lewis Smith 2021-02-17 20:07:06 CET
Thanks papoteur for the explanations.

@DavidG, Yves
re comment 4 comment 5:
I see that you (D) have 'pushed' the picom update including its skeleton .conf file; I wondered whether "Thus, there is just a setting to do. The default backend is xrender" is something general enough to include in the default file - whatever the setting is (Y please say).
Comment 11 papoteur 2021-02-17 21:21:33 CET
The xrender is the backend chosen by upstream as default. I think it is on the secure side, working in most of the cases, perhaps not optimal for performance.
Comment 12 Lewis Smith 2021-02-18 08:37:33 CET
If you mean that our new default relates to xrender - but you tweaked it to something else -, that is fine.

@David: can this not be closed fixed?
Also, should compton-conf-0.16.0-2.mga8.src.rpm be withdrawn?
Comment 13 David GEIGER 2021-02-18 08:45:04 CET
Sure it can be closed as fixed, for compton-conf I'll remove it for mga9! we can keep it for mga8.
Comment 14 Guillaume Royer 2021-02-18 08:48:41 CET
For my part, I've tested the last version of picom package proposed by David and it works fine.
Comment 15 Lewis Smith 2021-02-18 21:22:36 CET
Thank you both for your feedback.

Resolution: (none) => FIXED
Status: NEW => RESOLVED

Comment 16 Morgan Leijström 2021-02-18 21:43:42 CET
Do I understand correctly that for an upgrade user may still need to tinker and we shall keep this in errata for final?
Comment 17 Lewis Smith 2021-02-21 22:16:33 CET
It should only be in ERRATA if the upgrade from compton to picom will break something. I would hope this would remove compton & compton-config, replacing them with picom and its new config (perhaps no harm if compton-config remains, redundant).
Tweaking of picom's config should only be necessary if the user had previously tweaked compton's config. I prefer this sort of thing to be in RELEASE notes, being an application level change rather than a fault. But they are all wrapped & sealed.

Can Guillaume & papoteur comment sufficiently to advise Morgan? Time is short!
Comment 18 Guillaume Royer 2021-02-22 14:23:47 CET
Hi,

There is two ways:

1) user install compton-conf (with installing compton-conf-0.16.0-2.mga8.x86_64.rpm) because he wants to make like MGA7:

In this user have to rename compton.conf as picom.conf in /home/user/.config/ and to comment lines (2;3;4;15;20;36):

- no_dnd_shadow, 
- no_dock_shadow,
- clear shadow,
- menu_opacity, 
- paint-on-overlay,
- alpha_steps,

Commute (l34) vsync = false and replace (l42) glx-swap-method by use-damage = true

Then go to configuration center => LxQt session settings and tick case Compton to activate at boot

2) use Picom without compton-conf file

Run Picom from Accessories menu, to launch picom at boot go to configuration center => LxQt session settings and create in automatic launch menu new entry with: picom 

With Papoteur, we are testing sparky-picom that is tool to configure and launch or stop Picom

I'll let Papoteur put some bring supplements if necessary.
I hope I've answered your request, Lewis
Comment 19 Morgan Leijström 2021-02-22 14:38:53 CET
Thank you for such details, on both alternatives for a fresh Mageia 8 install.

So i guess that after upgrade Mageia 7 -> 8, user have to perform the steps for point 1).  Correct?

Will such upgraded system boot to usable desktop before the changes are made? (so the changes can be made) Maybe we should advise to disable compton before upgrade?

Nice to hear me may get sparky-picom
Comment 20 Guillaume Royer 2021-02-22 15:01:03 CET
Yes I guess, but I didn't have upgrade but new install.
I'm not at home and in can't test with my VM.

I guess system will boot on usable desktop without Picom started
Comment 21 Morgan Leijström 2021-02-22 18:47:52 CET
I have now updated errata with a rewritten condensate of comment 18 (minus line numbers as they did not match /usr/share/compton-conf/compton.conf.example), comment 9, and some own experiments.
Comment 22 Morgan Leijström 2021-02-22 18:53:33 CET
(In reply to Guillaume Royer from comment #20)
> I guess system will boot on usable desktop without Picom started

Yes it seem picom will exit if it finds it does not work, and desktop wil stil work.

I can not guarantee that though...

(In reply to Lewis Smith from comment #17)
> It should only be in ERRATA if the upgrade from compton to picom will break
> something.

I believe it only break the fancy effects - but that will make users unhappy, and they go searching.

It could maybe better be documented on a separate wiki page, and linked from errata.
Comment 23 papoteur 2021-02-22 19:54:09 CET
Yes, we still need a page "First steps with LXQt".
Comment 24 Morgan Leijström 2021-03-19 18:14:11 CET
(In reply to Guillaume Royer from comment #18)
> With Papoteur, we are testing sparky-picom that is tool to configure and
> launch or stop Picom

How did that go?



(In reply to papoteur from comment #23)
> Yes, we still need a page "First steps with LXQt".

In progress: https://wiki.mageia.org/en/User:Guygoye
Lewis Smith 2021-03-19 20:15:23 CET

CC: lewyssmith => (none)

Comment 25 Guillaume Royer 2021-03-20 19:03:00 CET
(In reply to Morgan Leijström from comment #24)
> (In reply to Guillaume Royer from comment #18)
> > With Papoteur, we are testing sparky-picom that is tool to configure and
> > launch or stop Picom
> 
> How did that go?
> 
> 
> 
> (In reply to papoteur from comment #23)
> > Yes, we still need a page "First steps with LXQt".
> 
> In progress: https://wiki.mageia.org/en/User:Guygoye

Hi Morgan,

First tests are concluding.
Papoteur has to adapt GTK dialog box with Kdialog.
With it and sparky you can load an existing cofiguration file, take default configuration file or modify configuration file.

Papoteur wants to see upstream to ask that GTK dialog Box works with Qt configuration.

Note You need to log in before you can comment on or make changes to this bug.