AltGr happily works in character console (Ctl-Alt-F1).
xev says for AltGr-V (should be @):
KeyPress event, serial 30, synthetic NO, window 0x3000001,
root 0x48, subw 0x0, time 1739212, (-7,380), root
799,404),
state 0x2010, keycode 113 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 124
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 30, synthetic NO, window 0x3000001,
root 0x48, subw 0x0, time 1739970, (-7,380), root
799,404),
state 0x2050, keycode 55 (keysym 0x76, v), same_screen YES,
XLookupString gives 1 bytes: (76) "v"
XmbLookupString gives 1 bytes: (76) "v"
XFilterEvent returns: False
KeyRelease event, serial 30, synthetic NO, window 0x3000001,
root 0x48, subw 0x0, time 1740085, (-7,380), root
799,404),
state 0x2050, keycode 55 (keysym 0x76, v), same_screen YES,
XLookupString gives 1 bytes: (76) "v"
KeyRelease event, serial 30, synthetic NO, window 0x3000001,
root 0x48, subw 0x0, time 1741372, (-7,380), root
799,404),
state 0x2050, keycode 113 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 124
XLookupString gives 0 bytes: