qtile: QTile crashes on Arch after latest software update (after updates to QTile deps)

Issue description

On Arch Linux, QTile lists python-cairocffi and python-xcffib as its dependencies. Running a software update bumped the version of those libraries.

pacman log:

21058   │ [2023-10-04T22:37:29+0200] [ALPM] upgraded python-cairocffi (1.5.1-1 -> 1.6.0-1)
21061   │ [2023-10-04T22:37:29+0200] [ALPM] upgraded python-xcffib (1.3.0-1 -> 1.4.0-1)

pacman package:

https://archlinux.org/packages/extra/x86_64/qtile/

Unfortunately, upon updating, QTile would crash on launch. Attempting to start QTile from the command line yielded an ImportError importing modules from both both cairocffi and xcffib. There appear to be no relevant logs in qtile.log.

After downgrading those two problematic dependencies with pacman, QTile started working again.

sudo pacman -U /var/cache/pacman/pkg/python-xcffib-1.3.0-1-any.pkg.tar.zst

If needed, I can later update the packages again and provide the exceptions. For now, I wanted to document the issue and the necessary fix, in case somebody else stumbles upon the same problem.

Thank you.

Version

0.22.1

Backend

X11 (default)

Config

No response

Logs

No response

Required

  • I have searched past issues to see if this bug has already been reported, and it hasn’t been.
  • I understand that people give their precious time for free, and thus I’ve done my very best to make this problem as easy as possible to investigate.

About this issue

  • Original URL
  • State: closed
  • Created 9 months ago
  • Reactions: 16
  • Comments: 27 (7 by maintainers)

Most upvoted comments

@fpeterek the first thing I did was searching on Qtile’s issue tracker, I’m very happy you opened the issue 👍

Thanks everyone, solved it with these commands:

yay -S downgrade
sudo downgrade python-xcffib==1.3.0
sudo downgrade python-cairocffi==1.5.1

Hello,

I had the same problem yesterday, I filled a bug report on Arch and not an issue here since it’s more about packaging rather than a Qtile bug. It is known I believe that newer versions of those dependencies only works with qtile 0.23 when Arch is on 0.22. I saw some issues here talking about it.

https://bugs.archlinux.org/task/79856

For those that do not have them cached anymore you can use the online archive pacman -U https://archive.archlinux.org/packages/path/packagename.pkg.tar.zst

Or the downgrade package (what I used) https://github.com/archlinux-downgrade/downgrade

You need pulsectl-asyncio >= 1.0.0. The AUR packages are out of date. This will be packaged in main repo soon.

Qtile 0.23.0 has just been released on Arch and the issue is now resolved. The packages from the pacman repositories are now compatible again and Qtile works without any tweaking.

@elParaguayo thanks for the pin, I presume you can now unpin this as it shouldn’t cause problems anymore.

now: qtile 0.23.0-1 in extra-testing probably will be updated in the main branch soon : extra

No need for apologies, I was just giving the link for the bug so that people can track it. I think this issue is cool because that’s probably the first place where people will seek answers

No idea. The arch packaging is nothing to do with me. I know they were going to look at it but I haven’t heard

The PulseVolume widget was rewritten.

From the CHANGELOG: - New optional dependency `pulsectl-asyncio` required for `PulseVolume` widget

It’s not in Arch repos yet but the qtile packager is looking at adding it.

If you can’t wait, I can share a PKGBUILD file to install it.

I agree with this problem. It only helps:

  • sudo pacman -U /var/cache/pacman/pkg/python-xcffib-1.3.0-1-any.pkg.tar.zst
  • sudo pacman -U /var/cache/pacman/pkg/python-cairocffi-1.5.1-1-any.pkg.tar.zst

Thank you.