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.08

diff -ur links-2.10-old/default.c links-2.10/default.c
--- links-2.10-old/default.c	2015-06-21 00:39:44.000000000 +1000
+++ links-2.10/default.c	2015-08-20 23:45:13.144600193 +1000
@@ -1507,7 +1507,8 @@
 "  For Xwindow it is size of a window in format WIDTHxHEIGHT.\n"
 "\n"
 " -display <x-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"
Only in links-2.10: default.c.orig
diff -ur links-2.10-old/framebuf.c links-2.10/framebuf.c
--- links-2.10-old/framebuf.c	2015-07-04 22:37:20.000000000 +1000
+++ links-2.10/framebuf.c	2015-08-20 23:48:20.814601424 +1000
@@ -115,6 +115,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;
@@ -1091,7 +1092,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;
@@ -1174,12 +1175,17 @@
 		return e;
 	}
 
-	fb_handle = c_open(cast_uchar "/dev/fb0", O_RDWR | O_NOCTTY);
+	/* 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");	
+
+	fb_handle = c_open(fb_fbdev, O_RDWR | O_NOCTTY);
 	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));
Only in links-2.10: framebuf.c.orig
Only in links-2.10: framebuf.c.rej
diff -ur links-2.10-old/links.1 links-2.10/links.1
--- links-2.10-old/links.1	2015-02-01 18:41:29.000000000 +1100
+++ links-2.10/links.1	2015-08-20 23:45:13.144600193 +1000
@@ -64,7 +64,8 @@
 
 .TP
 \f3-display \f2<x-display>\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
