The thing that sticks with me is video card support. Back then (before Nvidia, 3dfx, etc) you had VGA cards that had one of a number of chipsets on, but it would be paired with a video timing chip and a RAMDAC. Buying a card required knowing which combination of parts it used and which combinations had support in XFree86. Then writing the configuration required knowing the video timings supported by your monitor. Not just frequencies, but blanking periods and such like.