diff --git a/915resolution-config b/915resolution-config new file mode 100644 index 0000000..6f6efd6 --- /dev/null +++ b/915resolution-config @@ -0,0 +1,2 @@ +# Mode to overwrite +# RESOLUTION="58 1680 1050" diff --git a/915resolution-init b/915resolution-init new file mode 100644 index 0000000..d292866 --- /dev/null +++ b/915resolution-init @@ -0,0 +1,65 @@ +#!/bin/bash +# +# /etc/rc.d/init.d/915resolution +# +# Starts the 915resulution helper +# +# chkconfig: - 65 35 +# description: 915resolution tool +# processname: 915resolution +# Source function library. +. /etc/init.d/functions + +test -x /usr/sbin/915resolution || exit 0 + +RETVAL=0 +prog="915resolution" + +start() { + if [ -r /etc/sysconfig/915resolution ]; then + . /etc/sysconfig/915resolution + fi + if [ -n "$RESOLUTION" ]; then + echo -n $"Starting $prog: " + /usr/sbin/915resolution $RESOLUTION >/dev/null 2>&1 + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/915resolution + echo + fi +} + +stop() { + rm -f /var/lock/subsys/915resolution +} + +# +# See how we were called. +# +case "$1" in + start) + start + ;; + stop) + stop + ;; + reload|restart) + stop + start + RETVAL=$? + ;; + condrestart) + if [ -f /var/lock/subsys/915resolution ]; then + stop + start + fi + ;; + status) + [ -f /var/lock/subsys/915resolution ] + RETVAL=$? + ;; + *) + echo $"Usage: $0 {condrestart|start|stop|restart|reload|status}" + exit 1 +esac + +exit $RETVAL diff --git a/915resolution-pm-hook b/915resolution-pm-hook new file mode 100644 index 0000000..c6d3fe2 --- /dev/null +++ b/915resolution-pm-hook @@ -0,0 +1,11 @@ +#!/bin/sh + +case "$1" in + thaw|resume) + { /sbin/service 915resolution start ; } 2>/dev/null + ;; + *) + ;; +esac + +exit $? diff --git a/915resolution.spec b/915resolution.spec new file mode 100644 index 0000000..663be72 --- /dev/null +++ b/915resolution.spec @@ -0,0 +1,128 @@ +Name: 915resolution +Version: 0.5.3 +Release: 1%{?dist} +Summary: Intel video BIOS hack to support certain resolutions + +Group: User Interface/X Hardware Support +License: Public Domain +URL: http://www.geocities.com/stomljen/ +Source0: http://www.geocities.com/stomljen/%{name}-%{version}.tar.gz +Source1: %{name}-init +Source2: %{name}-config +Source3: %{name}-pm-hook +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +# this doesn't make much sense on ppc. That, and it fails to build :) +ExcludeArch: ppc ppc64 + +# simple "get it going" instructions +Source100: README.fedora + +# for the add/remove/condrestart service stuff. +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/chkconfig +Requires(preun): /sbin/service + + +%description +915resolution is a tool to modify the video BIOS of the 800 and 900 series +Intel graphics chipsets. This includes the 845G, 855G, and 865G chipsets, as +well as 915G, 915GM, and 945G chipsets. This modification is necessary to +allow the display of certain graphics resolutions for an Xorg or XFree86 +graphics server. + +915resolution's modifications of the BIOS are transient. There is no risk of +permanent modification of the BIOS. This also means that 915resolution must be +run every time the computer boots inorder for it's changes to take effect. + +915resolution is derived from the tool 855resolution. However, the code +differs substantially. 915resolution's code base is much simpler. +915resolution also allows the modification of bits per pixel. + +%prep +%setup -q + +# keep rpmlint from complaining.... +chmod -x dump_bios + +cp %{SOURCE100} . + +%build +make clean +make %{?_smp_mflags} + + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot}%{_sbindir} +cp %{name} %{buildroot}%{_sbindir} + +# ...and the associated support bits +mkdir -p %{buildroot}%{_sysconfdir}/rc.d/init.d +install -m 0755 -T %{SOURCE1} \ + %{buildroot}%{_sysconfdir}/rc.d/init.d/915resolution +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +install -m 0644 -T %{SOURCE2} \ + %{buildroot}%{_sysconfdir}/sysconfig/915resolution +mkdir -p %{buildroot}%{_sysconfdir}/pm/hooks +install -m 0755 -T %{SOURCE3} \ + %{buildroot}%{_sysconfdir}/pm/hooks/99resolution + + +%clean +rm -rf %{buildroot} + + +%post +# This adds the proper /etc/rc*.d links for the script +/sbin/chkconfig --add 915resolution + + +%preun +if [ $1 = 0 ]; then + /sbin/service 915resolution stop >/dev/null 2>&1 || : + /sbin/chkconfig --del 915resolution +fi + +# no postun scriptlet is provided to "restart" the service on upgrade as this +# doesn't seem entirely appropriate. explanations as to why this is wrong are +# welcome :) + +%files +%defattr(-,root,root,-) +%doc LICENSE.txt README* changes.log chipset_info.txt dump_bios +%{_sbindir}/* +%{_sysconfdir}/rc.d/init.d/* +%{_sysconfdir}/pm/hooks/* +%config(noreplace) %{_sysconfdir}/sysconfig/* + + +%changelog +* Fri May 18 2007 Chris Weyl +- add 'ppc64' to list of arches excluded from builds; no rebuild at this time + +* Mon Apr 30 2007 Chris Weyl 0.5.3-1 +- update to 0.5.3 + +* Thu Mar 01 2007 Chris Weyl 0.5.2-6 +- bump + +* Mon Feb 19 2007 Chris Weyl 0.5.2-5 +- add initscript infrastructure from Bojan Smojver, who kindly did most of the + work to implement it. Thanks Bojan! :) + +* Thu Dec 07 2006 Chris Weyl 0.5.2-4 +- bump + +* Tue Aug 01 2006 Chris Weyl 0.5.2-3 +- excludearch ppc + +* Tue Aug 01 2006 Chris Weyl 0.5.2-2 +- bump for build & release + +* Thu Jul 27 2006 Chris Weyl 0.5.2-1 +- bump release +- add README.fedora + +* Tue Jun 13 2006 Chris Weyl 0.5.2-0 +- Initial spec file for F-E diff --git a/README.fedora b/README.fedora new file mode 100644 index 0000000..94aaba7 --- /dev/null +++ b/README.fedora @@ -0,0 +1,18 @@ +Some simple instructions on getting this going under Fedora Core. + +It's important to note that the invocation of this program needs to be done +at least once, at boot, to install the correct values in the video BIOS's RAM +copy. Executing 915resolution requires root privs. + +Note that the intel xorg drivers are supposed to deal with displaying to +non-bios modes "real soon now"; hence this setup technique. + +Note also the prior method used has changed (but should still work), thanks to +an actual initscript framework :) + +1. Read README.txt, in this directory... Figure out the proper invocation of + the binary for your hardware. +2. Edit /etc/sysconfig/915resolution. Modify "RESOLUTION" to be the proper + modestring to pass 915resolution for your hardware. +3. Enjoy widescreen :) + diff --git a/dead.package b/dead.package deleted file mode 100644 index 9efd50a..0000000 --- a/dead.package +++ /dev/null @@ -1,5 +0,0 @@ -This package is obsolete past FC5, as the intel xorg driver now deals with -exactly the circumstances this package was designed to work around. - -Chris Weyl -Wed Aug 2 14:20:47 PDT 2006 diff --git a/sources b/sources new file mode 100644 index 0000000..5ca2d60 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +ed287778a53d02c31a7a6a52bc146291 915resolution-0.5.3.tar.gz