Author: adamwill
Update of /cvs/nonfree/rpms/xorg-x11-drv-psb/F-13
In directory se02.es.rpmfusion.net:/tmp/cvs-serv3704/F-13
Modified Files:
.cvsignore sources
Added Files:
01_disable_lid_timer.patch poulsbo-modprobe.conf
psb-config-display psb-init
xorg-x11-drv-psb-0.31.0-ignoreacpi.patch
xorg-x11-drv-psb-0.31.0-libdrm.patch
xorg-x11-drv-psb-0.31.0-stubs.patch
xorg-x11-drv-psb-0.31.0-xserver17.patch
xorg-x11-drv-psb-0.32.0-exa_header.patch
xorg-x11-drv-psb-0.32.0-mixed.patch
xorg-x11-drv-psb-0.32.0-xv.patch xorg-x11-drv-psb.spec
xserver-xorg-video-psb-0.31.0-assert.patch
xserver-xorg-video-psb-0.31.0-comment_unused.patch
xserver-xorg-video-psb-0.31.0-loader.patch
Log Message:
- initial import to F-13 branch (only 2D working for now)
01_disable_lid_timer.patch:
psb_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE 01_disable_lid_timer.patch ---
diff -Nurp xserver-xorg-video-psb-0.30.0+repack.orig/src/psb_driver.c
xserver-xorg-video-psb-0.30.0+repack/src/psb_driver.c
--- xserver-xorg-video-psb-0.30.0+repack.orig/src/psb_driver.c 2009-04-17
00:00:46.000000000 +0200
+++ xserver-xorg-video-psb-0.30.0+repack/src/psb_driver.c 2009-08-06 18:13:43.000000000
+0200
@@ -753,7 +753,7 @@ psbInitOutputs(ScrnInfoPtr pScrn)
xf86GetOptValBool(pPsb->options, OPTION_NOPANEL, &pPsb->noPanel);
- pPsb->lidTimer = TRUE;
+ pPsb->lidTimer = FALSE;
xf86GetOptValBool(pPsb->options, OPTION_LIDTIMER, &pPsb->lidTimer);
xf86GetOptValBool(pPsb->options, OPTION_NOFITTING, &pPsb->noFitting);
--- NEW FILE poulsbo-modprobe.conf ---
alias pci:v00008086d00008108sv*sd*bc*sc*i* psb
alias pci:v00008086d00008109sv*sd*bc*sc*i* psb
--- NEW FILE psb-config-display ---
#!/usr/bin/python -tt
# -*- coding: UTF-8 -*-
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 only
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# Copyright 2003, 2004 Peter Backlund
# Copyright 2004 Thorsten Leemhuis
# Copyright 2006 Van Assche Alphonse
# Copyright 2006, 2007 Stewart Adam
import string
import os
import sys
from livnaConfigDisplay.const import *
from livnaConfigDisplay.const import _
import livnaConfigDisplay.ConfigDisplay
from livnaConfigDisplay.GlxConfig import *
from livnaConfigDisplay import Utils
from livnaConfigDisplay.ConfigFile import ConfigFile
class psbConfigDisplay(GlxConfig):
def __init__(self):
GlxConfig.__init__(self)
self.majorVendor = 'psb'
self.ldconf = LD_CONF_FILE % (self.majorVendor)
try:
self.doAllBackups()
except livnaConfigDisplayError, (bkupErrMsg):
print bkupErrMsg
sys.exit(1)
self.xconfig, self.xconfigpath = self.loadXconfig()
self.config = ConfigFile(STATUS_FILE)
self.TOP_MOD_DIR = self.getModTopDir()
# finally, run arg checks.
self.run()
def enable(self, isAutoConfigure = True):
# Backup the file before make any change.
currentDriver = self.getDriver()
# Already enabled?
if currentDriver == self.majorVendor:
print _('Driver already enabled.')
return
# 'remembering' magic's in here.
self.config.setOldDriver(currentDriver)
#currentDriver = self.config.getOldDriver()
self.toggleDriver(currentDriver, self.majorVendor)
# Improves speed and reliability
self.addOption(self.majorVendor,"MigrationHeuristic",
"greedy")
Utils.writeXorgConf(self.xconfig, self.xconfigpath)
# We have to read saved status file to restore the Xorg configuration.
self.restoreconf()
def disable(self, isAutoConfigure = True):
# Check if it's already disabled
if self.getDriver() != self.majorVendor:
print _('Driver already disabled.')
return
# Backup the file before make any change.
prevDriver = self.config.getOldDriver()
if prevDriver == self.majorVendor:
print _('Will not allow reverting from driver \'%s\' to
\'%s\'.') % (self.majorVendor, self.majorVendor)
print _('Using the \'vesa\' driver instead.')
prevDriver = "vesa"
self.config.setOldDriver("vesa")
self.removeOption(self.majorVendor,"MigrationHeuristic")
self.toggleDriver(self.majorVendor, prevDriver)
Utils.writeXorgConf(self.xconfig, self.xconfigpath)
# We have to save the status file so it can be restored later
self.storeconf()
# And return to the Fedora default.
self.enableAiglx()
def printUsage(self):
print _("Usage: ") + self.majorVendor + _("-config-display [
enable|disable ]")
def run(self):
# Check number of arguments
# arg = action
if len(sys.argv) == 2:
arg = sys.argv[1]
else:
print _('Wrong number of arguments')
self.printUsage()
sys.exit(1)
# Check value of argument
if arg.lower() != "enable" and arg.lower() != "disable":
print _('Invalid command: %s') % arg.lower()
self.printUsage()
sys.exit(1)
try:
if arg == "enable":
if self.getActive():
self.enable()
else:
print _('livna-config-display\'s `active\' state is False
- Exiting')
elif arg == "disable":
if self.getActive():
self.disable()
except:
raise # Uncomment me to show the real error
print MSG_CONF_APPLY_ERROR
try:
self.doAllRestores()
sys.exit(1)
except livnaConfigDisplayError, (bkupErrMsg):
#raise # Uncomment me to show the real error
print MSG_CONF_RESTORE_ERROR + '\n' + MSG_TRACEBACK %
(str(errMsg)) + '\n\n' + str(bkupErrMsg)
sys.exit(1)
app = psbConfigDisplay()
--- NEW FILE psb-init ---
#!/bin/sh
#
# chkconfig: 2345 8 92
# description: This script will check if a psb kernel module is present for\
# the running kernel and modify the xorg.conf to the appropriate\
# configuration.
# Source function library.
. /etc/rc.d/init.d/functions
name='psb'
exec="/usr/sbin/$name-config-display"
prog="`basename $exec`"
lockfile="/var/lock/subsys/$name"
RETVAL=0
modname="psb.ko"
modpath="/lib/modules/$(uname -r)"
# Default to no module
module="noneWithSomeCrazyNameSoItsNeverFound"
# If one exists, then use it.
if test -e "${modpath}/extra/${modname}";then
module="${modpath}/extra/${modname}"
elif test -e "${modpath}/extra/psb/${modname}";then
module="${modpath}/extra/psb/${modname}"
elif test -e "${modpath}/kernel/drivers/video/psb/${modname}";then
module="${modpath}/kernel/drivers/video/psb/${modname}"
fi
# Try to modify the below the least possible. If you need to change something, try
# using the variables above first, as most of the program control is based on
# the variables above. If something really needs to be changed, try to make
# the change in all the drivers for the sake of consistency.
# We shouldn't use lock files anymore because the lock file
# doesn't mean a driver is disabled or enabled. For example, we start()
# at boot and enable the driver. start() makes a lock file. We stop() on
# shutdown, which removes the lock file. But what if the user ran *config-display
# manually? Or if we don't `*config-display disable` in stop()?
start() {
if action $"Checking for module $modname:" test -f $module;then
action $"Enabling the $name driver:" $exec enable
RETVAL=$?
else
echo -en $"$modname for kernel $(uname -r) was not found." &&
echo_warning;echo -en '\n'
echo -en $"The $name driver will not be enabled until one is found."
&& echo_warning;echo -en '\n'
$exec disable
RETVAL=1
fi
if [ "$RETVAL" -eq "0" ];then
#touch $lockfile
# this is a nothing assignment so that bash doesn't complain.
RETVAL=0
else
# Let them read the errors or warnings
sleep 3
fi
return
}
stop() {
#action $"Disabling the $name driver:" $exec disable
#RETVAL=$?
RETVAL=0
#if [ "$RETVAL" -eq 0 ];then
# rm -f $lockfile
#fi
return
}
restart() {
stop
start
}
reload() {
restart
}
status() {
#if [ -e $lockfile ];then
if [ -f $module ] && lsmod | grep ^${modname%%.ko} &>/dev/null
;then
echo $"$modname for kernel $(uname -r) was found."
echo $"The driver is enabled."
else
echo $"$modname for kernel $(uname -r) was not found."
echo $"The $name driver cannot be enabled until one is found."
fi
#else
# echo $"The $name driver has not been enabled."
#fi
RETVAL=0
}
fdrstatus() {
status $prog
}
case "$1" in
start|stop|restart|reload)
$1
;;
status)
fdrstatus
;;
condrestart)
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
exit 1
;;
esac
exit $RETVAL
xorg-x11-drv-psb-0.31.0-ignoreacpi.patch:
psb_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE xorg-x11-drv-psb-0.31.0-ignoreacpi.patch ---
--- xserver-xorg-video-psb-0.31.0/src/psb_driver.c 2009-04-17 11:22:26.000000000 -0700
+++ xserver-xorg-video-psb-0.31.0/src/psb_driver.c.new 2009-08-14 15:41:35.047596131
-0700
@@ -909,7 +909,7 @@
xf86DrvMsg(pScrn->scrnIndex, from, "Use %s cursor.\n",
pPsb->sWCursor ? "software" : "hardware");
- pPsb->ignoreACPI = FALSE;
+ pPsb->ignoreACPI = TRUE;
from =
xf86GetOptValBool(pPsb->options, OPTION_IGNORE_ACPI,
&pPsb->ignoreACPI)
xorg-x11-drv-psb-0.31.0-libdrm.patch:
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE xorg-x11-drv-psb-0.31.0-libdrm.patch ---
--- xserver-xorg-video-psb-0.31.0/configure.ac 2009-04-17 11:22:24.000000000 -0700
+++ xserver-xorg-video-psb-0.31.0/configure.ac.new 2009-08-11 09:26:55.384720283 -0700
@@ -99,7 +99,7 @@
AM_CONDITIONAL(DRI, test x$DRI = xyes)
if test "$DRI" = yes; then
- PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto])
+ PKG_CHECK_MODULES(DRI, [libdrm-poulsbo >= 2.0 xf86driproto])
AC_DEFINE(XF86DRI,1,[Enable DRI driver support])
AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support])
fi
xorg-x11-drv-psb-0.31.0-stubs.patch:
psb_driver.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
--- NEW FILE xorg-x11-drv-psb-0.31.0-stubs.patch ---
diff -p -up xserver-xorg-video-psb-0.31.0/src/psb_driver.c.orig
xserver-xorg-video-psb-0.31.0/src/psb_driver.c
--- xserver-xorg-video-psb-0.31.0/src/psb_driver.c.orig 2010-04-30 08:58:06.798598457
+0200
+++ xserver-xorg-video-psb-0.31.0/src/psb_driver.c 2010-04-30 09:03:04.186597975 +0200
@@ -643,6 +643,19 @@ psbPreInitDRI(ScrnInfoPtr pScrn)
return TRUE;
}
+/* removed in Xserver 1.7, add it again so that proprietary Xpsb can be loaded */
+void
+xf86AddModuleInfo(pointer info, pointer module)
+{
+}
+
+/* removed in mesa, add it again so that proprietary Xpsb can be loaded */
+typedef void (*_glapi_warning_func)(void *ctx, const char *str, ...);
+void
+_glapi_set_warning_func( _glapi_warning_func func )
+{
+}
+
static Bool
psbPreInitXpsb(ScrnInfoPtr pScrn)
{
xorg-x11-drv-psb-0.31.0-xserver17.patch:
Xpsb.h | 2 ++
i830_i2c.c | 2 ++
psb_driver.c | 4 +++-
psb_driver.h | 3 ++-
psb_video.c | 2 ++
5 files changed, 11 insertions(+), 2 deletions(-)
--- NEW FILE xorg-x11-drv-psb-0.31.0-xserver17.patch ---
--- xserver-xorg-video-psb-0.31.0/src/Xpsb.h 2009-04-17 11:22:26.000000000 -0700
+++ xserver-xorg-video-psb-0.31.0/src/Xpsb.h.new 2009-08-28 09:24:16.333677591 -0700
@@ -38,7 +38,9 @@
#include "xf86drm.h"
#include "xf86.h"
#include "xf86_OSproc.h"
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
#include "xf86Resources.h"
+#endif
#include "compiler.h"
#define XPSB_VOFFSET_X 0
--- xserver-xorg-video-psb-0.31.0/src/psb_driver.h 2009-04-17 11:22:25.000000000 -0700
+++ xserver-xorg-video-psb-0.31.0/src/psb_driver.h.new 2009-08-28 09:24:11.822679667
-0700
@@ -34,7 +34,6 @@
#include "xf86.h"
#include "xf86_OSproc.h"
-#include "xf86Resources.h"
#include "compiler.h"
#include "xf86PciInfo.h"
#include "vgaHW.h"
@@ -46,8 +45,10 @@
#include "xf86int10.h"
#include "mibank.h"
#include "dgaproc.h"
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
#include "xf86Resources.h"
#include "xf86RAC.h"
+#endif
#include "fb.h"
#include "xaa.h"
#include "xf86xv.h"
--- xserver-xorg-video-psb-0.31.0/src/i830_i2c.c 2009-04-17 11:22:24.000000000 -0700
+++ xserver-xorg-video-psb-0.31.0/src/i830_i2c.c.new 2009-08-28 09:33:06.789804272 -0700
@@ -31,8 +31,10 @@
#include "xf86.h"
#include "xf86_OSproc.h"
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
#include "xf86Resources.h"
#include "xf86RAC.h"
+#endif
#include "xf86cmap.h"
#include "compiler.h"
#include "mibstore.h"
--- xserver-xorg-video-psb-0.31.0/src/psb_video.c 2009-04-17 11:22:26.000000000 -0700
+++ xserver-xorg-video-psb-0.31.0/src/psb_video.c.new 2009-08-28 09:35:03.874805663 -0700
@@ -36,7 +36,9 @@
#include "xf86.h"
#include "xf86_OSproc.h"
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
#include "xf86Resources.h"
+#endif
#include "compiler.h"
#include "xf86xv.h"
--- xserver-xorg-video-psb-0.31.0/src/psb_driver.c 2009-04-17 11:22:26.000000000 -0700
+++ xserver-xorg-video-psb-0.31.0/src/psb_driver.c.new 2009-08-28 10:30:32.325553685
-0700
@@ -317,7 +317,7 @@
* This data is accessed by the loader. The name must be the module name
* followed by "ModuleData".
*/
-XF86ModuleData psbModuleData = { &psbVersionRec, psbSetup, NULL };
+_X_EXPORT XF86ModuleData psbModuleData = { &psbVersionRec, psbSetup, NULL };
static pointer
psbSetup(pointer Module, pointer Options, int *ErrorMajor, int *ErrorMinor)
@@ -1023,11 +1023,13 @@
PSB_DEBUG(scrnIndex, 3, "Initializing device\n");
+#ifndef XSERVER_LIBPCIACCESS
if (xf86RegisterResources(pDevice->pEnt->index, NULL, ResExclusive)) {
xf86DrvMsg(scrnIndex, X_ERROR,
"Could not registrer device. Resource conflict.\n");
return FALSE;
}
+#endif
if (!xf86LoadSubModule(pDevice->pScrns[0], "vgahw"))
return FALSE;
xorg-x11-drv-psb-0.32.0-exa_header.patch:
psb_accel.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE xorg-x11-drv-psb-0.32.0-exa_header.patch ---
--- xserver-xorg-video-psb-0.32.0/src/psb_accel.h 2009-05-11 18:37:53.000000000 -0700
+++ xserver-xorg-video-psb-0.32.0/src/psb_accel.h.new 2010-07-09 12:15:36.173298815 -0700
@@ -35,7 +35,7 @@
#define _PSB_ACCEL_H_
#include <xf86.h>
-#include "../exa/exa.h"
+#include "exa.h"
#include "psb_buffers.h"
#include "Xpsb.h"
xorg-x11-drv-psb-0.32.0-mixed.patch:
psb_accel.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
--- NEW FILE xorg-x11-drv-psb-0.32.0-mixed.patch ---
--- xserver-xorg-video-psb-0.32.1/src/psb_accel.c.orig 2010-07-04 19:27:48.691227698
+0200
+++ xserver-xorg-video-psb-0.32.1/src/psb_accel.c 2010-07-04 19:27:15.338230809 +0200
@@ -308,6 +308,14 @@
}
#endif
+static void*
+psbExaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth, int usage_hint, int bpp,
int* new_pitch )
+{
+ return NULL;
+}
+static void
+psbExaDestroyPixmap(ScreenPtr pScreen, void* driverPriv ){
+}
static Bool
psbExaPixmapIsOffscreen(PixmapPtr p)
{
@@ -1313,6 +1321,7 @@
pExa->pixmapOffsetAlign = 8;
pExa->pixmapPitchAlign = 32 * 4;
pExa->flags = EXA_OFFSCREEN_PIXMAPS;
+ pExa->flags |= EXA_HANDLES_PIXMAPS | EXA_MIXED_PIXMAPS;
pExa->maxX = 2047;
pExa->maxY = 2047;
pExa->WaitMarker = psbExaWaitMarker;
@@ -1328,6 +1337,9 @@
pExa->Composite = psbExaSuperComposite;
pExa->DoneComposite = psbExaDoneComposite;
pExa->PixmapIsOffscreen = psbExaPixmapIsOffscreen;
+ pExa->CreatePixmap = NULL;
+ pExa->CreatePixmap2 = psbExaCreatePixmap;
+ pExa->DestroyPixmap = psbExaDestroyPixmap;
pExa->PrepareAccess = psbExaPrepareAccess;
pExa->FinishAccess = psbExaFinishAccess;
pExa->UploadToScreen = psbExaUploadToScreen;
xorg-x11-drv-psb-0.32.0-xv.patch:
psb_video.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
--- NEW FILE xorg-x11-drv-psb-0.32.0-xv.patch ---
--- xserver-xorg-video-psb-0.36.0-ref/src/psb_video.c 2010-06-07 22:17:46.302760345 +0200
+++ xserver-xorg-video-psb-0.32/src/psb_video.c 2010-06-10 17:29:23.400003434 +0200
@@ -686,8 +684,13 @@
* coordinates) to the backing pixmap.
*/
- while (!psbExaGetSuperOffset(pPixmap, &pre_add, &dstBuf))
+ if(!psbExaGetSuperOffset(pPixmap, &pre_add, &dstBuf)){
exaMoveInPixmap(pPixmap);
+ if(!psbExaGetSuperOffset(pPixmap, &pre_add, &dstBuf)){
+ return FALSE;
+ }
+ }
+
dst.buffer = mmKernelBuf(dstBuf);
dst.offset = pre_add;
--- NEW FILE xorg-x11-drv-psb.spec ---
%global tarball xserver-xorg-video-psb
%global moduledir %(pkg-config xorg-server --variable=moduledir )
%global driverdir %{moduledir}/drivers
Summary: Intel GMA500 (Poulsbo) video driver
Name: xorg-x11-drv-psb
Version: 0.32.0
Release: 3%{?dist}
URL:
http://netbook-remix.archive.canonical.com/updates/pool/public/x/xserver-...
Source0:
http://netbook-remix.archive.canonical.com/updates/pool/public/x/xserver-...
# Causes psb module to be loaded when a GMA500 adapter PCI ID is found
# because the freaking module's too broken to include its own modalias
Source1: poulsbo-modprobe.conf
# Automates X.org configuration (stolen from the NVIDIA package)
Source2: psb-config-display
Source3: psb-init
# Look for the variant libdrm in the right place
Patch0: xorg-x11-drv-psb-0.31.0-libdrm.patch
# Don't do ACPI detection by default
Patch1: xorg-x11-drv-psb-0.31.0-ignoreacpi.patch
# Patch for X server 1.7
Patch2: xorg-x11-drv-psb-0.31.0-xserver17.patch
# From UNR: disable LidTimer option to suppress polling
Patch3: 01_disable_lid_timer.patch
# Further patches for X server 1.7 compatibility, all from Mandriva
Patch4: xserver-xorg-video-psb-0.31.0-loader.patch
Patch5: xserver-xorg-video-psb-0.31.0-comment_unused.patch
Patch6: xserver-xorg-video-psb-0.31.0-assert.patch
# Adapted version of xf86AddModuleInfo.patch that also adds a mesa function
# From Ubuntu community packages
Patch7: xorg-x11-drv-psb-0.31.0-stubs.patch
# Fix up an include of the internal exa.h rather than the public one
# Thanks Eric Piel
Patch8: xorg-x11-drv-psb-0.32.0-exa_header.patch
# From Yves De Muyter - fix problems with using 3D and video playback
Patch9: xorg-x11-drv-psb-0.32.0-mixed.patch
# From Yves - fix a problem with Xv
Patch10: xorg-x11-drv-psb-0.32.0-xv.patch
License: MIT
Group: User Interface/X Hardware Support
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if 0%{?fedora} > 11
ExclusiveArch: i686
%else %if 0%{?fedora} > 10
ExclusiveArch: i586
%else
ExclusiveArch: i386
%endif
BuildRequires: pkgconfig
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: xorg-x11-server-sdk
BuildRequires: xorg-x11-proto-devel
BuildRequires: libdrm-poulsbo-devel
BuildRequires: mesa-libGL-devel
BuildRequires: freeglut-devel
Requires: xorg-x11-server-Xorg >= 1.1.0
Requires: kmod-psb
Requires: psb-firmware
Requires: xpsb-glx
Requires: libdrm-poulsbo
Provides: psb-kmod-common
Requires: livna-config-display
Requires(post): livna-config-display
Requires(preun): livna-config-display
Requires(post): chkconfig
Requires(preun): chkconfig
%description
Video driver for the Intel GMA500 video chipset, also known as Poulsbo.
Note this driver depends on several proprietary pieces (and an
obsolete version of libdrm) to work, and is hence inappropriate for
submission to the main Fedora repositories.
%prep
%setup -q -n %{tarball}-%{version}
%patch0 -p1 -b .libdrm
%patch1 -p1 -b .ignoreacpi
%patch2 -p1 -b .xserver17
%patch3 -p1 -b .lidtimer
%patch4 -p1 -b .loader
%patch5 -p1 -b .unused
%patch6 -p1 -b .assert
%patch7 -p1 -b .addinfo
%patch8 -p1 -b .header
%patch9 -p1 -b .mixed
%patch10 -p1 -b .xv
iconv -f iso-8859-15 -t utf-8 -o man/psb.man.utf8 man/psb.man && mv
man/psb.man.utf8 man/psb.man
%build
autoreconf -i
export CFLAGS="%{optflags} -fvisibility=default"
%configure --disable-static
make
%install
rm -rf %{buildroot}
%makeinstall mandir=%{_mandir} DESTDIR=%{buildroot}
# FIXME: Remove all libtool archives (*.la) from modules directory. This
# should be fixed in upstream Makefile.am or whatever.
find %{buildroot} -regex ".*\.la$" | xargs rm -f --
mkdir -p %{buildroot}%{_sysconfdir}/modprobe.d
install -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/modprobe.d/poulsbo.conf
install -D -p -m 0755 %{SOURCE2} %{buildroot}%{_sbindir}/psb-config-display
install -D -p -m 0755 %{SOURCE3} %{buildroot}%{_initrddir}/psb
%clean
rm -rf %{buildroot}
%post
if [ "$1" -eq "1" ]; then
# Enable driver when installing
%{_sbindir}/psb-config-display enable &>/dev/null ||:
# Add init script and start it
/sbin/chkconfig --add psb ||:
%{_initrddir}/psb start &>/dev/null ||:
fi
%preun
if [ "$1" -eq "0" ]; then
# Disable driver on final removal
test -f %{_sbindir}/psb-config-display && %{_sbindir}/nvidia-config-display
disable &>/dev/null ||:
%{_initrddir}/psb stop &> /dev/null ||:
/sbin/chkconfig --del psb ||:
fi ||:
%files
%defattr(-,root,root,-)
%{driverdir}/psb_drv.so
%{driverdir}/libmm.so
%{_sbindir}/psb-config-display
%{_initrddir}/psb
%config %{_sysconfdir}/modprobe.d/poulsbo.conf
%{_mandir}/man4/*.4*
%changelog
* Thu Jul 15 2010 Adam Williamson <adamwill AT shaw DOT ca> - 0.32.0-3
- add patches from Yves de Muyter, Ubuntu community and Eric Piel for
later X compatibility
* Fri May 21 2010 Adam Williamson <adamwill AT shaw DOT ca> - 0.32.0-2
- add several patches from Olivier Blin at Mandriva for later X compatibility
* Thu Dec 3 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.32.0-1
- newer upstream release 0.32.0 (fixes a "single SDVO jitter issue")
- add 01_disable_lid_timer.patch from UNR: disable LidTimer option
by default to suppress polling for lid status every second
* Wed Sep 30 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-15
- change my email address in changelog to correct one for Fusion
* Fri Sep 25 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-14
- switch to requiring kmod-psb not akmod-psb now we're in rpmfusion
* Fri Aug 28 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-13
- update X server 1.7 patch with a further fix (thanks ajax)
* Fri Aug 28 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-12
- try and patch for X server 1.7 (F12)
* Mon Aug 24 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-11
- correct exclusivearch for rpmfusion buildsystem
* Thu Aug 20 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-10
- exclusivearch ix86 (there's no 64-bit poulsbo hardware)
- mark config file as config
- fix nvidia reference in comments of init script
* Wed Aug 19 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-9
- add another PCI ID to the modprobe config file
* Wed Aug 19 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-8
- fix up manpage character set
* Wed Aug 19 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-7
- drop greedy.patch as it doesn't seem to work (can't work out why)
- add xorg.conf handling initscript and script based on the ones used
in NVIDIA and ATI packages, including setting migration heuristic
in xorg.conf since the patch didn't work
* Fri Aug 14 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-6
- add greedy.patch: default to greedy migration heuristic (gives
better performance for multiple testers)
- add ignoreacpi.patch: default to ignoreACPI (required to avoid X
crashing for multiple testers)
* Tue Aug 11 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-5
- patch build to find newly relocated libdrm-poulsbo
* Mon Aug 10 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-4
- add a modprobe config file to make the kernel module auto-load (in
this package as it's doing the job of psb-kmod-common)
* Mon Aug 10 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-3
- Require akmod-psb not kmod-psb so I don't have to keep rebuilding
* Mon Aug 10 2009 Adam Williamson <adamwill AT shaw DOT ca> - 0.31.0-2
- Begin changelog tracking
xserver-xorg-video-psb-0.31.0-assert.patch:
mm_drm.c | 1 +
1 file changed, 1 insertion(+)
--- NEW FILE xserver-xorg-video-psb-0.31.0-assert.patch ---
diff -p -up xserver-xorg-video-psb-0.31.0/libmm/mm_drm.c.assert
xserver-xorg-video-psb-0.31.0/libmm/mm_drm.c
--- xserver-xorg-video-psb-0.31.0/libmm/mm_drm.c.assert 2010-04-26 13:40:50.000000000
+0200
+++ xserver-xorg-video-psb-0.31.0/libmm/mm_drm.c 2010-04-26 13:48:28.000000000 +0200
@@ -30,6 +30,7 @@
#include "xf86mm.h"
#include "xf86drm.h"
#include "stdio.h"
+#include <assert.h>
/*
* This is a simple wrapper around libdrm's buffer interface to be used
xserver-xorg-video-psb-0.31.0-comment_unused.patch:
mm_drm.c | 4 +++-
mm_interface.h | 4 +++-
mm_user.c | 2 ++
3 files changed, 8 insertions(+), 2 deletions(-)
--- NEW FILE xserver-xorg-video-psb-0.31.0-comment_unused.patch ---
diff -p -up xserver-xorg-video-psb-0.31.0/libmm/mm_drm.c.comment_unused
xserver-xorg-video-psb-0.31.0/libmm/mm_drm.c
--- xserver-xorg-video-psb-0.31.0/libmm/mm_drm.c.comment_unused 2009-04-17
20:22:26.000000000 +0200
+++ xserver-xorg-video-psb-0.31.0/libmm/mm_drm.c 2010-04-26 13:40:50.000000000 +0200
@@ -277,6 +277,7 @@ createFence(struct _MMManager *mm,
return &dFence->mf;
}
+/*
static void
fenceDestroy(struct _MMFence *mf)
{
@@ -288,6 +289,7 @@ fenceDestroy(struct _MMFence *mf)
assert(ret == 0);
free(dFence);
}
+*/
static int
fenceEmit(struct _MMFence *mf, unsigned fence_class,
@@ -369,7 +371,7 @@ mmCreateDRM(int drmFD)
mm->fenceSignaled = fenceSignaled;
mm->fenceWait = fenceWait;
mm->fenceError = NULL;
- mm->fenceDestroy = fenceDestroy;
+ /* mm->fenceDestroy = fenceDestroy; */
mm->destroy = destroy;
return mm;
diff -p -up xserver-xorg-video-psb-0.31.0/libmm/mm_interface.h.comment_unused
xserver-xorg-video-psb-0.31.0/libmm/mm_interface.h
--- xserver-xorg-video-psb-0.31.0/libmm/mm_interface.h.comment_unused 2009-04-17
20:22:26.000000000 +0200
+++ xserver-xorg-video-psb-0.31.0/libmm/mm_interface.h 2010-04-26 13:45:22.000000000
+0200
@@ -141,7 +141,7 @@ typedef struct _MMManager
int (*fenceWait) (struct _MMFence * mf, unsigned flushMask,
unsigned flags);
unsigned (*fenceError) (struct _MMFence * mf);
- void (*fenceDestroy) (struct _MMFence * mf);
+ /* void (*fenceDestroy) (struct _MMFence * mf); */
} MMManager;
/*
@@ -204,6 +204,7 @@ mmFenceEmit(struct _MMFence *mf, unsigne
return mf->man->fenceEmit(mf, class, type, flags);
}
+/*
static inline void
mmFenceUnReference(struct _MMFence **mfP)
{
@@ -214,6 +215,7 @@ mmFenceUnReference(struct _MMFence **mfP
}
*mfP = NULL;
}
+*/
static inline struct _MMFence *
mmFenceReference(struct _MMFence *mf)
diff -p -up xserver-xorg-video-psb-0.31.0/libmm/mm_user.c.comment_unused
xserver-xorg-video-psb-0.31.0/libmm/mm_user.c
--- xserver-xorg-video-psb-0.31.0/libmm/mm_user.c.comment_unused 2009-04-17
20:22:26.000000000 +0200
+++ xserver-xorg-video-psb-0.31.0/libmm/mm_user.c 2010-04-26 13:05:15.000000000 +0200
@@ -77,6 +77,7 @@ typedef struct _UserSignal
UserManager *man;
} UserSignal;
+/*
void
mmFenceSignal(struct _MMSignal *signal, unsigned class,
unsigned type, unsigned sequence, unsigned error,
@@ -148,6 +149,7 @@ mmFenceSignal(struct _MMSignal *signal,
type |= fence->signalPrevious;
}
}
+*/
static int
fenceEmit(struct _MMFence *mf, unsigned class, unsigned type, unsigned flags)
xserver-xorg-video-psb-0.31.0-loader.patch:
psb_dri.c | 2 --
psb_driver.c | 13 -------------
2 files changed, 15 deletions(-)
--- NEW FILE xserver-xorg-video-psb-0.31.0-loader.patch ---
diff -p -up xserver-xorg-video-psb-0.31.0/src/psb_dri.c.loader
xserver-xorg-video-psb-0.31.0/src/psb_dri.c
--- xserver-xorg-video-psb-0.31.0/src/psb_dri.c.loader 2009-04-17 20:22:24.000000000
+0200
+++ xserver-xorg-video-psb-0.31.0/src/psb_dri.c 2010-03-12 15:03:33.000000000 +0100
@@ -548,8 +548,6 @@ psbDRIScreenInit(ScreenPtr pScreen)
PSB_DEBUG(pScrn->scrnIndex, 3, "psbDRIScreenInit\n");
- xf86LoaderReqSymLists(driReqSymbols, NULL);
-
pPsb->pDRIInfo = NULL;
/*
diff -p -up xserver-xorg-video-psb-0.31.0/src/psb_driver.c.loader
xserver-xorg-video-psb-0.31.0/src/psb_driver.c
--- xserver-xorg-video-psb-0.31.0/src/psb_driver.c.loader 2010-03-12 13:48:52.000000000
+0100
+++ xserver-xorg-video-psb-0.31.0/src/psb_driver.c 2010-03-12 15:03:26.000000000 +0100
@@ -329,12 +329,6 @@ psbSetup(pointer Module, pointer Options
if (!Initialised) {
Initialised = TRUE;
xf86AddDriver(&psb, Module, 0);
- LoaderRefSymLists(fbSymbols, ddcSymbols, shadowSymbols,
- psbvgahwSymbols,
-#ifdef XF86DRI
- psbDRMSymbols, psbDRISymbols,
-#endif
- NULL);
return (pointer) TRUE;
}
@@ -639,7 +633,6 @@ psbPreInitDRI(ScrnInfoPtr pScrn)
if (!xf86LoadSubModule(pScrn, "dri"))
return FALSE;
- xf86LoaderReqSymLists(psbDRISymbols, psbDRMSymbols, NULL);
return TRUE;
}
@@ -660,7 +653,6 @@ psbPreInitXpsb(ScrnInfoPtr pScrn)
pPsb->xpsb = TRUE;
- xf86LoaderReqSymLists(psbXpsbSymbols, NULL);
return TRUE;
}
#endif
@@ -680,7 +672,6 @@ psbPreInitAccel(ScrnInfoPtr pScrn)
if (!xf86LoadSubModule(pScrn, "exa"))
return FALSE;
- xf86LoaderReqSymLists(exaSymbols, NULL);
}
xf86DrvMsg(pScrn->scrnIndex, from, "Acceleration %sabled\n",
@@ -720,7 +711,6 @@ psbPreInitShadowFB(ScrnInfoPtr pScrn)
if (!xf86LoadSubModule(pScrn, "shadow"))
return FALSE;
- xf86LoaderReqSymLists(shadowSymbols, NULL);
}
xf86DrvMsg(pScrn->scrnIndex, from, "Shadow framebuffer %sabled\n",
@@ -854,7 +844,6 @@ psbPreInit(ScrnInfoPtr pScrn, int flags)
if (!xf86LoadSubModule(pScrn, "vbe"))
return FALSE;
- xf86LoaderReqSymLists(vbeSymbols, NULL);
/*
* Parse options and load required modules here.
@@ -874,7 +863,6 @@ psbPreInit(ScrnInfoPtr pScrn, int flags)
if (!xf86LoadSubModule(pScrn, "fb"))
return (FALSE);
- xf86LoaderReqSymLists(fbSymbols, NULL);
pScrn->chipset = "Intel GMA500";
pScrn->monitor = pScrn->confScreen->monitor;
@@ -1033,7 +1021,6 @@ psbDeviceInit(PsbDevicePtr pDevice, int
if (!xf86LoadSubModule(pDevice->pScrns[0], "vgahw"))
return FALSE;
- xf86LoaderReqSymLists(psbvgahwSymbols, NULL);
if (!vgaHWGetHWRec(pDevice->pScrns[0]))
return FALSE;
Index: .cvsignore
===================================================================
RCS file: /cvs/nonfree/rpms/xorg-x11-drv-psb/F-13/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore 24 Sep 2009 15:21:18 -0000 1.1
+++ .cvsignore 15 Jul 2010 22:49:19 -0000 1.2
@@ -0,0 +1 @@
+xserver-xorg-video-psb_0.32.0.orig.tar.gz
Index: sources
===================================================================
RCS file: /cvs/nonfree/rpms/xorg-x11-drv-psb/F-13/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources 24 Sep 2009 15:21:18 -0000 1.1
+++ sources 15 Jul 2010 22:49:19 -0000 1.2
@@ -0,0 +1 @@
+65df9e204315705071edcc82109b477b xserver-xorg-video-psb_0.32.0.orig.tar.gz