The X Window System is a critical component in the Ubuntu operating system. X is not without its bugs, but fortunately debugging X issues is not rocket science.
The vast majority of Ubuntu X issues fall into one of several distinct categories, and based on the way they manifest, there are several different tactics that can be employed in a nearly paint-by-numbers fashion to isolate them.
X Reporting - How to create good X bug reports
X Triaging - How to ensure new X bug reports have enough info to troubleshoot
X Symptom Tagging - Standard tags to use for flagging symptoms
X Backtracing - How to collect a backtrace for an X crash
X Upstreaming - Forwarding X bugs to their upstream project
X Glossary - Explanations for confusing terms often seen in logs and error messages
X Crash Fixing - How to fix X crashes
X Quirks - Fixes for some common hardware-specific issues
X Troubleshooting - How to analyze X bugs to make them solvable
X/Bisecting - Using bisection techniques to solve regressions or backport fixes
Wireless Without X - How to get a wireless network connection without X.
Direct Wired Without WAP - How to connect two laptops with direct ethernet cord.
Video Resources at help.ubuntu.com
XorgOnTheEdge - for bleeding edge packages