Plucky Picom problems

Considering the above, when I did my homework correctly, I have the following observations:

  • 25.04 does not come with a picom.conf file
  • such a file is normally installed in /etc/xdg and/or ~/.config (per user)
  • because of this, picom will not start (nor via the autostart way, nor the module way)
  • first, the user needs to generate a picom.conf file (in ~/.config) implicitly by using picom-conf (at least one time)
  • after that, picom will autostart at next boot, or start as a module (if configured that way) at next login
  • however, all menu’s in at least Firefox (and maybe more applications) get a very ugly border
  • this can be easily fixed by a rule in picom.conf, but the autogeneration by picom-conf will not cover that
  • a rule must be set manually, and that seems to be something for the maintainers of Lubuntu (i.e. a proper configured picom.conf file needs to be provided by the distro in the users .config directory).

As a bonus, if picom is running, it will enable setting the transparency levels in qterminal (I set them at 10% and love it).

1 Like

Oh, this is bad.

On a relatively new install:

lubuntu@lubuntu:~$ cat /var/log/installer/media-info 
Lubuntu 25.04 "Plucky Puffin" - Daily amd64 (20250214.1)lubuntu@lubuntu:~$ 
lubuntu@lubuntu:~$ pgrep -a picom
lubuntu@lubuntu:~$ find / -type f -name picom.desktop 2>/dev/null
/etc/xdg/autostart/picom.desktop
/usr/share/applications/picom.desktop
lubuntu@lubuntu:~$ gio launch /etc/xdg/autostart/picom.desktop
[ 02/20/2025 12:21:16.779 sanitize_options ERROR ] Backend not specified. You must choose one explicitly. Valid ones are: 
[ 02/20/2025 12:21:16.779 sanitize_options ERROR ]      glx
[ 02/20/2025 12:21:16.779 sanitize_options ERROR ]      egl
[ 02/20/2025 12:21:16.779 sanitize_options ERROR ]      xrender
[ 02/20/2025 12:21:16.779 sanitize_options ERROR ]      dummy
[ 02/20/2025 12:21:16.780 session_init FATAL ERROR ] Failed to get configuration, usually mean you have specified invalid options.
[ 02/20/2025 12:21:16.780 main FATAL ERROR ] Failed to create new session.
lubuntu@lubuntu:~$ find / -type f -name picom.conf 2>/dev/null

As you can see:

  1. Picom isn’t running
  2. There’s an Autostart and a normal Desktop Entry
  3. Launching the Autostart fails (this is also true with the Desktop Entry and just running picom in terminal)
  4. There’s no Picom Configuration anywhere to be found

As far as I know, this is a recent change. I swear my Oracular box at home is running Picom just fine. I seem to remember there always was a configuration file before, or at least that Picom would (like many programs out there) just run off of defaults.

Some other observations:

  1. The picom-conf package installs /usr/share/picom-conf/picom.conf.example. Running picom --config against this allows Picom to run fine.
  2. I note that the Picom Autostart is checked in lxqt-config-session, which I find odd. I would expect LXQt to automagically disable it after it failed to start so many times. Admittedly, I’ve only booted a couple times on this test machine so that may be the issue. In any case, this makes you think everything is working fine. Another reason to have the LXQt Module as it would be a lot more obvious when it’s not working.
  3. Opening picom-conf and clicking “Apply” is enough to generate ~/.config/picom.conf, which is sufficient to get picom running again.
  4. Something is definitely weird with the default configuration or perhaps with Picom itself. Here’s what I notice (see pics below):
    1. Without Picom, I can click on “File” in PCManFM-Qt and the menu appears like normal. With Picom it does not display.
    2. This bad behavior persists after Picom is killed.
    3. The expected behavior returns after restarting the session, at least assuming Picom isn’t starting.

The above shows htop searching for “picom” and not finding it with the PCManFM-Qt menu displayed.

This one shows the same thing as above but with Picom running.

Lastly, this is right after the previous image, but after having killed Picom, so you can see it’s not found in the search, and yet the behavior in PCManFM-Qt is persisting.

That said, thank you so much for bringing this up, @frtzk. Would you mind sharing the configuration you developed that works? I assume it doesn’t have these issues or the ones you mentioned?

2 Likes

Hmm… interesting and strange thing with “File” menu. I will try to reproduce that myself later. Of course I will share my working config (with regard to the menu’s in Firefox). It is no secret and not a big thing (part of the Picom learning curve). I’ve found it on an Arch forum, but it took me quite a while to find it initially. Don’t have the time now, but I will come back with that.

Update About your observations.

Ad 1 This file /usr/share/picom-conf/picom.conf.example is the template used by picom-conf to generate ~/.config/picom.conf (if it did not exist, simply by just pushing ‘Apply’). This file overrules possible other files in the chain of search directories (as desbribed in the picom man page).

Ad 2 The autostart facility offers a nice convient way of autostarting an application (sic) by placing an applications .desktop file in the /etc/xdg/autostart directory. LXQt does not verify or try to restart those applications. That is what Modules are doing. It is totally other thing.

Ad 3 Correct. What you should worry about is that the current template file used by picom-conf (in Plucky) differs substantially from the sample configuration file provided by the picom project itself. The latter is using another mechanism, and contains rules. This is according to the picom project itself the preferred way to configure picom. You can read all about this at the picom project website .

Ad 4 I had the same problem. Well, at first I just noticed that before dragging a window. After dragging, the window did not remove itself correctly (at the original location the screen remained as a phantom). I think the two things are related somehow. After a while it all works fine. Strange. Never seen it before in a VM.

Removing menu borders in Firefox (on picom)
The fix for removing the strange border around menus in Firefox is as follows (based on the old config format as currently produced in Plucky by picom-conf):

Best replace (in the template file /usr/share/picom-conf/picom.conf.example) the following fragment:

shadow-exclude = [
“name = ‘Notification’”,
“class_g = ‘Conky’”,
“class_g ?= ‘Notify-osd’”,
“class_g = ‘Cairo-clock’”,
“_GTK_FRAME_EXTENTS@:c”
];

with

shadow-exclude = [
“name = ‘Notification’”,
“class_g = ‘Conky’”,
“class_g ?= ‘Notify-osd’”,
“class_g = ‘Cairo-clock’”,
“class_g = ‘firefox_firefox’”,
“_GTK_FRAME_EXTENTS@:c”
];

This should do the trick (after first removing an already generated ~/.config/picom.conf file). The :c could be removed from the last element, because it is not needed anymore (in neither case in the file b.t.w.).

For the interested reader: the added attribute class_g refers to a very low level item from the X Window System (the second part of so called WM_CLASS(STRING) attribute), which on Lubuntu’s snap instance happens to be this value. Thanks to xprop I discovered this.

Should the Lubuntu picom maintainers eventually decide to abolish the old configuration file format (as produced by picom-conf), another solution is needed eventually. That is documented well on the internet.

IMNSHO Power users will not need or use picom-conf.

Ad nauseum perhaps
I hope you are aware of the existence of locate (from the plocate package) . If its search index is up to date (# updatedb), it works easier and quicker than find.

Thunderbird
Thunderbird has the same issue with picom. In this case, with the snap install, the following needs to be added as well:

“class_g = ‘thunderbird_esr’”,

directly after the other addition.

Who’s next?

BTW minimal installation
Picom and picom-conf are not by default provided in this profile.

Extra at Ad 2
For me, adding the magic line X-LXQt-Module=true to file /etc/xdg/autostart/picom.desktop was sufficient to chang picom from autostart to a proper module. No need to reboot, only logging out and in did the trick.

1 Like

Decomisioning my old server
After sunsetting my previous server on which I used to run all my VMs (not relevant, but it was yesterday), the first test of Qemu/KVM I did was to install Lubuntu. So, I am not sure what is the root cause of the following problem I encounter now:

It seems adding picom to Plucky (in fact adding a configuration), picom starts but seems to inhibit the proper working of the VM. The “bird” appears, but for the rest the desktop is not responsive (the VM is - Ctrl+Alt+F3 etc.).

The rest of today I will perhaps not have enough free time to install another distro, but perhaps the problem is with the combination of Plucky/picom, and not the new host system.

Update
I guess I just was to quick with my initial view about this. In the mean time my system had some upgrades, and now I do not have any problems anymore. My hardware only supports the xrender backend, and all is well now, it seems.

Both of us are using VMs. That may be part of the problem. Have you yet tried this on bare metal?

Thanks for the Firefox trick. Would you care to share the rest of your configuration?

Regarding locate, it is quicker and easier but it’s not as complete, nor as useful if you want to do anything with the results.

Is it the cause of this:
image

1 Like

That’s what I was referring to above:

To be clear, we’re specifically talking about the development version here. If you’re running ≤24.10, please create a Support and Help topic.

2 Likes

Well, I don’t do anything fancy (no blurring), and I am now actually using the file provided by picom-conf (hence in old style format, for now abolishing the Arch provided new style file), with the mentioned additions for Firefox and Thunderbird and increased the shadow-radius a bit, and changed a few opacity values (in the GUI).

Funnily, a side effect of increasing the shadow-radius (with the class_g-trick seems to eliminate the ugly references on Firefox menu’s as well :slight_smile:

1 Like

I have now confirmed this. The issue is indeed the VM. Bare metal works fine. None of the issues I saw when Picom was running with the default configuration from picom-conf were present. So that’s good.

This is also true. Interestingly, there does not seem to be a configuration file. Even when running with --log-level DEBUG there’s no indication of the configuration file.

So the lack of a configuration file is not new. What’s new is not running on defaults in absence of a configuration file.

A little bit more:

  • picom --backend xrender (or some other backend) is all that’s need to get it started, not the whole config file.
  • The Plucky version is 12.5. Oracular was on 10.2. So lots of changes.

The change is in 12-rc1 and relates to what I said above:

backend is now a required option. picom will not start if one is not specified explicitly.

How can we possibly come up with a sane default there except for xrender, unless we check driver/hardware support for OpenGL?