Add framebuffer device command line switch for Xfbdev

This commit is contained in:
Matthew Allum 2006-08-31 17:18:57 +01:00
parent 2fb7b8795a
commit fd609956f2
3 changed files with 29 additions and 9 deletions

View File

@ -38,11 +38,17 @@ fbdevInitialize (KdCardInfo *card, FbdevPriv *priv)
{
int k;
unsigned long off;
if ((priv->fd = open("/dev/fb0", O_RDWR)) < 0 && \
(priv->fd = open("/dev/fb/0", O_RDWR)) < 0) {
perror("Error opening /dev/fb0");
return FALSE;
}
if (fbdevDevicePath == NULL)
fbdevDevicePath = "/dev/fb0";
if ((priv->fd = open(fbdevDevicePath, O_RDWR)) < 0)
{
ErrorF("Error opening framebuffer %s: %s\n",
fbdevDevicePath, strerror(errno));
return FALSE;
}
/* quiet valgrind */
memset (&priv->fix, '\0', sizeof (priv->fix));
if ((k=ioctl(priv->fd, FBIOGET_FSCREENINFO, &priv->fix)) < 0) {

View File

@ -53,6 +53,7 @@ typedef struct _fbdevScrPriv {
} FbdevScrPriv;
extern KdCardFuncs fbdevFuncs;
extern char* fbdevDevicePath;
Bool
fbdevInitialize (KdCardInfo *card, FbdevPriv *priv);

View File

@ -54,17 +54,30 @@ InitInput (int argc, char **argv)
void
ddxUseMsg (void)
{
KdUseMsg();
KdUseMsg();
ErrorF("\nXfbdev Device Usage:\n");
ErrorF("-fb path Framebuffer device to use. Defaults to /dev/fb0\n");
ErrorF("\n");
}
int
ddxProcessArgument (int argc, char **argv, int i)
{
return KdProcessArgument (argc, argv, i);
if (!strcmp (argv[i], "-fb"))
{
if (i+1 < argc)
{
fbdevDevicePath = argv[i+1];
return 2;
}
UseMsg();
exit(1);
}
return KdProcessArgument (argc, argv, i);
}
char *fbdevDevicePath = NULL;
KdCardFuncs fbdevFuncs = {
fbdevCardInit, /* cardinit */
fbdevScreenInit, /* scrinit */