mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 22:53:51 +02:00
New package: fbset-2.1 (with Debian patches).
This commit is contained in:
parent
3d4825e31c
commit
b1c504efd1
12 changed files with 2402 additions and 0 deletions
1370
srcpkgs/fbset/patches/01_kernel_fb.h.patch
Normal file
1370
srcpkgs/fbset/patches/01_kernel_fb.h.patch
Normal file
File diff suppressed because it is too large
Load diff
135
srcpkgs/fbset/patches/02_fb_modes.patch
Normal file
135
srcpkgs/fbset/patches/02_fb_modes.patch
Normal file
|
@ -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)
|
||||||
|
#
|
110
srcpkgs/fbset/patches/03_con2fbmap.patch
Normal file
110
srcpkgs/fbset/patches/03_con2fbmap.patch
Normal file
|
@ -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);
|
||||||
|
+}
|
26
srcpkgs/fbset/patches/04_fbset_warnings.patch
Normal file
26
srcpkgs/fbset/patches/04_fbset_warnings.patch
Normal file
|
@ -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 : ");
|
26
srcpkgs/fbset/patches/06_fbset_usage.patch
Normal file
26
srcpkgs/fbset/patches/06_fbset_usage.patch
Normal file
|
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
69
srcpkgs/fbset/patches/07_new_accels.patch
Normal file
69
srcpkgs/fbset/patches/07_new_accels.patch
Normal file
|
@ -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" },
|
||||||
|
};
|
||||||
|
|
||||||
|
|
49
srcpkgs/fbset/patches/08_rgba_keyword.patch
Normal file
49
srcpkgs/fbset/patches/08_rgba_keyword.patch
Normal file
|
@ -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);
|
||||||
|
}
|
103
srcpkgs/fbset/patches/10_build.patch
Normal file
103
srcpkgs/fbset/patches/10_build.patch
Normal file
|
@ -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
|
||||||
|
+
|
243
srcpkgs/fbset/patches/11_manpages.patch
Normal file
243
srcpkgs/fbset/patches/11_manpages.patch
Normal file
|
@ -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>.
|
231
srcpkgs/fbset/patches/add-support-for-custom-sync-flags.patch
Normal file
231
srcpkgs/fbset/patches/add-support-for-custom-sync-flags.patch
Normal file
|
@ -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;
|
10
srcpkgs/fbset/patches/series
Normal file
10
srcpkgs/fbset/patches/series
Normal file
|
@ -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
|
30
srcpkgs/fbset/template
Normal file
30
srcpkgs/fbset/template
Normal file
|
@ -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…
Add table
Reference in a new issue