New package: fbset-2.1 (with Debian patches).
This commit is contained in:
parent
3d4825e31c
commit
b1c504efd1
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,135 @@
|
|||
---
|
||||
etc/fb.modes.ATI | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
|
||||
1 file changed, 77 insertions(+), 7 deletions(-)
|
||||
|
||||
--- a/etc/fb.modes.ATI
|
||||
+++ b/etc/fb.modes.ATI
|
||||
@@ -6,6 +6,8 @@
|
||||
# Mach64 Programmer's Guide, Appendix C
|
||||
# (C) 1998 ATI Technologies Inc.
|
||||
#
|
||||
+# Kop: this are very generic modes and not only for ATI cards.
|
||||
+#
|
||||
|
||||
#
|
||||
# 640x480, 60 Hz, Non-Interlaced (25.175 MHz dotclock)
|
||||
@@ -132,6 +134,36 @@ mode "640x480-100"
|
||||
timings 22272 48 32 17 22 128 12
|
||||
endmode
|
||||
|
||||
+
|
||||
+#
|
||||
+# 768x576, 75 Hz, Non-Interlaced (49.188 MHz dotclock)
|
||||
+#
|
||||
+# Horizontal Vertical
|
||||
+# Resolution 768 576
|
||||
+# Scan Frequency 46.580 kHz 75.008 Hz
|
||||
+# Sync Width us ms
|
||||
+# chars lines
|
||||
+# Front Porch us ms
|
||||
+# chars lines
|
||||
+# Back Porch us ms
|
||||
+# chars lines
|
||||
+# Active Time us ms
|
||||
+# chars lines
|
||||
+# Blank Time us ms
|
||||
+# chars lines
|
||||
+# Polarity negative negative
|
||||
+#
|
||||
+# This is a mode often used, because fbtv suggests this, since
|
||||
+# this is the mode for "normal" TVs.
|
||||
+#
|
||||
+
|
||||
+mode "768x576-75"
|
||||
+ # D: 49.188 MHz, H: 46.580 kHz, V: 75.008 Hz
|
||||
+ geometry 768 576 768 576 32
|
||||
+ timings 20330 128 32 32 8 128 5
|
||||
+endmode
|
||||
+
|
||||
+
|
||||
#
|
||||
# 800x600, 48 Hz, Interlaced (36.00 MHz dotclock)
|
||||
#
|
||||
@@ -430,7 +462,7 @@ endmode
|
||||
# 1024x768, 72 Hz, Non-Interlaced (75.00 MHz dotclock)
|
||||
#
|
||||
# Horizontal Vertical
|
||||
-# Resolution 10224 768
|
||||
+# Resolution 1024 768
|
||||
# Scan Frequency 58.230 kHz 72.245 Hz
|
||||
# Sync Width 1.813 us 0.103 ms
|
||||
# 17 chars 6 lines
|
||||
@@ -447,7 +479,7 @@ endmode
|
||||
|
||||
mode "1024x768-72"
|
||||
# D: 75.00 MHz, H: 58.230 kHz, V: 72.245 Hz
|
||||
- geometry 10224 768 10224 768 8
|
||||
+ geometry 1024 768 1024 768 8
|
||||
timings 13334 104 24 29 3 136 6
|
||||
endmode
|
||||
|
||||
@@ -691,7 +723,45 @@ mode "1152x864-80"
|
||||
hsync high
|
||||
vsync high
|
||||
endmode
|
||||
-
|
||||
+
|
||||
+#
|
||||
+# 1280x960, 75 Hz, Non-Interlaced (126.00 MHz dotclock)
|
||||
+#
|
||||
+# Horizontal Vertical
|
||||
+# Resolution 1280 960
|
||||
+# Scan Frequency 74.788 kHz 74.788 Hz
|
||||
+# Sync Width 1.018 us 0.092 ms
|
||||
+# 14 chars 7 lines
|
||||
+# Front Porch 0.127 us 0.393 ms
|
||||
+# 2 chars 30 lines
|
||||
+# Back Porch 1.473 us 0.747 ms
|
||||
+# 20 chars 57 lines
|
||||
+# Active Time 10.473 us 11.311 ms
|
||||
+# 144 chars 864 lines
|
||||
+# Blank Time 2.618 us 1.231 ms
|
||||
+# 36 chars 94 lines
|
||||
+# Polarity positive positive
|
||||
+#
|
||||
+
|
||||
+mode "1280x960-75-8"
|
||||
+ # D: 125.644 MHz, H: 74.788 kHz, V: 74.788 Hz
|
||||
+ geometry 1280 960 1280 960 8
|
||||
+ timings 7959 224 32 36 1 144 3
|
||||
+endmode
|
||||
+
|
||||
+mode "1280x960-75"
|
||||
+ # D: 125.644 MHz, H: 74.788 kHz, V: 74.788 Hz
|
||||
+ geometry 1280 960 1280 960 16
|
||||
+ timings 7959 224 32 36 1 144 3
|
||||
+endmode
|
||||
+
|
||||
+mode "1280x960-75-32"
|
||||
+ # D: 125.644 MHz, H: 74.788 kHz, V: 74.788 Hz
|
||||
+ geometry 1280 960 1280 960 32
|
||||
+ timings 7959 224 32 36 1 144 3
|
||||
+endmode
|
||||
+
|
||||
+
|
||||
#
|
||||
# 1280x1024, 43 Hz, Interlaced (80.00 MHz dotclock)
|
||||
#
|
||||
@@ -849,13 +919,13 @@ endmode
|
||||
#
|
||||
|
||||
mode "1280x1024-75"
|
||||
- # D: 135.00 MHz, H: 79.976 kHz, V: 75.02 Hz
|
||||
- geometry 1280 1024 1280 1024 8
|
||||
- timings 7408 248 16 38 1 144 3
|
||||
+ # D: 134.880 MHz, H: 79.905 kHz, V: 74.958 Hz
|
||||
+ geometry 1280 1024 1280 3264 8
|
||||
+ timings 7414 232 64 38 1 112 3
|
||||
hsync high
|
||||
vsync high
|
||||
endmode
|
||||
-
|
||||
+
|
||||
#
|
||||
# 1600x1200, 60 Hz, Non-Interlaced (156.00 MHz dotclock)
|
||||
#
|
|
@ -0,0 +1,110 @@
|
|||
Status: not-sent
|
||||
# This supposedly does not need to be sent upstream as there's fbutils,
|
||||
# although its development has stagnated.
|
||||
|
||||
---
|
||||
con2fbmap.1 | 29 ++++++++++++++++++++++++++
|
||||
con2fbmap.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 95 insertions(+)
|
||||
|
||||
--- /dev/null
|
||||
+++ b/con2fbmap.1
|
||||
@@ -0,0 +1,29 @@
|
||||
+.TH con2fbmap 1 2006-01-18 2.1 "Linux frame buffer utils"
|
||||
+.SH NAME
|
||||
+con2fbmap \- shows and sets mapping between consoles and framebuffer devices.
|
||||
+.SH SYNOPSIS
|
||||
+.B con2fbmap
|
||||
+.RI console
|
||||
+.RI [ framebuffer ]
|
||||
+.SH DESCRIPTION
|
||||
+.B This documentation is not finished
|
||||
+.PP
|
||||
+.B con2fbmap
|
||||
+is a system utility to show or change the mapping of the consoles to the
|
||||
+frame buffer device. The frame buffer device provides a simple and unique
|
||||
+interface to access different kinds of graphic displays.
|
||||
+.PP
|
||||
+Frame buffer devices are accessed via special device nodes located in the
|
||||
+/dev directory. The naming scheme for these nodes is always
|
||||
+.IR \fBfb < n >,
|
||||
+where
|
||||
+.I n
|
||||
+is the number of the used frame buffer device.
|
||||
+.PP
|
||||
+.SH OPTIONS
|
||||
+The first option must be there, and identify the console on which to work.
|
||||
+If the second option is not set, con2fbmap shows the current mapping of
|
||||
+identified console. If the second argument is given (as a number) con2fbmap
|
||||
+maps the identified console to said framebuffer device.
|
||||
+.TP
|
||||
+Sven LUTHER <luther@debian.org>
|
||||
--- /dev/null
|
||||
+++ b/con2fbmap.c
|
||||
@@ -0,0 +1,66 @@
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <unistd.h>
|
||||
+#include <fcntl.h>
|
||||
+#include <errno.h>
|
||||
+#include <string.h>
|
||||
+#include <sys/ioctl.h>
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/stat.h>
|
||||
+#include <linux/fb.h>
|
||||
+
|
||||
+#define DEFAULT_FRAMEBUFFER "/dev/fb0"
|
||||
+#define DEFAULT_FRAMEBUFFER_DEVFS "/dev/fb/0"
|
||||
+
|
||||
+const char *programname;
|
||||
+
|
||||
+void Usage(void)
|
||||
+{
|
||||
+ fprintf(stderr, "\nUsage: %s console [framebuffer]\n\n", programname);
|
||||
+ exit(1);
|
||||
+}
|
||||
+
|
||||
+int main(int argc, char *argv[])
|
||||
+{
|
||||
+ int do_write = 0;
|
||||
+ char *fbpath; /* any frame buffer will do */
|
||||
+ int fd;
|
||||
+ struct fb_con2fbmap map;
|
||||
+
|
||||
+ programname = argv[0];
|
||||
+ switch (argc) {
|
||||
+ case 3:
|
||||
+ do_write = 1;
|
||||
+ map.framebuffer = atoi(argv[2]);
|
||||
+ case 2:
|
||||
+ map.console = atoi(argv[1]);
|
||||
+ break;
|
||||
+ default:
|
||||
+ Usage();
|
||||
+ }
|
||||
+
|
||||
+ if (access("/dev/.devfsd", F_OK) == 0) /* devfs detected */
|
||||
+ fbpath = DEFAULT_FRAMEBUFFER_DEVFS;
|
||||
+ else
|
||||
+ fbpath = DEFAULT_FRAMEBUFFER;
|
||||
+
|
||||
+ if ((fd = open(fbpath, O_RDONLY)) == -1) {
|
||||
+ fprintf(stderr, "open %s: %s\n", fbpath, strerror(errno));
|
||||
+ exit(1);
|
||||
+ }
|
||||
+ if (do_write) {
|
||||
+ if (ioctl(fd, FBIOPUT_CON2FBMAP, &map)) {
|
||||
+ fprintf(stderr, "ioctl FBIOPUT_CON2FBMAP: %s\n", strerror(errno));
|
||||
+ exit(1);
|
||||
+ }
|
||||
+ } else {
|
||||
+ if (ioctl(fd, FBIOGET_CON2FBMAP, &map)) {
|
||||
+ fprintf(stderr, "ioctl FBIOGET_CON2FBMAP: %s\n", strerror(errno));
|
||||
+ exit(1);
|
||||
+ }
|
||||
+ printf("console %d is mapped to framebuffer %d\n", map.console,
|
||||
+ map.framebuffer);
|
||||
+ }
|
||||
+ close(fd);
|
||||
+ exit(0);
|
||||
+}
|
|
@ -0,0 +1,26 @@
|
|||
Status: sent-upstream
|
||||
|
||||
---
|
||||
fbset.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/fbset.c
|
||||
+++ b/fbset.c
|
||||
@@ -710,7 +710,7 @@ static void DisplayFBInfo(struct fb_fix_
|
||||
|
||||
puts("Frame buffer device information:");
|
||||
printf(" Name : %s\n", fix->id);
|
||||
- printf(" Address : %p\n", fix->smem_start);
|
||||
+ printf(" Address : %#0lx\n", fix->smem_start);
|
||||
printf(" Size : %d\n", fix->smem_len);
|
||||
printf(" Type : ");
|
||||
switch (fix->type) {
|
||||
@@ -780,7 +780,7 @@ static void DisplayFBInfo(struct fb_fix_
|
||||
printf(" YWrapStep : %d\n", fix->ywrapstep);
|
||||
printf(" LineLength : %d\n", fix->line_length);
|
||||
if (fix->mmio_len) {
|
||||
- printf(" MMIO Address: %p\n", fix->mmio_start);
|
||||
+ printf(" MMIO Address: %#0lx\n", fix->mmio_start);
|
||||
printf(" MMIO Size : %d\n", fix->mmio_len);
|
||||
}
|
||||
printf(" Accelerator : ");
|
|
@ -0,0 +1,26 @@
|
|||
Status: sent-upstream
|
||||
|
||||
---
|
||||
fbset.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/fbset.c
|
||||
+++ b/fbset.c
|
||||
@@ -832,7 +832,8 @@ static int FillScanRates(struct VideoMod
|
||||
static void Usage(void)
|
||||
{
|
||||
puts(VERSION);
|
||||
- Die("\nUsage: %s [options] [mode]\n\n"
|
||||
+ printf(
|
||||
+ "\nUsage: %s [options] [mode]\n\n"
|
||||
"Valid options:\n"
|
||||
" General options:\n"
|
||||
" -h, --help : display this usage information\n"
|
||||
@@ -887,6 +888,7 @@ static void Usage(void)
|
||||
" -step <value> : step increment (in pixels or pixel lines)\n"
|
||||
" (default is 8 horizontal, 2 vertical)\n",
|
||||
ProgramName);
|
||||
+ exit(0);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
Status: sent-upstream
|
||||
|
||||
---
|
||||
fbset.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 54 insertions(+)
|
||||
|
||||
--- a/fbset.c
|
||||
+++ b/fbset.c
|
||||
@@ -199,6 +199,60 @@ static struct accelentry {
|
||||
{ FB_ACCEL_SUN_CGTHREE, "Sun cg3" },
|
||||
{ FB_ACCEL_SUN_TCX, "Sun tcx" },
|
||||
{ FB_ACCEL_MATROX_MGAG400, "Matrox G400" },
|
||||
+ { FB_ACCEL_NV3, "nVidia RIVA 128" },
|
||||
+ { FB_ACCEL_NV4, "nVidia RIVA TNT" },
|
||||
+ { FB_ACCEL_NV5, "nVidia RIVA TNT2" },
|
||||
+ { FB_ACCEL_CT_6555x, "C&T 6555x" },
|
||||
+ { FB_ACCEL_3DFX_BANSHEE, "3Dfx Banshee" },
|
||||
+ { FB_ACCEL_ATI_RAGE128, "ATI Rage128 family" },
|
||||
+ { FB_ACCEL_ATI_RADEON, "ATI Radeon family" },
|
||||
+ { FB_ACCEL_IGS_CYBER2000, "CyberPro 2000" },
|
||||
+ { FB_ACCEL_IGS_CYBER2010, "CyberPro 2010" },
|
||||
+ { FB_ACCEL_IGS_CYBER5000, "CyberPro 5000" },
|
||||
+ { FB_ACCEL_SIS_GLAMOUR, "SiS 300/630/540" },
|
||||
+ { FB_ACCEL_SIS_GLAMOUR_2, "SiS 315/650/740" },
|
||||
+ { FB_ACCEL_SIS_XABRE, "SiS 330 (Xabre)" },
|
||||
+ { FB_ACCEL_3DLABS_PERMEDIA3, "3Dlabs Permedia 3" },
|
||||
+ { FB_ACCEL_I810, "Intel 810/815" },
|
||||
+ { FB_ACCEL_I830, "Intel 830M/845G/85x/865G" },
|
||||
+ { FB_ACCEL_NEOMAGIC_NM2070, "NeoMagic NM2070" },
|
||||
+ { FB_ACCEL_NEOMAGIC_NM2090, "NeoMagic NM2090" },
|
||||
+ { FB_ACCEL_NEOMAGIC_NM2093, "NeoMagic NM2093" },
|
||||
+ { FB_ACCEL_NEOMAGIC_NM2097, "NeoMagic NM2097" },
|
||||
+ { FB_ACCEL_NEOMAGIC_NM2160, "NeoMagic NM2160" },
|
||||
+ { FB_ACCEL_NEOMAGIC_NM2200, "NeoMagic NM2200" },
|
||||
+ { FB_ACCEL_NEOMAGIC_NM2230, "NeoMagic NM2230" },
|
||||
+ { FB_ACCEL_NEOMAGIC_NM2360, "NeoMagic NM2360" },
|
||||
+ { FB_ACCEL_NEOMAGIC_NM2380, "NeoMagic NM2380" },
|
||||
+ { FB_ACCEL_PXA3XX, "PXA3xx" },
|
||||
+ { FB_ACCEL_SAVAGE4, "S3 Savage4" },
|
||||
+ { FB_ACCEL_SAVAGE3D, "S3 Savage3D" },
|
||||
+ { FB_ACCEL_SAVAGE3D_MV, "S3 Savage3D-MV" },
|
||||
+ { FB_ACCEL_SAVAGE2000, "S3 Savage2000" },
|
||||
+ { FB_ACCEL_SAVAGE_MX_MV, "S3 Savage/MX-MV" },
|
||||
+ { FB_ACCEL_SAVAGE_MX, "S3 Savage/MX" },
|
||||
+ { FB_ACCEL_SAVAGE_IX_MV, "S3 Savage/IX-MV" },
|
||||
+ { FB_ACCEL_SAVAGE_IX, "S3 Savage/IX" },
|
||||
+ { FB_ACCEL_PROSAVAGE_PM, "S3 ProSavage PM133" },
|
||||
+ { FB_ACCEL_PROSAVAGE_KM, "S3 ProSavage KM133" },
|
||||
+ { FB_ACCEL_S3TWISTER_P, "S3 Twister" },
|
||||
+ { FB_ACCEL_S3TWISTER_K, "S3 TwisterK" },
|
||||
+ { FB_ACCEL_SUPERSAVAGE, "S3 Supersavage" },
|
||||
+ { FB_ACCEL_PROSAVAGE_DDR, "S3 ProSavage DDR" },
|
||||
+ { FB_ACCEL_PROSAVAGE_DDRK, "S3 ProSavage DDR-K" },
|
||||
+ { FB_ACCEL_PUV3_UNIGFX, "PKUnity-v3 Unigfx" },
|
||||
+ { FB_ACCEL_NV_10, "nVidia Arch 10" },
|
||||
+ { FB_ACCEL_NV_20, "nVidia Arch 20" },
|
||||
+ { FB_ACCEL_NV_30, "nVidia Arch 30" },
|
||||
+ { FB_ACCEL_NV_40, "nVidia Arch 40" },
|
||||
+ { FB_ACCEL_XGI_VOLARI_V, "XGI Volari V3XT, V5, V8" },
|
||||
+ { FB_ACCEL_XGI_VOLARI_Z, "XGI Volari Z7" },
|
||||
+ { FB_ACCEL_OMAP1610, "TI OMAP16xx" },
|
||||
+ { FB_ACCEL_TRIDENT_TGUI, "Trident TGUI" },
|
||||
+ { FB_ACCEL_TRIDENT_3DIMAGE, "Trident 3DImage" },
|
||||
+ { FB_ACCEL_TRIDENT_BLADE3D, "Trident Blade3D" },
|
||||
+ { FB_ACCEL_TRIDENT_BLADEXP, "Trident BladeXP" },
|
||||
+ { FB_ACCEL_CIRRUS_ALPINE, "Cirrus Logic 543x/544x/5480" },
|
||||
};
|
||||
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
Status: sent-upstream
|
||||
|
||||
---
|
||||
modes.l | 6 ++++++
|
||||
modes.y | 4 ++--
|
||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/modes.l
|
||||
+++ b/modes.l
|
||||
@@ -99,6 +99,7 @@ static const char *CopyString(const char
|
||||
|
||||
keyword [a-zA-Z][a-zA-Z0-9]*
|
||||
number [0-9]*
|
||||
+colors [0-9/,]*
|
||||
string \"[^\"\n]*\"
|
||||
comment \#([^\n]*)
|
||||
space [ \t]+
|
||||
@@ -115,6 +116,11 @@ junk .
|
||||
return NUMBER;
|
||||
}
|
||||
|
||||
+{colors} {
|
||||
+ yylval = (unsigned long)CopyString(yytext);
|
||||
+ return COLORS;
|
||||
+ }
|
||||
+
|
||||
{string} {
|
||||
yylval = (unsigned long)CopyString(yytext);
|
||||
return STRING;
|
||||
--- a/modes.y
|
||||
+++ b/modes.y
|
||||
@@ -42,7 +42,7 @@ static void ClearVideoMode(void)
|
||||
|
||||
%token MODE GEOMETRY TIMINGS HSYNC VSYNC CSYNC GSYNC EXTSYNC BCAST LACED DOUBLE
|
||||
RGBA NONSTD ACCEL GRAYSCALE
|
||||
- ENDMODE POLARITY BOOLEAN STRING NUMBER
|
||||
+ ENDMODE POLARITY BOOLEAN STRING NUMBER COLORS
|
||||
|
||||
%%
|
||||
|
||||
@@ -148,7 +148,7 @@ double : DOUBLE BOOLEAN
|
||||
}
|
||||
;
|
||||
|
||||
-rgba : RGBA STRING
|
||||
+rgba : RGBA COLORS
|
||||
{
|
||||
makeRGBA(&VideoMode, (const char*)$2);
|
||||
}
|
|
@ -0,0 +1,103 @@
|
|||
Status: sent-upstream
|
||||
# Sent part of it, not the indentation fixes, nor the con2fbmap.
|
||||
|
||||
---
|
||||
Makefile | 88 +++++++++++++++++++++++++++++++++++++--------------------------
|
||||
1 file changed, 53 insertions(+), 35 deletions(-)
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -2,40 +2,58 @@
|
||||
# Linux Frame Buffer Device Configuration
|
||||
#
|
||||
|
||||
-CC = gcc -Wall -O2 -I.
|
||||
-BISON = bison -d
|
||||
-FLEX = flex
|
||||
-INSTALL = install
|
||||
-RM = rm -f
|
||||
-
|
||||
-All: fbset
|
||||
-
|
||||
-
|
||||
-fbset: fbset.o modes.tab.o lex.yy.o
|
||||
-
|
||||
-fbset.o: fbset.c fbset.h fb.h
|
||||
-modes.tab.o: modes.tab.c fbset.h fb.h
|
||||
-lex.yy.o: lex.yy.c fbset.h modes.tab.h
|
||||
-
|
||||
-lex.yy.c: modes.l
|
||||
- $(FLEX) modes.l
|
||||
-
|
||||
-modes.tab.c: modes.y
|
||||
- $(BISON) modes.y
|
||||
-
|
||||
-install: fbset
|
||||
- if [ -f /sbin/fbset ]; then rm /sbin/fbset; fi
|
||||
- $(INSTALL) fbset /usr/sbin
|
||||
- $(INSTALL) fbset.8 /usr/man/man8
|
||||
- $(INSTALL) fb.modes.5 /usr/man/man5
|
||||
- if [ ! -c /dev/fb0 ]; then mknod /dev/fb0 c 29 0; fi
|
||||
- if [ ! -c /dev/fb1 ]; then mknod /dev/fb1 c 29 32; fi
|
||||
- if [ ! -c /dev/fb2 ]; then mknod /dev/fb2 c 29 64; fi
|
||||
- if [ ! -c /dev/fb3 ]; then mknod /dev/fb3 c 29 96; fi
|
||||
- if [ ! -c /dev/fb4 ]; then mknod /dev/fb4 c 29 128; fi
|
||||
- if [ ! -c /dev/fb5 ]; then mknod /dev/fb5 c 29 160; fi
|
||||
- if [ ! -c /dev/fb6 ]; then mknod /dev/fb6 c 29 192; fi
|
||||
- if [ ! -c /dev/fb7 ]; then mknod /dev/fb7 c 29 224; fi
|
||||
+srcdir = .
|
||||
+
|
||||
+CC = gcc
|
||||
+CFLAGS = -Wall -O2
|
||||
+BISON = bison -d
|
||||
+FLEX = flex
|
||||
+INSTALL = install
|
||||
+INSTALL_PROGRAM = $(INSTALL) -m 755
|
||||
+INSTALL_DATA = $(INSTALL) -m 644
|
||||
+RM = rm -f
|
||||
+
|
||||
+all: fbset con2fbmap
|
||||
+
|
||||
+fbset: fbset.o modes.tab.o lex.yy.o
|
||||
+
|
||||
+fbset.o: fbset.c fbset.h fb.h
|
||||
+modes.tab.o: modes.tab.c fbset.h fb.h
|
||||
+lex.yy.o: lex.yy.c fbset.h modes.tab.h
|
||||
+
|
||||
+lex.yy.c: modes.l
|
||||
+ $(FLEX) $<
|
||||
+
|
||||
+modes.tab.c modes.tab.h: modes.y
|
||||
+ $(BISON) $<
|
||||
+
|
||||
+con2fbmap: con2fbmap.o
|
||||
+con2fbmap.o: con2fbmap.c
|
||||
+
|
||||
+install: fbset
|
||||
+ $(INSTALL) -d $(DESTDIR)/etc
|
||||
+ $(INSTALL) -d $(DESTDIR)/bin
|
||||
+ $(INSTALL) -d $(DESTDIR)/usr/share/man/man1
|
||||
+ $(INSTALL) -d $(DESTDIR)/usr/share/man/man5
|
||||
+ $(INSTALL_DATA) $(srcdir)/etc/fb.modes.ATI $(DESTDIR)/etc/fb.modes
|
||||
+ $(INSTALL_DATA) $(srcdir)/fb.modes.5 $(DESTDIR)/usr/share/man/man5
|
||||
+ $(INSTALL_PROGRAM) fbset $(DESTDIR)/bin
|
||||
+ $(INSTALL_DATA) $(srcdir)/fbset.8 $(DESTDIR)/usr/share/man/man1/fbset.1
|
||||
+ $(INSTALL_PROGRAM) $(srcdir)/modeline2fb $(DESTDIR)/bin
|
||||
+ $(INSTALL_DATA) $(srcdir)/modeline2fb.1 $(DESTDIR)/usr/share/man/man1
|
||||
+ $(INSTALL_PROGRAM) con2fbmap $(DESTDIR)/bin
|
||||
+ $(INSTALL_DATA) $(srcdir)/con2fbmap.1 $(DESTDIR)/usr/share/man/man1
|
||||
+
|
||||
+install-devices:
|
||||
+ if [ ! -c /dev/fb0 ]; then mknod $(DESTDIR)/dev/fb0 c 29 0; fi
|
||||
+ if [ ! -c /dev/fb1 ]; then mknod $(DESTDIR)/dev/fb1 c 29 32; fi
|
||||
+ if [ ! -c /dev/fb2 ]; then mknod $(DESTDIR)/dev/fb2 c 29 64; fi
|
||||
+ if [ ! -c /dev/fb3 ]; then mknod $(DESTDIR)/dev/fb3 c 29 96; fi
|
||||
+ if [ ! -c /dev/fb4 ]; then mknod $(DESTDIR)/dev/fb4 c 29 128; fi
|
||||
+ if [ ! -c /dev/fb5 ]; then mknod $(DESTDIR)/dev/fb5 c 29 160; fi
|
||||
+ if [ ! -c /dev/fb6 ]; then mknod $(DESTDIR)/dev/fb6 c 29 192; fi
|
||||
+ if [ ! -c /dev/fb7 ]; then mknod $(DESTDIR)/dev/fb7 c 29 224; fi
|
||||
|
||||
clean:
|
||||
- $(RM) *.o fbset lex.yy.c modes.tab.c modes.tab.h
|
||||
+ $(RM) *.o fbset con2fbmap lex.yy.c modes.tab.c modes.tab.h
|
||||
+
|
|
@ -0,0 +1,243 @@
|
|||
Status: sent-upstream
|
||||
# Latest updates from 2010-04-12 for fbset.8 not sent.
|
||||
|
||||
---
|
||||
fb.modes.5 | 38 +++++++++++++++++++++++++++++++++++++-
|
||||
fbset.8 | 41 ++++++++++++++++++++++++++++++-----------
|
||||
modeline2fb.1 | 40 ++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 107 insertions(+), 12 deletions(-)
|
||||
|
||||
--- a/fb.modes.5
|
||||
+++ b/fb.modes.5
|
||||
@@ -1,4 +1,4 @@
|
||||
-.TH fb.modes 8 "Aug 1996" local "Linux frame buffer utils"
|
||||
+.TH fb.modes 5 2003-08-07 2.1 "Linux frame buffer utils"
|
||||
.SH NAME
|
||||
fb.modes \- frame buffer modes file
|
||||
.SH DESCRIPTION
|
||||
@@ -27,6 +27,9 @@ timings
|
||||
.br
|
||||
.B options
|
||||
.RI < value >
|
||||
+.br
|
||||
+.B rgba
|
||||
+.RI < red , green , blue , alpha >
|
||||
.RE
|
||||
endmode
|
||||
.SH OPTIONS
|
||||
@@ -74,6 +77,22 @@ horizontal sync length (in pixels)
|
||||
vertical sync length (in pixel lines)
|
||||
.RE
|
||||
.PP
|
||||
+rgba options (only valid with truecolor):
|
||||
+.RS
|
||||
+.TP
|
||||
+.I red
|
||||
+red color bitfields (in length or length/offset)
|
||||
+.TP
|
||||
+.I green
|
||||
+green color bitfields (in length or length/offset)
|
||||
+.TP
|
||||
+.I blue
|
||||
+blue color bitfields (in length or length/offset)
|
||||
+.TP
|
||||
+.I alpha
|
||||
+alpha color bitfields (in length or length/offset)
|
||||
+.RE
|
||||
+.PP
|
||||
other options:
|
||||
.RS
|
||||
the first value of this options is the default
|
||||
@@ -87,6 +106,14 @@ the vertical sync polarity
|
||||
.IR \fBcsync "\ {" low | high }
|
||||
the composite sync polarity
|
||||
.TP
|
||||
+.IR \fBgsync "\ {" low | high }
|
||||
+the sync on green polarity
|
||||
+.TP
|
||||
+.IR \fBbcast "\ {" false | true }
|
||||
+enable or disable broadcast modes. If enabled the frame buffer generates
|
||||
+the exact timings fot several broadcast modes (e.g. PAL or NTSC). Note that
|
||||
+this option may not be supported by every frame buffer
|
||||
+.TP
|
||||
.IR \fBextsync "\ {" false | true }
|
||||
enable or disable external resync. If enabled the sync timings are not
|
||||
generated by the frame buffer device and must be provided externally
|
||||
@@ -106,6 +133,15 @@ and this way the horizontal frequency ca
|
||||
same resolution can be displayed on different monitors, even if the
|
||||
horizontal frequency specification differs. Note that this option may not be
|
||||
supported by every frame buffer device
|
||||
+.TP
|
||||
+.IR \fBnostd "\ <" number >
|
||||
+select nonstandard video mode
|
||||
+.TP
|
||||
+.IR \fBaccel "\ {" false | true }
|
||||
+enable or disable hardware text acceleration
|
||||
+.TP
|
||||
+.IR \fBgrayscale "\ {" false | true }
|
||||
+enable or disable graylevels instead of colors
|
||||
.RE
|
||||
.SH INTERNALS
|
||||
Generally a frame buffer display is organized as follows:
|
||||
--- a/fbset.8
|
||||
+++ b/fbset.8
|
||||
@@ -1,4 +1,4 @@
|
||||
-.TH fbset 8 "July 1998" local "Linux frame buffer utils"
|
||||
+.TH fbset 1 2010-04-12 2.1 "Linux frame buffer utils"
|
||||
.SH NAME
|
||||
fbset \- show and modify frame buffer device settings
|
||||
.SH SYNOPSIS
|
||||
@@ -6,8 +6,6 @@ fbset \- show and modify frame buffer de
|
||||
.RI [ options ]
|
||||
.RI [ mode ]
|
||||
.SH DESCRIPTION
|
||||
-.B This documentation is out of date!!
|
||||
-.PP
|
||||
.B fbset
|
||||
is a system utility to show or change the settings of the frame buffer
|
||||
device. The frame buffer device provides a simple and unique interface to
|
||||
@@ -36,10 +36,8 @@ General options:
|
||||
.BR \-\-help ",\ " \-h
|
||||
display an usage information
|
||||
.TP
|
||||
-.BR \-\-now ",\ " \-n
|
||||
-change the video mode immediately. If no frame buffer device is given via
|
||||
-.B \-fb
|
||||
-, then this option is activated by default
|
||||
+.BR \-\-test
|
||||
+don't change, just test whether the mode is valid
|
||||
.TP
|
||||
.BR \-\-show ",\ " \-s
|
||||
display the video mode settings. This is default if no further option or
|
||||
@@ -66,14 +64,16 @@ display the timing information as it's n
|
||||
Frame buffer device nodes:
|
||||
.RS
|
||||
.TP
|
||||
+.BR \-\-all ",\ " \-a
|
||||
+change all virtual consoles on this device
|
||||
+.TP
|
||||
.BR \-fb "\ <" \fIdevice >
|
||||
.I device
|
||||
gives the frame buffer device node. If no device via
|
||||
.B \-fb
|
||||
is given,
|
||||
.I /dev/fb0
|
||||
is used
|
||||
-.TP
|
||||
.RE
|
||||
.PP
|
||||
Video mode database:
|
||||
@@ -86,6 +88,13 @@ see also
|
||||
.BR fb.modes (5)
|
||||
.RE
|
||||
.PP
|
||||
+Display bitfield colors:
|
||||
+.RS
|
||||
+.TP
|
||||
+.BR \-rgba "\ <" \fIred , \fIgreen , \fIblue , \fIalpha >
|
||||
+each in length or length/offset color format
|
||||
+.RE
|
||||
+.PP
|
||||
Display geometry:
|
||||
.RS
|
||||
.TP
|
||||
@@ -104,6 +113,10 @@ set virtual vertical resolution (in pixe
|
||||
.BR \-depth "\ <" \fIvalue >
|
||||
set display depth (in bits per pixel)
|
||||
.TP
|
||||
+.TP
|
||||
+.BR \-nonstd "\ <" \fIvalue >
|
||||
+select nonstandard video mode
|
||||
+.TP
|
||||
.BR \-\-geometry ",\ " \-g "\ ..."
|
||||
set all geometry parameters at once in the order
|
||||
.RI < xres >
|
||||
@@ -154,13 +167,16 @@ set all timing parameters at once in the
|
||||
.RI < hslen >
|
||||
.RI < vslen >,
|
||||
e.g.
|
||||
-.B \-g
|
||||
+.B \-t
|
||||
.I 35242 64 96 35 12 112 2
|
||||
.RE
|
||||
.PP
|
||||
Display flags:
|
||||
.RS
|
||||
.TP
|
||||
+.IR \fB\-accel "\ {" false | true }
|
||||
+set hardware text acceleration enable
|
||||
+.TP
|
||||
.IR \fB\-hsync "\ {" low | high }
|
||||
set the horizontal sync polarity
|
||||
.TP
|
||||
@@ -170,6 +186,9 @@ set the vertical sync polarity
|
||||
.IR \fB\-csync "\ {" low | high }
|
||||
set the composite sync polarity
|
||||
.TP
|
||||
+.IR \fB\-gsync "\ {" false | true }
|
||||
+set synch on green
|
||||
+.TP
|
||||
.IR \fB\-extsync "\ {" false | true }
|
||||
enable or disable external resync. If enabled the sync timings are not
|
||||
generated by the frame buffer device and must be provided externally
|
||||
@@ -217,7 +236,7 @@ insert the following in rc.local:
|
||||
.B fbset
|
||||
-fb
|
||||
.I /dev/fb0
|
||||
-vga
|
||||
+640x480\-60
|
||||
.sp
|
||||
.RE
|
||||
and make the used frame buffer device known to
|
||||
@@ -232,7 +251,7 @@ and make the used frame buffer device kn
|
||||
.br
|
||||
.I /etc/fb.modes
|
||||
.SH SEE ALSO
|
||||
-.BR fb.modes "(5), " fbdev (4)
|
||||
+.BR fb.modes "(5), " fbdev "(4), " /usr/share/doc/fbset/FAQ.gz
|
||||
.SH AUTHORS
|
||||
.TP
|
||||
Geert Uytterhoeven <Geert.Uytterhoeven@cs.kuleuven.ac.be>
|
||||
--- /dev/null
|
||||
+++ b/modeline2fb.1
|
||||
@@ -0,0 +1,40 @@
|
||||
+.TH modeline2fb 1 2006-01-18 2.1 "Linux frame buffer utils"
|
||||
+.SH NAME
|
||||
+modeline2fb \- simple modeline to fb.modes translator
|
||||
+.SH SYNOPSIS
|
||||
+.B modeline2fb
|
||||
+[\fIOPTION\fR] [\fIFILES\fR]
|
||||
+.SH DESCRIPTION
|
||||
+.PP
|
||||
+.I Modeline2fb
|
||||
+is a simple Perl script that converts XF86Config-style modelines to options
|
||||
+suitable for a fb.modes file.
|
||||
+.PP
|
||||
+Note that only one option can be successfully enabled at any particular time.
|
||||
+.SH OPTIONS
|
||||
+.TP
|
||||
+\fB\-d\fR, \fB\-\-depth\fR \fIdepth\fR
|
||||
+Use the given display depth (default is 8).
|
||||
+.TP
|
||||
+\fB\-h\fR \fB\-\-help\fR
|
||||
+Print out a help screen and exit.
|
||||
+.SH ADVANCED OPTIONS
|
||||
+.TP
|
||||
+\fB\-r\fR \fB\-\-rounding\fR \fIdiv\fR
|
||||
+Sets the vxres divisor (default is 128).
|
||||
+.TP
|
||||
+\fB\-x\fR \fB\-\-vxres\fR \fIX,X,X,...\fR
|
||||
+Sets extra vxres values.
|
||||
+.PP
|
||||
+[\fIFILES\fR] refers to one or more XF86Config files. Note that all modelines
|
||||
+must be in single-line format. If no files are given on the command line,
|
||||
+this program reads from standard in. This program will also write to
|
||||
+standard out.
|
||||
+.SH EXAMPLE
|
||||
+modeline2fb \-d 16 /etc/X11/XF86Config
|
||||
+.SH "SEE ALSO"
|
||||
+.BR fb.modes(5),
|
||||
+.BR XF86Config(5)
|
||||
+.SH AUTHOR
|
||||
+This manual page is a quick write-up for Debian done by Kevin Kreamer
|
||||
+<kkreamer@etherhogz.org>.
|
|
@ -0,0 +1,231 @@
|
|||
>From cb00e6fade39afdb2adb0727647e9c97ce0fd02c Mon Sep 17 00:00:00 2001
|
||||
From: David Kozub <zub@linux.fjfi.cvut.cz>
|
||||
Date: Thu, 7 Jun 2012 15:46:16 +0200
|
||||
Subject: [PATCH] add support for custom sync flags
|
||||
|
||||
---
|
||||
fb.modes.5 | 3 +++
|
||||
fbset.8 | 4 ++++
|
||||
fbset.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
fbset.h | 3 +++
|
||||
modes.l | 3 ++-
|
||||
modes.y | 10 +++++++++-
|
||||
6 files changed, 66 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/fb.modes.5
|
||||
+++ b/fb.modes.5
|
||||
@@ -120,6 +120,9 @@ generated by the frame buffer device and
|
||||
instead. Note that this option may not be supported by every frame buffer
|
||||
device
|
||||
.TP
|
||||
+.IR \fBsync "\ <" number >
|
||||
+custom sync flags (frame buffer driver dependent)
|
||||
+.TP
|
||||
.IR \fBlaced "\ {" false | true }
|
||||
enable or disable interlace. If enabled the display will be split in two
|
||||
frames, each frame contains only even and odd lines respectively. These two
|
||||
--- a/fbset.8
|
||||
+++ b/fbset.8
|
||||
@@ -191,6 +191,10 @@ generated by the frame buffer device and
|
||||
instead. Note that this option may not be supported by every frame buffer
|
||||
device
|
||||
.TP
|
||||
+.IR \fB\-sync "\ <" \fIvalue >
|
||||
+set custom sync flags. If specified, this value is bitwise or-ed to the
|
||||
+other sync flags. This is useful for drivers that use custom sync flags
|
||||
+.TP
|
||||
.IR \fB\-bcast "\ {" false | true }
|
||||
enable or disable broadcast modes. If enabled the frame buffer generates the
|
||||
exact timings for several broadcast modes (e.g. PAL or NTSC). Note that
|
||||
--- a/fbset.c
|
||||
+++ b/fbset.c
|
||||
@@ -16,6 +16,9 @@
|
||||
* Brad Midgley <brad@exodus.pht.com>:
|
||||
* -match
|
||||
*
|
||||
+ * David Kozub <zub@linux.fjfi.cvut.cz>:
|
||||
+ * -sync
|
||||
+ *
|
||||
*/
|
||||
|
||||
|
||||
@@ -52,6 +55,12 @@ struct inode;
|
||||
|
||||
|
||||
/*
|
||||
+ * Mask to zero-out all known sync flags
|
||||
+ */
|
||||
+#define FB_CUSTOM_SYNC_MASK ~(FB_SYNC_HOR_HIGH_ACT|FB_SYNC_VERT_HIGH_ACT| \
|
||||
+ FB_SYNC_COMP_HIGH_ACT|FB_SYNC_ON_GREEN|FB_SYNC_EXT|FB_SYNC_BROADCAST)
|
||||
+
|
||||
+ /*
|
||||
* Command Line Options
|
||||
*/
|
||||
|
||||
@@ -86,6 +95,7 @@ static const char *Opt_vsync = NULL;
|
||||
static const char *Opt_csync = NULL;
|
||||
static const char *Opt_gsync = NULL;
|
||||
static const char *Opt_extsync = NULL;
|
||||
+static const char *Opt_sync = NULL;
|
||||
static const char *Opt_bcast = NULL;
|
||||
static const char *Opt_laced = NULL;
|
||||
static const char *Opt_double = NULL;
|
||||
@@ -123,6 +133,7 @@ static struct {
|
||||
{ "-csync", &Opt_csync, 1 },
|
||||
{ "-gsync", &Opt_gsync, 1 },
|
||||
{ "-extsync", &Opt_extsync, 1 },
|
||||
+ { "-sync", &Opt_sync, 1 },
|
||||
{ "-bcast", &Opt_bcast, 1 },
|
||||
{ "-laced", &Opt_laced, 1 },
|
||||
{ "-double", &Opt_double, 1 },
|
||||
@@ -402,6 +413,7 @@ static void ConvertFromVideoMode(const s
|
||||
var->sync |= FB_SYNC_EXT;
|
||||
if (vmode->bcast == TRUE)
|
||||
var->sync |= FB_SYNC_BROADCAST;
|
||||
+ var->sync |= vmode->sync;
|
||||
if (vmode->laced == TRUE)
|
||||
var->vmode = FB_VMODE_INTERLACED;
|
||||
else if (vmode->dblscan == TRUE)
|
||||
@@ -445,6 +457,7 @@ static void ConvertToVideoMode(const str
|
||||
vmode->gsync = var->sync & FB_SYNC_ON_GREEN ? TRUE : FALSE;
|
||||
vmode->extsync = var->sync & FB_SYNC_EXT ? TRUE : FALSE;
|
||||
vmode->bcast = var->sync & FB_SYNC_BROADCAST ? TRUE : FALSE;
|
||||
+ vmode->sync = var->sync & FB_CUSTOM_SYNC_MASK;
|
||||
vmode->grayscale = var->grayscale;
|
||||
vmode->laced = FALSE;
|
||||
vmode->dblscan = FALSE;
|
||||
@@ -554,6 +567,27 @@ void makeRGBA(struct VideoMode *vmode, c
|
||||
}
|
||||
|
||||
/*
|
||||
+ * Take known bits from sync and set appropriate flags instead
|
||||
+ */
|
||||
+
|
||||
+void fixCustomSync(struct VideoMode *vmode)
|
||||
+{
|
||||
+ if (vmode->sync & FB_SYNC_HOR_HIGH_ACT)
|
||||
+ vmode->hsync = 1;
|
||||
+ if (vmode->sync & FB_SYNC_VERT_HIGH_ACT)
|
||||
+ vmode->vsync = 1;
|
||||
+ if (vmode->sync & FB_SYNC_COMP_HIGH_ACT)
|
||||
+ vmode->csync = 1;
|
||||
+ if (vmode->sync & FB_SYNC_ON_GREEN)
|
||||
+ vmode->gsync = 1;
|
||||
+ if (vmode->sync & FB_SYNC_EXT)
|
||||
+ vmode->extsync =1;
|
||||
+ if (vmode->sync & FB_SYNC_BROADCAST)
|
||||
+ vmode->bcast = 1;
|
||||
+ vmode->sync &= FB_CUSTOM_SYNC_MASK;
|
||||
+}
|
||||
+
|
||||
+ /*
|
||||
* Find a Video Mode
|
||||
*/
|
||||
|
||||
@@ -617,6 +651,12 @@ static void ModifyVideoMode(struct Video
|
||||
vmode->extsync = atoboolean(Opt_extsync);
|
||||
if (Opt_bcast)
|
||||
vmode->bcast = atoboolean(Opt_bcast);
|
||||
+ if (Opt_sync)
|
||||
+ {
|
||||
+ vmode->sync = strtoul(Opt_sync, NULL, 0);
|
||||
+ // call this only once all the other sync fields are determined!
|
||||
+ fixCustomSync(vmode);
|
||||
+ }
|
||||
if (Opt_laced)
|
||||
vmode->laced = atoboolean(Opt_laced);
|
||||
if (Opt_double)
|
||||
@@ -693,6 +733,8 @@ static void DisplayVModeInfo(struct Vide
|
||||
puts(" extsync true");
|
||||
if (vmode->bcast)
|
||||
puts(" bcast true");
|
||||
+ if (vmode->sync)
|
||||
+ printf(" sync 0x%x\n", vmode->sync);
|
||||
if (vmode->laced)
|
||||
puts(" laced true");
|
||||
if (vmode->dblscan)
|
||||
@@ -745,6 +787,8 @@ static void DisplayVModeInfo(struct Vide
|
||||
puts(" # Warning: XFree86 doesn't support extsync\n");
|
||||
if (vmode->bcast)
|
||||
printf(" \"bcast\"");
|
||||
+ if (vmode->sync)
|
||||
+ puts(" # Warning: XFree86 doesn't support custom sync values\n");
|
||||
if (vmode->accel_flags)
|
||||
puts(" # Warning: XFree86 doesn't support accel\n");
|
||||
if (vmode->grayscale)
|
||||
@@ -931,6 +975,7 @@ static void Usage(void)
|
||||
" -csync <value> : composite sync polarity (low or high)\n"
|
||||
" -gsync <value> : synch on green (false or true)\n"
|
||||
" -extsync <value> : external sync enable (false or true)\n"
|
||||
+ " -sync <value> : custom (driver specific) sync value\n"
|
||||
" -bcast <value> : broadcast enable (false or true)\n"
|
||||
" -laced <value> : interlace enable (false or true)\n"
|
||||
" -double <value> : doublescan enable (false or true)\n"
|
||||
--- a/fbset.h
|
||||
+++ b/fbset.h
|
||||
@@ -64,6 +64,8 @@ struct VideoMode {
|
||||
unsigned laced : 1;
|
||||
unsigned dblscan : 1;
|
||||
unsigned grayscale : 1;
|
||||
+ /* extra (fb driver specific) sync bits */
|
||||
+ __u32 sync;
|
||||
/* scanrates */
|
||||
double drate;
|
||||
double hrate;
|
||||
@@ -80,3 +82,4 @@ extern int yyparse(void);
|
||||
extern void Die(const char *fmt, ...) __attribute__ ((noreturn));
|
||||
extern void AddVideoMode(const struct VideoMode *vmode);
|
||||
extern void makeRGBA(struct VideoMode *vmode, const char* opt);
|
||||
+extern void fixCustomSync(struct VideoMode *vmode);
|
||||
--- a/modes.l
|
||||
+++ b/modes.l
|
||||
@@ -38,6 +38,7 @@ static struct keyword keywords[] = {
|
||||
{ "csync", CSYNC, 0 },
|
||||
{ "gsync", GSYNC, 0 },
|
||||
{ "extsync", EXTSYNC, 0 },
|
||||
+ { "sync", SYNC, 0 },
|
||||
{ "bcast", BCAST, 0 },
|
||||
{ "laced", LACED, 0 },
|
||||
{ "double", DOUBLE, 0 },
|
||||
@@ -98,7 +99,7 @@ static const char *CopyString(const char
|
||||
%}
|
||||
|
||||
keyword [a-zA-Z][a-zA-Z0-9]*
|
||||
-number [0-9]*
|
||||
+number (0x)?[0-9]*
|
||||
colors [0-9/,]*
|
||||
string \"[^\"\n]*\"
|
||||
comment \#([^\n]*)
|
||||
--- a/modes.y
|
||||
+++ b/modes.y
|
||||
@@ -40,7 +40,7 @@ static void ClearVideoMode(void)
|
||||
|
||||
%start file
|
||||
|
||||
-%token MODE GEOMETRY TIMINGS HSYNC VSYNC CSYNC GSYNC EXTSYNC BCAST LACED DOUBLE
|
||||
+%token MODE GEOMETRY TIMINGS HSYNC VSYNC CSYNC GSYNC EXTSYNC SYNC BCAST LACED DOUBLE
|
||||
RGBA NONSTD ACCEL GRAYSCALE
|
||||
ENDMODE POLARITY BOOLEAN STRING NUMBER COLORS
|
||||
|
||||
@@ -91,6 +91,7 @@ options : /* empty */
|
||||
| options csync
|
||||
| options gsync
|
||||
| options extsync
|
||||
+ | options sync
|
||||
| options bcast
|
||||
| options laced
|
||||
| options double
|
||||
@@ -130,6 +131,13 @@ extsync : EXTSYNC BOOLEAN
|
||||
}
|
||||
;
|
||||
|
||||
+sync: SYNC NUMBER
|
||||
+ {
|
||||
+ VideoMode.sync = $2;
|
||||
+ fixCustomSync(&VideoMode);
|
||||
+ }
|
||||
+ ;
|
||||
+
|
||||
bcast : BCAST BOOLEAN
|
||||
{
|
||||
VideoMode.bcast = $2;
|
|
@ -0,0 +1,10 @@
|
|||
01_kernel_fb.h.patch
|
||||
02_fb_modes.patch
|
||||
03_con2fbmap.patch
|
||||
04_fbset_warnings.patch
|
||||
06_fbset_usage.patch
|
||||
07_new_accels.patch
|
||||
08_rgba_keyword.patch
|
||||
10_build.patch
|
||||
11_manpages.patch
|
||||
add-support-for-custom-sync-flags.patch
|
|
@ -0,0 +1,30 @@
|
|||
# Template file for 'fbset'
|
||||
pkgname=fbset
|
||||
version=2.1
|
||||
revision=1
|
||||
patch_args="-Np1"
|
||||
short_desc="Framebuffer device maintenance program"
|
||||
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||
license="GPL-2"
|
||||
homepage="http://users.telenet.be/geertu/Linux/fbdev/"
|
||||
distfiles="http://ftp.de.debian.org/debian/pool/main/f/fbset/fbset_${version}.orig.tar.gz"
|
||||
checksum=517fa062d7b2d367f931a1c6ebb2bef84907077f0ce3f0c899e34490bbea9338
|
||||
|
||||
hostmakedepends="flex"
|
||||
makedepends="libfl-devel"
|
||||
|
||||
do_build() {
|
||||
sed -e 's,$(DESTDIR)/bin,$(DESTDIR)/usr/bin,g' -i Makefile
|
||||
make CC=$CC CFLAGS="$CFLAGS" ${makejobs}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
make DESTDIR=$DESTDIR PREFIX=/usr install
|
||||
}
|
||||
|
||||
fbset_package() {
|
||||
conf_files="/etc/fb.modes"
|
||||
pkg_install() {
|
||||
vmove all
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue