Ok here's some quick instructions for basic functionality:
If you don't connect the stop/pause/resume button (which is not supported by Marlin anyway - although you can connect it to the RESET pin on the ICSP header if you like), then on the X3 you only need to connect the EXP3 header.
The +5 and GND connections are pretty obvious.
The SDA and SCL wires connect to the corresponding pins on the EXP3 header EXCEPT
that the X3 wiring diagram is wrong and these two pins are reversed on the current diagram. I told Roy about this a while ago but he still hasn't updated it (getting them reversed won't damage anything - it just won't work). :-( The ENA and ENB rotary encoder pins on the panel should then connect to pins D7 & D22 on EXP3.
Then you need to get firmware which supports the VIKI board (unfortunately the Marlin maintainers still haven't integrated my pull request which adds support for I2C displays). Rich is putting together a Bukobot firmware branch which includes my Viki support change - I imagine that should be ready soon but you could also get it straight from: https://github.com/ErikZalm/Marlin/pull/407
in the mean time if you want.
To build the firmware it you need to download a copy of lincomatic's great LiquidTWI2 library from here: https://github.com/lincomatic/LiquidTWI2
and put it in you Arduino libraries subdirectory (or at least that's what I find the easiest).
Then in Configuration.h you should check that #define LCD_I2C_VIKI is not
commented out with //.
Next in pins.h you should search for the line which say "#if MOTHERBOARD == 3 || MOTHERBOARD == 33 || MOTHERBOARD == 34
" and then look for the line which says " //buttons are directly attached using AUX-2" and change the following lines after that to tell the firmware where the rotary encoder pins are connected.
#define BTN_EN1 7
#define BTN_EN2 22
#define BTN_ENC -1 //the click
I imagine that Rich will already make this change in his Bukobot branch.
Then compile and upload.
For an Azteeg X1 you need to use a different pair of digital input pins for the rotary encoder. I'd suggest D10 and A3 (which doubles as D28 and "28" is the number you should use in pins.h) as they are on the same header as SDA/SCL/+5/GND pins.
You still need to change the pins.h section but this time you are looking for the "#if MOTHERBOARD == 62 || MOTHERBOARD == 63
" board section and then change the define for BTN_EN1 and BTN_EN2 to 10 and 28.
By the way, the directional buttons are not supported in marlin firmware.
Hope that helps.