The problem is, those "NOT resetting the cache" error messages are a red herring. I hacked libxklavier to always reset the cache on XkbNewKeyboardNotify, and it doesn't make any difference.
The settings are not being applied for some other reason. I did set XKL_DEBUG to 999 and found one interesting difference. When I have autologin on, .xsession-errors contains this:
[1216339029,200,xklavier_xkb.c:xkl_xkb_load_all_info/] found 1 groups
[1216339029,200,xklavier_xkb.c:xkl_xkb_load_all_info/] Group 0 has name [USA]
Whereas, when I log in explicitly, it contains this:
[1216347662,200,xklavier_xkb.c:xkl_xkb_load_all_info/] found 2 groups
[1216347662,200,xklavier_xkb.c:xkl_xkb_load_all_info/] Group 1 has name [USA]
[1216347662,200,xklavier_xkb.c:xkl_xkb_load_all_info/] Group 0 has name [-]
I don't know much about xkb so I'm not sure what this "-" group is or where it came from.
Never mind, I have traced it into libxklavier.
The problem is, those "NOT resetting the cache" error messages are a red herring. I hacked libxklavier to always reset the cache on XkbNewKeyboardN otify, and it doesn't make any difference.
The settings are not being applied for some other reason. I did set XKL_DEBUG to 999 and found one interesting difference. When I have autologin on, .xsession-errors contains this:
[1216339029, 200,xklavier_ xkb.c:xkl_ xkb_load_ all_info/ ] found 1 groups 200,xklavier_ xkb.c:xkl_ xkb_load_ all_info/ ] Group 0 has name [USA]
[1216339029,
Whereas, when I log in explicitly, it contains this:
[1216347662, 200,xklavier_ xkb.c:xkl_ xkb_load_ all_info/ ] found 2 groups 200,xklavier_ xkb.c:xkl_ xkb_load_ all_info/ ] Group 1 has name [USA] 200,xklavier_ xkb.c:xkl_ xkb_load_ all_info/ ] Group 0 has name [-]
[1216347662,
[1216347662,
I don't know much about xkb so I'm not sure what this "-" group is or where it came from.