Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 530380 - [gnome-overlay] =gnome-base/gdm-3.14.1 ignores xorg keyboard layout
Summary: [gnome-overlay] =gnome-base/gdm-3.14.1 ignores xorg keyboard layout
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: gnome-3.14
  Show dependency tree
 
Reported: 2014-11-24 12:58 UTC by Martin Wegner
Modified: 2015-02-18 21:10 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Wegner 2014-11-24 12:58:49 UTC
After adding the gnome overlay and upgrading to =gnome-base/gdm-3.14.1 the keyboard layout setup for xorg is ignored.

It is set to be:

% localectl
   System Locale: LANG=C
                  LC_CTYPE=de_DE.UTF-8
                  LC_MONETARY=de_DE.UTF-8
                  LC_PAPER=de_DE.UTF-8
                  LC_ADDRESS=de_DE.UTF-8
                  LC_TELEPHONE=de_DE.UTF-8
       VC Keymap: dvorak-de-type2
      X11 Layout: pc105
       X11 Model: de
     X11 Variant: dvorak

However, only the English default keyboard layout is set and usable when gdm is started. 

There seem to have been similar problems e. g. on Arch Linux, but they can apparently be resolved by setting the correct layout via "Settings > Region & Language > Login Screen" (in top right corner of window), see screenshots e. g. [0] (although unfortunately only in German).

[0] http://linuxundich.de/gnu-linux/nach-update-auf-gnome-3-14-englisches-tastaturlayout-gdm/

Reproducible: Always

Steps to Reproduce:
1. Add gnome-overlay
2. Upgrade all packages, including =gnome-base/gdm-3.14.1
3.
Actual Results:  
Only English keyboard layout available in gdm although configured otherwise.


% emerge --info
Portage 2.2.14 (python 3.3.5-final-0, default/linux/amd64/13.0/desktop/gnome/systemd, gcc-4.8.3, glibc-2.20, 3.17.4-gentoo-vidar-i7-efi x86_64)
=================================================================
System uname: Linux-3.17.4-gentoo-vidar-i7-efi-x86_64-Intel-R-_Core-TM-_i7-4790_CPU_@_3.60GHz-with-gentoo-2.2
KiB Mem:    16383796 total,  10968604 free
KiB Swap:   25165816 total,  25165816 free
Timestamp of tree: Mon, 24 Nov 2014 11:45:01 +0000
ld GNU ld (Gentoo 2.24 p1.4) 2.24
ccache version 3.2 [disabled]
app-shells/bash:          4.3_p30-r1
dev-java/java-config:     2.2.0
dev-lang/perl:            5.20.1-r2
dev-lang/python:          2.7.8, 3.3.5-r1, 3.4.2
dev-util/ccache:          3.2
dev-util/cmake:           3.0.2
dev-util/pkgconfig:       0.28-r2
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.13.6
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.10.3-r1, 1.11.6-r1, 1.14.1
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.8.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.3-r2
sys-devel/make:           4.1-r1
sys-kernel/linux-headers: 3.17-r1 (virtual/os-headers)
sys-libs/glibc:           2.20
Repositories: gentoo hacking-gentoo steam-overlay gnome x-portage
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=1 --load-average=8"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs candy clean-logs config-protect-if-modified distlocks ebuild-locks fakeroot fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-backup unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://gentoo.imj.fr/pub/gentoo/ 	ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/"
LANG="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j9 -l9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/hacking-gentoo /var/lib/layman/steam /var/lib/layman/gnome /usr/local/portage"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="X a52 aac aacs acpi alsa amd64 amr avahi berkdb bluetooth bluray branding bzip2 cairo cdda cdr cli colord cracklib crypt cryptsetup cups cxx dbus device-mapper dirac divx dmraid dri dts dvb dvd dvdr emboss encode exif faac faad fam ffmpeg firefox flac flash fuse gdbm gif glamor gnome gnome-keyring gnome-online-accounts gnutls gstreamer gtk gtk3 iconv idn introspection ipv6 jpeg lame lcms libnotify libsecret lirc mad mmx mng modules mp3 mp4 mpeg multilib nautilus ncurses networkmanager nls nptl ogg opengl pam pango pcre pdf png policykit ppds pulseaudio readline realmedia samba schroedinger sdl session smartcard socialweb spell sse sse2 sse4 ssl ssse3 startup-notification svg syslog systemd tcpd telepathy theora tiff tracker truetype udev udisks unicode upower usb v4l v4l2 vdpau vim-syntax vorbis vpx webm wmp wxwidgets x264 xcb xinerama xml xv xvid zeitgeist zeroconf zlib zsh-completion" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="gnutls" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en de" LIRC_DEVICES="devinput" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3 python3_4" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.7 3.4"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Pacho Ramos gentoo-dev 2015-01-19 12:12:50 UTC
I think I have also seen this... but since I have autologin enabled I didn't notice until I opened control center and noticed the settings were reset to english for some reason
Comment 2 Pacho Ramos gentoo-dev 2015-01-19 13:54:45 UTC
Ah no, I had it disabled and I logged it properly (and, then, maybe keymap was ok) :/

I have seen other reports... but they look to be caused by wrong config files around or people don't setting the proper layout with localectl:
https://bbs.archlinux.org/viewtopic.php?id=188509
https://bugs.archlinux.org/task/42406
http://forum.pcastuces.com/gnome_3141__clavier_azerty_passe_en_qwerty-f8s14473.htm
https://forums.archlinux.fr/viewtopic.php?p=136402#p136402
Comment 4 Pacho Ramos gentoo-dev 2015-01-20 16:22:07 UTC
Anyway, we aren't able to reproduce (with spanish and french locales). What are your /etc/X11/xorg.conf and /etc/X11/xorg.conf.d/* files?
Comment 5 Pacho Ramos gentoo-dev 2015-01-26 13:40:39 UTC
Also look if this is not a variant of bug 537428
Comment 6 Martin Wegner 2015-01-26 21:46:28 UTC
Thanks for coming back to me on this.

I am still seeing this with =gnome-base/gdm-3.14.1-r1 from the tree (no overlay anymore). However, I think, the bug has changed slightly since the initial report: As of now, I am seeing a keyboard layout switcher in the upper right corner of gdm, with a German layout ("de") preselected and the option to switch to English layout ("en"). However, the X11 keyboard model still seems to be ignored (it's set to "dvorak", see below). When I type, the layout/model is the same as the standard german QWERTZ layout.

I will try to provide a screenshot when I am physically sitting in front of the computer the next time to try it.

Also unfortunately, I cannot see any direct connection to the mentioned bug reports:

It definitely has nothing to do with special characters not working, if I try out the layout by choosing to login with another username not in the list, the layout is "correct" with regards to the wrong layout being set initially. The layout seems not to be forgotten either, just the X11 keyboard setting being ignored. 

Config files are as follows:

$ localectl
   System Locale: LANG=C
                  LC_CTYPE=de_DE.UTF-8
                  LC_TIME=de_DE.UTF-8
                  LC_MONETARY=de_DE.UTF-8
                  LC_MESSAGES=en_US.UTF-8
                  LC_PAPER=de_DE.UTF-8
                  LC_ADDRESS=de_DE.UTF-8
                  LC_TELEPHONE=de_DE.UTF-8
       VC Keymap: dvorak-de-type2
      X11 Layout: de
       X11 Model: dvorak

xorg.conf does not exist in /etc/X11 . Contents of files in /etc/X11/xorg.conf.d by filename:

/etc/X11/xorg.conf.d/00-keyboard.conf:
# Read and parsed by systemd-localed. It's probably wise not to edit this file
# manually too freely.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "de"
        Option "XkbModel" "dvorak"
EndSection

/etc/X11/xorg.conf.d/20opengl.conf:
Section "Files"
        ModulePath "/usr/lib32/xorg/modules"
        ModulePath "/usr/lib64/opengl/nvidia"
        ModulePath "/usr/lib64/xorg/modules"
EndSection
Comment 7 Pacho Ramos gentoo-dev 2015-01-26 23:17:29 UTC
Try to reconfigure using "localectl" and, if still valid, please report also to upstream -> bugzilla.gnome.org 

And post the link here. I would at first open it for the component "gnome-control-center" instead of gdm as I think it's the one really being responsible of keyboard layout on gdm and gnome-shell (they will reassign if needed)
Comment 8 Martin Wegner 2015-02-18 19:25:00 UTC
Sorry for coming back so late to this, but I haven't found the time earlier.

I finally managed to narrow down and eliminate the cause for this bug, however it was and is not related to gdm.

The key was the following error message in the gdm.service log:
% journalctl --unit=gdm.service -b 0
[...]
gdm-Xorg-:0[2433]: (**) Option "xkb_rules" "evdev"
gdm-Xorg-:0[2433]: (**) Option "xkb_model" "de"
gdm-Xorg-:0[2433]: (**) Option "xkb_layout" "pc105"
gdm-Xorg-:0[2433]: (**) Option "xkb_variant" "dvorak"
gdm-Xorg-:0[2433]: The XKEYBOARD keymap compiler (xkbcomp) reports:
gdm-Xorg-:0[2433]: > Error:            Can't find file "pc105" for symbols include
gdm-Xorg-:0[2433]: >                   Exiting
gdm-Xorg-:0[2433]: >                   Abandoning symbols file "default"
gdm-Xorg-:0[2433]: Errors from xkbcomp are not fatal to the X server
gdm-Xorg-:0[2433]: (EE) Error loading keymap /var/lib/xkb/server-0.xkm
gdm-Xorg-:0[2433]: (EE) XKB: Failed to load keymap. Loading default keymap instead.

After a while it hit me, xkb_model and xkb_layout are swapped, also in the output of localectl:
% localectl
[...]
      X11 Layout: pc105
       X11 Model: de
     X11 Variant: dvorak

The reason why this happened is quite simple albeit elusive: The zsh auto completion of arguments for localectl set-k11-keymap ... completes the arguments in the wrong order: First it offers models for completion, then the layouts, then the variants. But the first two need to be the other way round.

So I called localectl with the right order of the arguments, i. e. % localectl set-x11-keymap de pc105 dvorak and it worked.

So the question is, should this bug report be reopened and dedicated to the obvious bug in the zsh completion, or should I report this in another bug report?
Comment 9 Pacho Ramos gentoo-dev 2015-02-18 21:10:30 UTC
I would open a new bug for zsh completion (you can add a reference to this one in "See also" field for example... and maybe an upstream enhancement bug report to systemd (bugzilla.freedesktop.org) to make localectl warn when the model and layout settings are wrong :/

Thanks a lot for the investigation and feedback :)