Configure MythTV kernel

From Bitpost wiki

Here are the settings I use for my MythTV box.

First off, the gear:

AMD Athlon 64 X2 3800+ Manchester 2.0GHz Socket 939
MSI K8NGM2-FID
NForce 430
GeForce 6150
8 channel HD audio codec RealTek ALC880 (INTEL)
Hauppage PVR-350

So what do we need in menuconfig? Select the following, in addition to all the defaults:

<*> Loadable module support -> Automatic kernel module loading (why is this not on already?)

(FOR NVIDIA)
<*> Device Drivers -> Graphics support -> Support for frame buffer devices
<*> Device Drivers -> Graphics support ->  VESA VGA graphics support
<*> Device Drivers -> Graphics support ->   VESA driver type -> vesafb (the only choice)
< > Device Drivers -> Graphics support -> nVidia Framebuffer support (INCOMPATIBLE with binary driver)
< > Device Drivers -> Graphics support -> nVidia Riva support        (INCOMPATIBLE with binary driver)

(FOR HAUPPAGE)
(old)
<*> Device Drivers -> Multimedia Devices -> Video For Linux
[*] Device Drivers -> Multimedia Devices ->  Enable Video For Linux API 1 (DEPRECATED)
<M> Device Drivers -> Multimedia Devices -> Video Capture Adapters -> BT848 Video For Linux
<M> Device Drivers -> Multimedia Devices -> Video Capture Adapters ->  SAA6588 Radio Chip on BT848 cards

(new, what a bunch of kernel muckups)
<*> Device Drivers -> Multimedia Devices -> Video For Linux
[*] Device Drivers -> Multimedia Devices ->  Enable Video For Linux API 1 (DEPRECATED)
< > Device Drivers -> Multimedia Devices -> Video Capture Adapters -> Autoselect pertinent encoders/decoders and other helper chips
    Device Drivers -> Multimedia Devices -> Video Capture Adapters -> Encoders/decoders -> 
<M>  Micronas MSP34xx audio decoders
<M>  Wolfson Microelectronics WM8775 audio ADC with input mixer
<M>  Conexant CX2584x audio/video decoders 
<M>  Philips SAA7110 video decoder
<M>  Philips SAA7111 video decoder
<M>  Philips SAA7114 video decoder
<M>  Philips SAA7113/4/5 video decoders
<M>  Philips SAA7191 video decoder
<M>  Conexant CX2341x MPEG encoders
<M>  Philips SAA7127/9 digital video encoders

(changed, AGAIN, on 8/30/07, stupid bastards!)
<M>  Conexant cx23416/cx23415 MPEG encoder/decoder support 
<M>  Device Drivers -> Graphics support -> Trident support
     Device Drivers -> Graphics support -> Console display driver support -> 
<*>     Framebuffer Console support
<*>     Select compiled-in fonts (NEW)
<*>     Select compiled-in fonts (NEW)
[*]        VGA 8x16 font  

(FOR INTEL HD AUDIO (ALC880) and ALSA - 'use modules so alsa-config works')
<M> Device Drivers -> Sound -> Sound Card Support
< > Device Drivers -> Open Sound System -> Open Sound System (DEPRECATED)
<M> Device Drivers -> Sound -> Advanced Linux Sound Architecture -> Advanced Linux Sound Architecture
<M> Device Drivers -> Sound -> Advanced Linux Sound Architecture -> Sequencer support
<M> Device Drivers -> Sound -> Advanced Linux Sound Architecture -> OSS Mixer API
<M> Device Drivers -> Sound -> Advanced Linux Sound Architecture -> OSS PCH (digital audio) API
<*> Device Drivers -> Sound -> Advanced Linux Sound Architecture -> OSS PCH (digital audio) API - include plugin system
<M> Device Drivers -> Sound -> Advanced Linux Sound Architecture -> PCI Devices -> Intel HD Audio

(FOR IVTV, stupid unfriendly piece of crap)
<M> Device Drivers -> Multimedia Devices -> Video Capture Adapters -> Conexant 2388x
<M> Device Drivers -> Multimedia Devices -> Video Capture Adapters -> Encoders and Decoders -> Wolfson WM8775
<M> Device Drivers -> Multimedia Devices -> Video Capture Adapters -> Encoders and Decoders -> Wolfson WM8739
<M> Device Drivers -> Multimedia Devices -> Video Capture Adapters -> Encoders and Decoders -> Conexant CX2341x
<M> Device Drivers -> Multimedia Devices -> Video Capture Adapters -> Encoders and Decoders -> Conexant CX2584x
<M> Device Drivers -> Multimedia Devices -> Video Capture Adapters -> Encoders and Decoders -> Philips SA711x
<M> Device Drivers -> Multimedia Devices -> Video Capture Adapters -> Encoders and Decoders -> Philips SA712x

(FOR SAMBA, and the newer CIFS)
<*> File Systems -> Network File Systems -> SMB file system support
<*> File Systems -> Network File Systems -> CIFS support

P.S. It can be helpful to compare the new .config file with the older working version to check to see if you missed anything:

kdiff3 ../linux-2.6.17-gentoo-r8/.config .config

P.P.S. Kernel hackers all use the 'oldconfig' option of make menuconfig - gentoo says only 'safe' if you're in the same kernel revision (e.g. 2.6.18-r4 to -r6):

cp ../linux-##older_working_kernel##/.config ./
make oldconfig
 (this will prompt you to decide about including the newest features...)
make && make modules_install
(etc.)