менять разрешение "на лету" можно только с видеокартами для которых есть драйвер устройства framebuffer. Например на моем Matrox. Наиболее распростаненные видеокарты на базе микросхем nvidia тоже имеют такой драйвер -- rivafb, но, во-первых, он плохо совместим с x сервером от самой nvidia, и, во-вторых, поддерживает не все видеокарты. фреймбуфер можно инициализировать или в момент загрузки системы либо, для указанных карт, в любой момент. Однако наиболее часто используемый vesafb имеет ограниченные возможности и должен быть загружен только в момент загрузки системы. Поскольку он использует прерывания реального режима изменить установленное при загрузке разрешение экрана он не позволяет.