[fedora-arm] Kaymap not surviving reboot

Gordan Bobic gordan at bobich.net
Mon Aug 8 14:39:40 UTC 2011


 On Mon, 8 Aug 2011 09:34:51 -0500, Dennis Gilmore <dennis at ausil.us> 
 wrote:
> On Monday, August 08, 2011 09:01:22 AM Gordan Bobic wrote:
>>  On Mon, 8 Aug 2011 08:54:30 -0500, Dennis Gilmore <dennis at ausil.us>
>>
>>  wrote:
>> >> >>  I'm using KDE (at the moment, going to try to get XFCE 
>> working
>> >> >>
>> >> >> soon),
>> >> >>
>> >> >>  and whatever system-config-keyboard does fixes it, but also
>> >> >>
>> >> >> whatever
>> >> >> it
>> >> >>
>> >> >>  does isn't surviving a reboot. :-/
>> >> >
>> >> > sometimes strace and grep open is a quicker way to find things
>> >>
>> >> like
>> >>
>> >> > this
>> >> > than using the source
>> >>
>> >>  Indeed they do, I figured it out.
>> >>
>> >>  The problem is that system-config-keyboard edits xorg.conf, and
>> >>
>> >> does so
>> >>
>> >>  extremely poorly and brokenly. It actually breaks a valid
>> >>
>> >> xorg.conf, in
>> >>
>> >>  fact, by creating a ServerLayout section without an Identifier
>> >>
>> >> entry.
>> >>
>> >>  But the real problem is that it creates a broken keyboard entry
>> >>
>> >> that
>> >>
>> >>  doesn't do anything. Because it loads the keymap at run time, 
>> the
>> >>  settings go live in the current session, but after re-starting
>> >>
>> >> xorg,
>> >>
>> >>  they don't get re-applied because the InputDevice section that
>> >>  system-config-keyboard created is broken. Xorg.0.log eventually 
>> got
>> >>
>> >> me
>> >>
>> >>  looking in the right direction. the main thing that the 
>> InputDevice
>> >>  section was missing was the
>> >>
>> >>  Option "Device" "/dev/input/event0"
>> >>
>> >>  line. Without it the keyboard entry failed, and on Tegra at 
>> least,
>> >>
>> >> NVEC
>> >>
>> >>  keyboard would get detected on that device node and started, 
>> which
>> >>
>> >> would
>> >>
>> >>  default to the US layout every time.
>> >>
>> >>  The solution was to fix the InputDevice entry manually, and use 
>> the
>> >>  evdev driver. After that NVEC (found via udev it seems) driver 
>> gets
>> >>  loaded, but it sees that the device is already claimed, so it 
>> goes
>> >>
>> >> away.
>> >>
>> >>  The net result is the keyboard working with the correct map.
>> >>
>> >>  I'm not entirely sure what against to file this bug report, or 
>> even
>> >>  where. I'm guessing against system-config-keyboard, but we're 
>> not
>> >>
>> >> up to
>> >>
>> >>  the point where we can build/test rawhide on Fedora on ARM, are 
>> we?
>> >>
>> >> My
>> >>
>> >>  experience is that in genereal, the life cycle of fedora is too
>> >>
>> >> short
>> >>
>> >>  for the fixes to ever arrive for anything except Rawhide...
>> >
>> > I suspect that this is entirely an issue that effects only tegra
>> > based devices.
>> > I have a spanish keyboard in my smartbook and ithas all just 
>> worked
>> > as
>> > expected.
>>
>>  Did you have a xorg.conf or were you running without it?
>>
>>  I don't see how some parts of this could be Tegra specific,
>>  specifically the fact that it creates a ServerLayout section if 
>> there
>>  isn't one there and doesn't create an Identifier entry in it. That 
>> along
>>  will make Xorg fail to start. Can you check whetiher it does that 
>> on
>>  your system?
>>
>
> # Xorg configuration created by system-config-display
>
> Section "ServerLayout"
> 	Identifier     "single head configuration"
> 	Screen      0  "Screen0" 0 0
> 	InputDevice    "Keyboard0" "CoreKeyboard"
> EndSection
>
> Section "InputDevice"
> # keyboard added by system-config-display
> 	Identifier  "Keyboard0"
> 	Driver      "kbd"
> 	Option	    "XkbModel" "pc105"
> 	Option	    "XkbLayout" "es"
> EndSection
>
> Section "Device"
> 	Identifier  "Videocard0"
> 	#Driver      "fbdev"
> 	Driver      "imx"
> EndSection
>
> Section "Screen"
> 	Identifier "Screen0"
> 	Device     "Videocard0"
> 	DefaultDepth     24
> 	SubSection "Display"
> 		Viewport   0 0
> 		Depth     24
> 	EndSubSection
> EndSection
>
>
> thats my xorg.conf file. its been awhile since i set it all up so i 
> dont
> remeber if it was there before i switched the keyboard from english
> to spanish

 Right, that's why it works for you. Back up your xorg.conf while X is 
 running, and remove the ServerLayout section. Then try 
 system-config-keyboard and see what it does. If I'm right, it'll create 
 a ServerLayout section without the Identifier entry.

 Gordan


More information about the arm mailing list