Enable -display to be used to specify the /devb/fbX framebuffer device when using fb driver. Also, when using fb driver, FRAMEBUFFER will be used if set. Order of precedence: -display, then FRAMEBUFFER, then /dev/fb0 James 2015.02 diff -ur links-2.9/default.c links-new/default.c --- links-2.9/default.c 2014-11-06 06:25:50.000000000 +1100 +++ links-new/default.c 2015-02-28 10:52:00.000000000 +1100 @@ -1502,7 +1502,8 @@ " For Xwindow it is size of a window in format WIDTHxHEIGHT.\n" "\n" " -display \n" -" Set Xwindow display.\n" +" Set Xwindow display. For fb driver, set the framebuffer (/dev/fbX) to use.\n" +" Framebuffer can also be set using environment FRAMEBUFFER.\n" "\n" " -force-html\n" " Treat files with unknown type as html rather than text.\n" diff -ur links-2.9/framebuf.c links-new/framebuf.c --- links-2.9/framebuf.c 2014-12-04 05:30:35.000000000 +1100 +++ links-new/framebuf.c 2015-02-28 10:48:22.000000000 +1100 @@ -123,6 +123,7 @@ static void fb_draw_bitmap(struct graphics_device *dev,struct bitmap* hndl, int x, int y); static unsigned char *fb_driver_param; +static unsigned char *fb_fbdev; /* /dev/fbXXX fbdev to use */ extern struct graphics_driver fb_driver; static int have_cmap; static volatile int fb_active; @@ -1176,7 +1177,7 @@ /* don't check error */ } -static unsigned char *fb_init_driver(unsigned char *param, unsigned char *ignore) +static unsigned char *fb_init_driver(unsigned char *param, unsigned char *fbdev) { unsigned char *e; struct stat st; @@ -1259,12 +1260,17 @@ return e; } - EINTRLOOP(fb_handle, open("/dev/fb0", O_RDWR)); + /* james: choose which fbdev to use */ + if (fbdev && *fbdev) fb_fbdev=stracpy(fbdev); + else fb_fbdev=stracpy(cast_uchar getenv("FRAMEBUFFER")); + if (!fb_fbdev || !*fb_fbdev) fb_fbdev=stracpy(cast_uchar "/dev/fb0"); + + EINTRLOOP(fb_handle, open(fb_fbdev, O_RDWR)); if (fb_handle==-1) { fb_switch_shutdown(); if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; } fb_show_cursor(); - return stracpy(cast_uchar "Cannot open /dev/fb0.\n"); + return stracpy(cast_uchar "Cannot open framebuffer device.\n"); } EINTRLOOP(rs, ioctl(fb_handle, FBIOGET_VSCREENINFO, &vi)); diff -ur links-2.9/links.1 links-new/links.1 --- links-2.9/links.1 2014-11-06 06:25:51.000000000 +1100 +++ links-new/links.1 2015-02-28 10:53:01.000000000 +1100 @@ -64,7 +64,8 @@ .TP \f3-display \f2\f1 -Set Xwindow display. +Set Xwindow display. For fb driver, set the framebuffer (/dev/fbX) to use. +Framebuffer can also be set using environment FRAMEBUFFER. .TP \f3-force-html\f1