Wow that takes me back - I went through that maybe 15 years ago to fix something about my laptop at the time. 
Fortunately haven't needed to since - I assumed that either laptop manufacturers got better at doing this stuff right, or (maybe more likely) Linux got better at interpreting their bugs.