I3 - cannot login when picom enabled


I am on a fresh install of EndeavourOS: ext4 luks, i3wm.
I chose the autologin option.

When I enable picom for transparency (uncomment the picom line without changing flags), I am not able to login anymore. I see the login Manager, when i type the correct password the screen is black for two seconds, after that I see the login prompt again.

If I comment the picom line on another tty, the login is OK again.

Any ideas?



Just a guess, but maybe picom is starting too soon?
What if you were to add a delay, like so…

sleep 2s && exec --no-startup-id picom -CGb

It’s best to not run picom as soon as your system logs in. As @lucidae said best to delay it with sleep 2 && picom -b --config /home/s4ndm4n/.config/picom/picom.conf --experimental-backends you only need the --config part if you’re using custom configuration file if not you only need sleep 2 && picom -b --experimental-backends

or you can create a .desktop file and put it in /home/s4ndm4n/.config/autostart folder. And comment the picom line from i3 config file.

[Desktop Entry]
GenericName=Picom X compositor
Comment=Picom is a standalone compositor for Xorg, suitable for use with window managers that do not provide compositing.
TryExec=bash -c "sleep 3 && picom -b --experimental-backends"
Exec=bash -c "sleep 3 && picom -b --experimental-backends"

Could it be that you use both compton and picom and there could be some conflict too? You can disable Compton in the i3 config file.

Another question, what graphics card and driver are you using?

My i3 config file does not like the “sleep” command, it says that there is an error in the config file. I tested the “startup-delay” switch of the exec command, this does not trigger a syntax error in the config file but does not solve the initial problem.
If i run picom in the terminal, my session is immediately logged out and I cannot log in again.

Well, it is a fresh install of EOS but I checked that anyway. There is no compton process.

Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)
Subsystem: Lenovo Device 220c
Kernel driver in use: i915
Kernel modules: i915

It is a Thinkpad T440s by the way.

This is so strange, I installed EOS a few weeks ago on a Lenovo Yoga 260. No issues with picom on this machine,so I guess this is a hardware thing?

Sadly I cannot find the picom logs…

you could try starting picom from terminal on a running session, what could give some output
Or the journal:
`journalctl --since “last 10 minutes” | grep picom’

I had this issue, so I commented picom away and used EOS for some hours, took the comments out and it mysteriously started working. I don’t know if I did anything else that could have fixed it other than updating the system.

The man page for picom says about option -b:

-b, --daemon
Daemonize process. Fork to background after
initialization. Causes issues with certain
(badly-written) drivers.

so that seemed like a clue

I think you’re replying to @Zircon34 :slight_smile: .

You can try this command in your i3 config file.

bash -c "sleep 3 && picom -b --experimental-backends"

Sorry, I did not find out how to answer multiple users yet :smiley:
Your command does not work in the i3 config, as “bash” is not an allowed token. I wrapped it, so it looks like this:

exec --no-startup-id bash -c "sleep 3 && picom -b --experimental-backends"

Now I am able to login - BUT only for 3 seconds, after that the login screen appears again.

There is no output regarding picom. But I realized that every time picom starts a coredump appears. So the session crashes and this is the reason why I need to login again.

btw: I started from scratch and installed a fresh eos system on both my Thinkpad T440s and my Thinkpad Yoga 260. I just installed and uncommented the “picom”-line in the default i3 config file.

  • Yoga 260: Picom just works
  • T440s: The problem of this thread.
    Both systems have Intel HD graphics

Ok, during comparison of the two Thinkpad machines (both relatively old) I noticed that the working machine had a newer BIOS version.

After upgrading the BIOS on the T440S, Picom is now able to start (even without the delay).
Sorry guys for not checking the BIOS version before posting :-/

Thank you all for your help!

Just a note - flags -C and -G are deprecated.

I can recommend

exec_always --no-startup-id "killall picom; sleep 1; picom -b"

@borsti I have good experience with first killing all possible running instances of picom. It is important if you restart i3.

It looks like you have some problem with your picom config.

Try to first debug it. Disable it in i3 config, log in and start it from terminal with simple picom (or run killall picom first).
Ther terminal output should indicate where is the problem.

1 Like

Hi vlkon,

thank you, but in my case a BIOS Upgrade to a 5 year newer version did the trick :slight_smile:

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.