Hey there, I’m a bit stuck with a problem in the veloren snap.
...
Nov 27 09:28:53.934 WARN winit::platform_impl::platform::x11: Unsupported locale "C.UTF-8". Restoring default locale "C".
Nov 27 09:28:54.046 ERROR veloren_voxygen: VOXYGEN HAS PANICKED
Panic Payload: "Failed to open input method: PotentialInputMethods {\n xmodifiers: Some(\n PotentialInputMethod {\n name: \"@im=ibus\",\n successful: Some(\n false,\n ),\n },\n ),\n fallbacks: [\n PotentialInputMethod {\n name: \"@im=local\",\n successful: Some(\n false,\n ),\n },\n PotentialInputMethod {\n name: \"@im=\",\n successful: Some(\n false,\n ),\n },\n ],\n _xim_servers: Ok(\n [\n \"@im=ibus\",\n ],\n ),\n}"
Veloren uses winit
for window creation. This panic happens in EventLoop::new
, here .
Is this problem caused by the Unsupported locale
or am I missing some support for input method(s)? Thanks a lot for any pointers!
Links
Thank you, I just tested this.
It now correctly recognizes my system locale (en_US.UTF-8
) but still claims it is unsupported and panics:
Nov 27 10:38:29.306 WARN winit::platform_impl::platform::x11: Unsupported locale "en_US.UTF-8". Restoring default locale "C".
I get similar results (just with C.UTF-8
instead of en_US.UTF-8
) when I try to specify LANG
/LC_ALL
in environment
as follows:
environment:
LANG: C.UTF-8
LC_ALL: C.UTF-8
1 Like
Related source: https://github.com/rust-windowing/winit/blob/cbeb51b43674c477ea03e97178694838ea26d8b2/src/platform_impl/linux/x11/ime/input_method.rs
Try workaround it by unsetting the XMODIFIERS
environment variable, it may affect CJKV input method support, though…
Thank you, I added export XMODIFIERS=""
to my launcher.sh
(last entry in my command-chain
) but it doesn’t seem to help:
Panic Payload: "Failed to open input method: PotentialInputMethods {\n xmodifiers: Some(\n PotentialInputMethod {\n name: \"\",\n successful: Some(\n false,\n ),\n },\n ),\n fallbacks: [\n PotentialInputMethod {\n name: \"@im=local\",\n successful: Some(\n false,\n ),\n },\n PotentialInputMethod {\n name: \"@im=\",\n successful: Some(\n false,\n ),\n },\n ],\n _xim_servers: Ok(\n [\n \"@im=ibus\",\n ],\n ),\n}"
PanicInfo: panicked at /root/.cargo/git/checkouts/winit-1a1fa59cd987d86e/7c8c5f2/src/platform_impl/linux/x11/mod.rs:132:17
Game version: 49e892b9 [2020-11-25]
I think I have a general lack of knowledge about how input methods work (and particularly with snaps). E.g. assuming a snap can work with ibus
and fcitx
, how does it generally detect which one to use, what libraries are needed in the snap, and which interfaces have to be connected?
Try unsetting it instead?
unset XMODIFIERS
Refer Compatibility with CJKV input method frameworks for some general info regarding input methods and snaps.
Most of the graphical interface frameworks rely on the following environment variables for input method support:
XMODIFIERS
GTK_IM_MODULE
QT_IM_MODULE
QT4_IM_MODULE
CLUTTER_IM_MODULE
3 Likes
Thank you so much, by reading through your post about CJKV input methods I realized that I accidentally removed desktop-launch
from the command-chain
Meaning, that probably the symbolic link setup for ibus’ socket path was missing (?)
Anyways, thank you for your help @Lin-Buo-Ren and @ogra !
3 Likes
Amelia4
December 8, 2020, 11:32am
8
It’s a long standing bug without any fix unfortunately MyAARPMedicare
The work-around is to actually add the “qaa-Latn” entry in the Settings app, and then remove it.
Go to Settings > Time and Language > Language
Click Add a language.
Type qaa-Latn
Add the language.
Wait a bit.
Then remove it.