Собственно, вопрос именно в этом. Если Android не поддерживает то или иное устройство, как именно пишутся драйвера для него? Это обычные модули ядра Linux или есть свои нюансы?
На уровне ядра - это обычные модули ядра.
Думаю, если драйвер для какой-то подсистемы, которая уже используется в андроид (экран, да? :)) на этом всё и закончится.