-
-
Notifications
You must be signed in to change notification settings - Fork 53
Description
Qubes OS release
Qubes OS r4.3 rc1 - Only Fedora 43 Template (at this moment).
Brief summary
Python 3.14 will be the default for Fedora 43. It deprecates calling asyncio.get_event_loop() if there is no current event loop (details here).
This will break a bunch of Qubes OS tools. It was found 1st in qvm-start-daemon for a sys-audio qube. But the same error might be present in Qui Widget tools (if used in a Fedora 43 based sys-gui*). Or Qube Manager and many other corners.
Steps to reproduce
In Python 3.14 in Fedora 43 try:
import asyncio
loop = asyncio.get_event_loop()Observe the error and compare with previous Python version in older templates.
Expected behavior
Qubes tools which depend on asyncio should initialize the event loop with:
loop = new_event_loop()
asyncio.set_event_loop(loop)before calling asyncio.get_event_loop()
Actual behavior
A list of tools which should be fixed to allow running on Fedora 43 (list will be updated)
-
qubes-core-admin-client:qvm-start-daemon,qvm-shutdown,qvm-template(post process),qvm-backup -
qubes-app-linux-pdf-converter: Client & Server -
qubes-desktop-linux-manager: Qui Clipboard, Qui Device Widget, Qui Domains, Qui Updates, Updater (summary page),qubes-device-agent.py -
qubes-gui-daemon:icon-reciever -
(most probably does not require a fix).qubes-gui-agent-linux:icon-sender -
qubes-doc: Deveoper -> Services ->qrexec-socket-services.rst -
qubes-desktop-linux-menu: AppMenu anddesktop_file_manager.py -
qubes-app-shutdown-idle -
qubes-core-adminLot's of components but lower priority since dom0 is currently stuck on Fedora 41 -
not neededqubes-core-qrexec:qrexec/policy/utils.py,tools/qrexec_policy_agent.py -
qubes-app-linux-split-gpg2 -
qubes-builderv2
Additional information
Related: #10102