aboutsummaryrefslogtreecommitdiff
path: root/sysutils/915resolution
diff options
context:
space:
mode:
authorTim Bishop <tdb@FreeBSD.org>2007-07-09 15:56:36 +0000
committerTim Bishop <tdb@FreeBSD.org>2007-07-09 15:56:36 +0000
commit4bd67b1a80c82b20ca29b71d6eced967ccaefc26 (patch)
tree0b04f3ed91290b26428172425bfe56e61785621e /sysutils/915resolution
parentdb89b73f660858e9f956951b5b6f6df92e469b9c (diff)
downloadports-4bd67b1a80c82b20ca29b71d6eced967ccaefc26.tar.gz
ports-4bd67b1a80c82b20ca29b71d6eced967ccaefc26.zip
Notes
Diffstat (limited to 'sysutils/915resolution')
-rw-r--r--sysutils/915resolution/Makefile19
-rw-r--r--sysutils/915resolution/distinfo6
-rw-r--r--sysutils/915resolution/files/915resolution.sh.in44
-rw-r--r--sysutils/915resolution/files/patch-915resolution.c118
4 files changed, 119 insertions, 68 deletions
diff --git a/sysutils/915resolution/Makefile b/sysutils/915resolution/Makefile
index 2a47c618b114..8faaebd3035f 100644
--- a/sysutils/915resolution/Makefile
+++ b/sysutils/915resolution/Makefile
@@ -5,8 +5,7 @@
# $FreeBSD$
PORTNAME= 915resolution
-PORTVERSION= 0.5.2
-PORTREVISION= 1
+PORTVERSION= 0.5.3
PORTEPOCH= 1
CATEGORIES= sysutils
MASTER_SITES= http://www.geocities.com/stomljen/ \
@@ -16,14 +15,16 @@ MASTER_SITE_SUBDIR= ehaupt
MAINTAINER= MrL0Lz@gmail.com
COMMENT= Resolution tool for Intel i915 video cards
-PLIST_FILES= bin/915resolution
-ALL_TARGET= 915resolution
+USE_RC_SUBR= 915resolution.sh
+
+PLIST_FILES= sbin/915resolution
+PORTDOCS= README.txt chipset_info.txt
ONLY_FOR_ARCHS= i386
.include <bsd.port.pre.mk>
-.if ${OSVERSION} < 500000
+.if ${OSVERSION} < 600034
BROKEN= Does not build
.endif
@@ -32,6 +33,12 @@ do-build:
${CC} ${CFLAGS} 915resolution.c -o 915resolution
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/915resolution ${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/915resolution ${PREFIX}/sbin
+.if !defined(NOPORTDOCS)
+ ${INSTALL} -o ${DOCOWN} -g ${DOCGRP} -m ${BINMODE} -d ${DOCSDIR}
+.for f in ${PORTDOCS}
+ ${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR}
+.endfor
+.endif
.include <bsd.port.post.mk>
diff --git a/sysutils/915resolution/distinfo b/sysutils/915resolution/distinfo
index ccdb58f8b673..77c11c8e8966 100644
--- a/sysutils/915resolution/distinfo
+++ b/sysutils/915resolution/distinfo
@@ -1,3 +1,3 @@
-MD5 (915resolution-0.5.2.tar.gz) = a3441e5662c5ff1e00dc97de4487e8f8
-SHA256 (915resolution-0.5.2.tar.gz) = 98827dd5adb5ffb5e415b2b28364033ffc173796555051ef52983ec5df77b6d4
-SIZE (915resolution-0.5.2.tar.gz) = 21183
+MD5 (915resolution-0.5.3.tar.gz) = ed287778a53d02c31a7a6a52bc146291
+SHA256 (915resolution-0.5.3.tar.gz) = b64cab834b5e410bca555dc9db8e69f62f6f02496942f35ff4a68f3f27f1b542
+SIZE (915resolution-0.5.3.tar.gz) = 22583
diff --git a/sysutils/915resolution/files/915resolution.sh.in b/sysutils/915resolution/files/915resolution.sh.in
new file mode 100644
index 000000000000..ebb24c78596e
--- /dev/null
+++ b/sysutils/915resolution/files/915resolution.sh.in
@@ -0,0 +1,44 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: i915resolution
+# REQUIRE: mountcritremote
+# BEFORE: SERVERS
+# KEYWORD: nojail
+
+# Define these i915resolution_* variables in one of these files:
+# /etc/rc.conf
+# /etc/rc.conf.local
+# /etc/rc.conf.d/i915resolution
+#
+# DO NOT CHANGE THESE DEFAULT VALUES HERE
+#
+i915resolution_enable=${i915resolution_enable:-"NO"} # Enable hacking VBIOS resolution (YES/NO)
+i915resolution_modes=${i915resolution_modes:-"3c 4d 5c"}# Space separated list of modes to set
+i915resolution_width=${i915resolution_width:-"1920"} # the horisontal resolution in pixels
+i915resolution_height=${i915resolution_height:-"1080"} # the vertical resolution in pixels
+
+. %%RC_SUBR%%
+
+name="i915resolution"
+rcvar=`set_rcvar`
+command="%%PREFIX%%/sbin/915resolution"
+start_cmd="${name}_start"
+stop_cmd=":"
+status_cmd="${command} -l"
+extra_commands="status"
+
+i915resolution_start()
+{
+ local mode
+
+ ${status_cmd} | grep '^Chipset:'
+ for mode in ${i915resolution_modes}; do
+ ${command} ${mode} ${i915resolution_width} ${i915resolution_height} | tail -n 1
+ done
+}
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/sysutils/915resolution/files/patch-915resolution.c b/sysutils/915resolution/files/patch-915resolution.c
index 2ba27437d5c7..35adaa38ba01 100644
--- a/sysutils/915resolution/files/patch-915resolution.c
+++ b/sysutils/915resolution/files/patch-915resolution.c
@@ -1,5 +1,5 @@
---- 915resolution.c.orig Fri Feb 3 01:28:34 2006
-+++ 915resolution.c Sun Oct 15 20:39:56 2006
+--- 915resolution.c.orig Sun Apr 15 06:46:56 2007
++++ 915resolution.c Sun Apr 15 06:46:56 2007
@@ -21,8 +21,10 @@
#define __USE_GNU
#include <string.h>
@@ -12,7 +12,7 @@
#include <unistd.h>
#include <assert.h>
-@@ -161,7 +163,8 @@
+@@ -165,7 +167,8 @@
void initialize_system(char * filename) {
if (!filename) {
@@ -22,7 +22,7 @@
perror("Unable to obtain the proper IO permissions");
exit(2);
}
-@@ -169,7 +172,7 @@
+@@ -173,7 +176,7 @@
}
cardinal get_chipset_id(void) {
@@ -31,60 +31,60 @@
return inl(0xcfc);
}
-@@ -476,11 +479,11 @@
- case CT_UNKWN:
- break;
- case CT_855GM:
-- outl(0x8000005a, 0xcf8);
-+ OUTL(0x8000005a, 0xcf8);
- map->b1 = inb(0xcfe);
-
-- outl(0x8000005a, 0xcf8);
-- outb(0x33, 0xcfe);
-+ OUTL(0x8000005a, 0xcf8);
-+ OUTB(0x33, 0xcfe);
- break;
- case CT_845G:
- case CT_865G:
-@@ -488,13 +491,13 @@
- case CT_915GM:
- case CT_945G:
- case CT_945GM:
-- outl(0x80000090, 0xcf8);
-+ OUTL(0x80000090, 0xcf8);
- map->b1 = inb(0xcfd);
- map->b2 = inb(0xcfe);
-
-- outl(0x80000090, 0xcf8);
-- outb(0x33, 0xcfd);
-- outb(0x33, 0xcfe);
-+ OUTL(0x80000090, 0xcf8);
-+ OUTB(0x33, 0xcfd);
-+ OUTB(0x33, 0xcfe);
- break;
- }
+@@ -496,11 +499,11 @@
+ break;
+ case CT_830:
+ case CT_855GM:
+- outl(0x8000005a, 0xcf8);
++ OUTL(0x8000005a, 0xcf8);
+ map->b1 = inb(0xcfe);
+
+- outl(0x8000005a, 0xcf8);
+- outb(0x33, 0xcfe);
++ OUTL(0x8000005a, 0xcf8);
++ OUTB(0x33, 0xcfe);
+ break;
+ case CT_845G:
+ case CT_865G:
+@@ -511,13 +514,13 @@
+ case CT_946GZ:
+ case CT_G965:
+ case CT_Q965:
+- outl(0x80000090, 0xcf8);
++ OUTL(0x80000090, 0xcf8);
+ map->b1 = inb(0xcfd);
+ map->b2 = inb(0xcfe);
+
+- outl(0x80000090, 0xcf8);
+- outb(0x33, 0xcfd);
+- outb(0x33, 0xcfe);
++ OUTL(0x80000090, 0xcf8);
++ OUTB(0x33, 0xcfd);
++ OUTB(0x33, 0xcfe);
+ break;
}
-@@ -526,8 +529,8 @@
- case CT_UNKWN:
- break;
- case CT_855GM:
-- outl(0x8000005a, 0xcf8);
-- outb(map->b1, 0xcfe);
-+ OUTL(0x8000005a, 0xcf8);
-+ OUTB(map->b1, 0xcfe);
- break;
- case CT_845G:
- case CT_865G:
-@@ -535,9 +538,9 @@
- case CT_915GM:
- case CT_945G:
- case CT_945GM:
-- outl(0x80000090, 0xcf8);
-- outb(map->b1, 0xcfd);
-- outb(map->b2, 0xcfe);
-+ OUTL(0x80000090, 0xcf8);
-+ OUTB(map->b1, 0xcfd);
-+ OUTB(map->b2, 0xcfe);
- break;
- }
+
+@@ -539,8 +542,8 @@
+ break;
+ case CT_830:
+ case CT_855GM:
+- outl(0x8000005a, 0xcf8);
+- outb(map->b1, 0xcfe);
++ OUTL(0x8000005a, 0xcf8);
++ OUTB(map->b1, 0xcfe);
+ break;
+ case CT_845G:
+ case CT_865G:
+@@ -551,9 +554,9 @@
+ case CT_946GZ:
+ case CT_G965:
+ case CT_Q965:
+- outl(0x80000090, 0xcf8);
+- outb(map->b1, 0xcfd);
+- outb(map->b2, 0xcfe);
++ OUTL(0x80000090, 0xcf8);
++ OUTB(map->b1, 0xcfd);
++ OUTB(map->b2, 0xcfe);
+ break;
}
+