diff options
-rw-r--r-- | sysutils/915resolution/Makefile | 19 | ||||
-rw-r--r-- | sysutils/915resolution/distinfo | 6 | ||||
-rw-r--r-- | sysutils/915resolution/files/915resolution.sh.in | 44 | ||||
-rw-r--r-- | sysutils/915resolution/files/patch-915resolution.c | 118 |
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; } + |