主要通过/dev/disp这个设备节点来控制调节。
下面是测试程序。
#include <stdio.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#define displayno 0
#define DISP_DEV "/dev/disp"
int main(int argc, char const *argv[])
{
unsigned long args[4] = {displayno, 0, 0, 0};
int disp = open(DISP_DEV, O_RDWR, 0);
if (disp < 0) {
perror("open");
return -1;
}
/* turn VGA off */
//if (ioctl(disp, 0x140, args) < 0)
// perror("ioctl: 0x140");
/* set mode to 1024x768 */
args[0] = 0;
args[1] = 0xf5;
args[2] = 0;
if (ioctl(disp, 0x142, args) < 0)
perror("ioctl: 0x142");
/* turn VGA on again */
//if (ioctl(disp, 0x200, args) < 0)
//perror("ioctl: 0x200");
return 0;
}