Bug 2539584

Summary: xcompose.conf sets QT_IM_MODULE=xim on Plasma Wayland (ru_RU, fi_FI, pt_BR, el_GR, am_ET), breaking the virtual keyboard in Qt apps
Product: [Fedora] Fedora Reporter: Plastinin Nikolay <plaztininikolai>
Component: imsettingsAssignee: Akira TAGOH <tagoh>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 44CC: i18n-bugs, tagoh
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: imsettings-1.8.11-4.fc46 imsettings-1.8.11-4.fc44 imsettings-1.8.12-2.fc45 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-09-29 07:22:39 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Plastinin Nikolay 2026-09-23 17:36:15 UTC
On Fedora 44 KDE Plasma (Wayland), users whose locale is in _xcompose_language_list (am_ET, el_GR, fi_FI, pt_BR, ru_RU) get QT_IM_MODULE=xim exported into the session by /etc/xdg/plasma-workspace/env/xinput.sh (imsettings-plasma). Qt/KDE applications then use XIM instead of the Wayland text-input protocol, so the Plasma virtual keyboard (plasma-keyboard) never appears in Qt/KDE applications. It still works in non-Qt applications (Chromium, Flatpaks).

Other locales are not affected: they get none.conf, which has IMSETTINGS_IGNORE_ME=yes and IMSETTINGS_IGNORE_SESSION=*-wayland,GNOME (added for bug 2240722), so setup_qt_immodule unsets QT_IM_MODULE. xcompose.conf lacks these lines, so the xcompose locales still get "xim".

Versions:
imsettings-1.8.11-2.fc44
imsettings-plasma-1.8.11-2.fc44
plasma-workspace-6.7.5-1.fc44
kwin-6.7.5-1.fc44
plasma-keyboard-6.7.5-1.fc44
Rawhide (1.8.11-3) has the same xcompose.conf.

Reproducible: Always

Steps to Reproduce:
1. On Fedora 44 KDE Plasma, set the system locale to ru_RU.UTF-8 (or fi_FI, pt_BR, el_GR, am_ET).
2. Log in to a Plasma Wayland session.
3. Run: systemctl --user show-environment | grep QT_IM_MODULE
4. Enable the virtual keyboard (System Settings > Keyboard > Virtual Keyboard) and tap a text field in a Qt/KDE app (Dolphin, System Settings).
Actual Results:
3. QT_IM_MODULE=xim
4. The virtual keyboard does not appear in Qt/KDE applications.

Expected Results:
3. QT_IM_MODULE is not set, as with en_US and other none.conf locales.
4. The virtual keyboard appears in Qt/KDE applications.

Additional Information:
Result of the xinput.sh logic in a Plasma Wayland session with IMSETTINGS_DISABLE_USER_XINPUTRC=yes and different LANG values:
  ru_RU, fi_FI, pt_BR, el_GR -> QT_IM_MODULE=xim
  en_US, de_DE, fr_FR, uk_UA, es_ES, pt_PT, ja_JP, zh_CN -> unset

none.conf ends with:
  IMSETTINGS_IGNORE_ME=yes
  # We don't take care of Wayland
  IMSETTINGS_IGNORE_SESSION=*-wayland,GNOME
xcompose.conf has no such lines.

Suggested fix: add the same two lines to /etc/X11/xinit/xinput.d/xcompose.conf:
  IMSETTINGS_IGNORE_ME=yes
  IMSETTINGS_IGNORE_SESSION=*-wayland,GNOME

Related: the 1.8.11-2 changelog says "Disable imsettings for KDE", but Patch5 (imsettings-disable-kde.patch) is inside %if 0%{?rhel} in imsettings.spec and is not in the Fedora SRPM. On Fedora 44 /usr/libexec/imsettings-target-checker.sh has no kde* case and "imsettings-check --check-desktop KDE" returns 0, so KDE sessions are still handled by imsettings. Applying that patch on Fedora would also fix this.
See also bug 2240722 and bug 2232064.

Workaround:
  mkdir -p ~/.config/imsettings
  echo 'XIM=none' > ~/.config/imsettings/xinputrc
then log out and back in.

Comment 1 Plastinin Nikolay 2026-09-23 17:53:47 UTC
Correction to the suggested fix: only IMSETTINGS_IGNORE_SESSION is needed.
IMSETTINGS_IGNORE_ME=yes would also hide "X compose table" from im-chooser
(it controls imsettings_info_is_visible), which is not wanted.

So the fix is one line in data/xcompose.in.in:

  # We don't take care of Wayland
  IMSETTINGS_IGNORE_SESSION=*-wayland,GNOME

Tested by running the xinput.sh logic from /etc/xdg/plasma-workspace/env/xinput.sh
in a live Plasma session (IMSETTINGS_DISABLE_USER_XINPUTRC=yes) with the original
and the patched xcompose.conf:

  LANG     session         original   patched
  ru_RU    KDE-wayland     xim        unset
  fi_FI    KDE-wayland     xim        unset
  pt_BR    KDE-wayland     xim        unset
  el_GR    KDE-wayland     xim        unset
  am_ET    KDE-wayland     xim        unset
  en_US    KDE-wayland     unset      unset
  ja_JP    KDE-wayland     unset      unset
  ru_RU    KDE (x11)       xim        xim     (X11 unchanged)

I have prepared a dist-git change (Patch3 imsettings-xcompose-wayland.patch,
Release 4, applies with --fuzz=0) and will open a pull request on
src.fedoraproject.org/rpms/imsettings.

Comment 2 Plastinin Nikolay 2026-09-23 18:12:01 UTC
Pull request: https://src.fedoraproject.org/rpms/imsettings/pull-request/2

Comment 3 Fedora Update System 2026-09-29 07:20:03 UTC
FEDORA-2026-d467a3641a (imsettings-1.8.11-4.fc46) has been submitted as an update to Fedora 46.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-d467a3641a

Comment 4 Fedora Update System 2026-09-29 07:22:39 UTC
FEDORA-2026-d467a3641a (imsettings-1.8.11-4.fc46) has been pushed to the Fedora 46 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 5 Fedora Update System 2026-09-29 08:00:12 UTC
FEDORA-2026-1ddc9888dd (imsettings-1.8.11-4.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-1ddc9888dd

Comment 6 Fedora Update System 2026-09-29 08:00:12 UTC
FEDORA-2026-108ec391d0 (imsettings-1.8.11-4.fc45) has been submitted as an update to Fedora 45.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-108ec391d0

Comment 7 Fedora Update System 2026-09-30 01:52:58 UTC
FEDORA-2026-108ec391d0 has been pushed to the Fedora 45 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-108ec391d0`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-108ec391d0

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2026-09-30 02:25:58 UTC
FEDORA-2026-1ddc9888dd has been pushed to the Fedora 44 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-1ddc9888dd`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-1ddc9888dd

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2026-10-08 01:15:57 UTC
FEDORA-2026-1ddc9888dd (imsettings-1.8.11-4.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 10 Fedora Update System 2026-10-31 18:33:56 UTC
FEDORA-2026-d1cdc0f4f7 (imsettings-1.8.12-2.fc45) has been pushed to the Fedora 45 stable repository.
If problem still persists, please make note of it in this bug report.