Merge branch 'master' into openelec-pvr

This commit is contained in:
Gujs 2011-02-27 20:28:30 +01:00
commit 7dd6d8661a
19 changed files with 226 additions and 267 deletions

View File

@ -134,7 +134,7 @@ do_autoreconf() {
export AUTORECONF="$ROOT/$TOOLCHAIN/bin/autoreconf -v -f -i -I $ACLOCAL_DIR"
mkdir -p $ACLOCAL_DIR
autoreconf --verbose --force --install -I $ACLOCAL_DIR $@
autoreconf --force --install -I $ACLOCAL_DIR $@
fi
}

View File

@ -151,7 +151,7 @@ fi
fi
if [ -n "$MBR" ]; then
cat "MBR" > "$DISK"
cat "$MBR" > "$DISK"
fi
# syncing disk

View File

@ -27,7 +27,7 @@ PKG_SITE="http://www.kernel.org"
#PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/testing/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS="busybox linux-drivers linux-firmware"
PKG_BUILD_DEPENDS="toolchain busybox-hosttools"
PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz"
PKG_PRIORITY="optional"
PKG_SECTION="linux"
PKG_SHORTDESC="linux26: The Linux kernel 2.6 precompiled kernel binary image and modules"

View File

@ -2,16 +2,16 @@
<strings>
<!-- System -->
<string id="2000">System</string>
<string id="2000">Systeem</string>
<string id="2010">Toetsenbord</string>
<string id="2011">Toetsenbord layout</string>
<string id="2020">System Update</string>
<string id="2020">Systeem update</string>
<string id="2021">Auto update</string>
<string id="2050">LCD/VFD Driver</string>
<string id="2051">Te gebruiken LCD Driver</string>
<string id="2060">Wakeup</string>
<string id="2061">Update Video Database on Wakeup</string>
<string id="2062">Update Music Database on Wakeup</string>
<string id="2060">Services na slaapstand</string>
<string id="2061">Update video database na slaapstand</string>
<string id="2062">Update music database na slaapstand</string>
<!-- Netwerk -->
<string id="2100">Netwerk</string>
@ -20,7 +20,7 @@
<string id="2120">Netwerk apparaat</string>
<string id="2121">Netwerk soort</string>
<string id="2122">Netwerk apparaat of MAC adres</string>
<string id="2130">IP instelling</string>
<string id="2130">IP instellingen</string>
<string id="2131">Statisch IP adres</string>
<string id="2132">Netwerkprefix lengte</string>
<string id="2133">Netwerk gateway</string>

View File

@ -9,9 +9,9 @@
<string id="2021">Mise à jour automatique</string>
<string id="2050">LCD/VFD</string>
<string id="2051">Pilote LCD</string>
<string id="2060">Wakeup</string>
<string id="2061">Update Video Database on Wakeup</string>
<string id="2062">Update Music Database on Wakeup</string>
<string id="2060">Retour de veille</string>
<string id="2061">Mettre à jour la base Vidéo au retour de veille</string>
<string id="2062">Mettre à jour la base Musique au retour de veille</string>
<!-- Network -->
<string id="2100">Réseau</string>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<!-- System -->
<string id="2000">System</string>
<string id="2010">Tastatur</string>
<string id="2011">Språklayout</string>
<string id="2020">Systemoppdateringer</string>
<string id="2021">Oppdater Automatisk</string>
<string id="2050">LCD/VFD</string>
<string id="2051">LCD Driver</string>
<string id="2060">Vekke</string>
<string id="2061">Oppdater Video Database på vekking</string>
<string id="2062">Oppdater Musikk Database på vekking</string>
<!-- Nettverk -->
<string id="2100">Nettverk</string>
<string id="2110">Generelt</string>
<string id="2111">Vertsnavn</string>
<string id="2120">Nettverkskort</string>
<string id="2121">Overføringsteknologi</string>
<string id="2122">Nettverksgrensesnitt</string>
<string id="2130">IP instillinger</string>
<string id="2131">Statisk IP adresse</string>
<string id="2132">Nettverksprefix lengde</string>
<string id="2133">Standard gateway</string>
<string id="2134">Foretrukket DNS-server</string>
<string id="2135">Alternativ DNS-server</string>
<string id="2136">Alternativ DNS-server</string>
<string id="2150">WLAN instillinger</string>
<string id="2151">WLAN SSID</string>
<string id="2152">Skjult Nettverk</string>
<string id="2153">WLAN Sikkerhet</string>
<string id="2154">WLAN Passord</string>
<!-- TV_SERVER -->
<string id="4100">TV/PVR</string>
<string id="4110">Oppstart</string>
<string id="4111">Start TV Serveren under oppstart</string>
<!-- SAMBA -->
<string id="5000">Samba</string>
<string id="5010">Oppstart</string>
<string id="5011">Start Samba under oppstart</string>
<!-- Transmission -->
<string id="5100">Transmission</string>
<string id="5110">Oppstart</string>
<string id="5111">Start Transmission under oppstart</string>
<string id="5120">Bruker Instillinger</string>
<string id="5121">Bruk inlogging</string>
<string id="5122">Brukernavn</string>
<string id="5123">Passord</string>
<string id="5130">Nettverksinstillinger</string>
<string id="5131">Tilatte IP addresser (komma-avgrenser)</string>
<!-- SABnzbd -->
<string id="5200">SABnzbd</string>
<string id="5210">Oppstart</string>
<string id="5211">Start SABnzbd under oppstart</string>
</strings>

View File

@ -3,9 +3,9 @@
<!-- SYSTEM -->
<category label="2000">
<setting label="2010" type="lsep"/>
<setting type="sep" />
<setting id="X11_KEYMAP" type="labelenum" label="2011" values="ch|de|fr|uk|us" sort="yes" default="us"/>
<!-- <setting label="2010" type="lsep"/> -->
<!-- <setting type="sep" /> -->
<!-- <setting id="X11_KEYMAP" type="labelenum" label="2011" values="ch|de|fr|uk|us" sort="yes" default="us"/> -->
<setting label="2020" type="lsep"/>
<setting type="sep" />
<setting id="UPDATE_AUTO" type="labelenum" label="2021" values="no|manual|auto" sort="yes" default="manual" />
@ -38,7 +38,7 @@
<setting label="2150" type="lsep"/>
<setting type="sep" />
<setting id="NET_SSID" type="text" label="2151" default=""/>
<setting id="NET_HIDDEN" type="bool" label="2152" default="false" />
<!-- <setting id="NET_HIDDEN" type="bool" label="2152" default="false" /> -->
<setting id="NET_SECURITY" type="labelenum" label="2153" values="NONE|PSK|WEP" sort="yes" default="NONE" />
<setting id="NET_PASSPHRASE" type="text" option="hidden" label="2154" default="" enable="!eq(-1,0)"/>
</category>

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="connman"
PKG_VERSION="0.69"
PKG_VERSION="0.70"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -27,3 +27,5 @@ mkdir -p $INSTALL/etc/pastebin.d
mkdir -p $INSTALL/usr/bin
cp $PKG_BUILD/pastebinit $INSTALL/usr/bin
ln -sf pastebinit $INSTALL/usr/bin/paste # link for a shorter command
ln -sf pastebinit $INSTALL/usr/bin/wgetpaste # link for compatibility

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="xf86-video-nvidia"
PKG_VERSION="260.19.36"
PKG_VERSION="270.26"
PKG_REV="1"
PKG_ARCH="i386 x86_64"
PKG_LICENSE="nonfree"

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="pixman"
PKG_VERSION="0.21.4"
PKG_VERSION="0.21.6"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"

View File

@ -19,12 +19,13 @@
################################################################################
PKG_NAME="xextproto"
PKG_VERSION="7.1.2"
PKG_VERSION="20110223"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://www.x.org/"
PKG_URL="http://xorg.freedesktop.org/archive/individual/proto/$PKG_NAME-$PKG_VERSION.tar.bz2"
#PKG_URL="http://xorg.freedesktop.org/archive/individual/proto/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS=""
PKG_BUILD_DEPENDS="toolchain util-macros"
PKG_PRIORITY="optional"

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="util-macros"
PKG_VERSION="1.11.0"
PKG_VERSION="1.12.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"

View File

@ -1,50 +0,0 @@
################################################################################
# Copyright (C) 2009-2010 OpenELEC.tv
# http://www.openelec.tv
#
# 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; either version 2, or (at your option)
# any later version.
#
# 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
# starting xorg
#
# runlevels: openelec
XORG_ARGS="-s 0 -nr -noreset -allowMouseOpenFail -nocursor -nolisten tcp"
[ "$DEBUG" = yes ] && XORG_ARGS="$XORG_ARGS -logverbose 6 -verbose 6"
(
progress "creating directories needed for Xorg"
mkdir -p /var/cache/xkb
mkdir -p /var/lib
mkdir -m 1777 -p /tmp/.ICE-unix
chown root:root /tmp/.ICE-unix
if [ "$GPUTYPE" = "NVIDIA" ]; then
ln -sf /usr/lib/libGL_nvidia.so.1 /var/lib/libGL.so
ln -sf /usr/lib/xorg/modules/extensions/libglx_nvidia.so /var/lib/libglx.so
XORG_ARGS="$XORG_ARGS -ignoreABI"
else
ln -sf /usr/lib/libGL_mesa.so.1 /var/lib/libGL.so
ln -sf /usr/lib/xorg/modules/extensions/libglx_mesa.so /var/lib/libglx.so
fi
progress "starting xorg"
XORG_ARGS="$XORG_ARGS -config $XORG_CONF"
Xorg $DISPLAY vt01 $XORG_ARGS > /dev/null 2>&1
)&

View File

@ -30,6 +30,9 @@ XORG_DST="$INSTALL/$XORG_PATH_MODULES"
mkdir -p $INSTALL/usr/bin
cp $XORG_SRC/Xorg $INSTALL/usr/bin
mkdir -p $INSTALL/lib/udev
cp $PKG_DIR/scripts/xorg_start $INSTALL/lib/udev
mkdir -p $XORG_DST
cp -P $XORG_SRC/exa/.libs/libexa.so $XORG_DST
cp -P $XORG_SRC/dixmods/.libs/libfb.so $XORG_DST

View File

@ -1,138 +0,0 @@
diff --git a/dix/globals.c b/dix/globals.c
index c24a94f..907a5e8 100644
--- a/dix/globals.c
+++ b/dix/globals.c
@@ -124,6 +124,7 @@ FontPtr defaultFont; /* not declared in dix.h to avoid including font.h in
CursorPtr rootCursor;
Bool party_like_its_1989 = FALSE;
Bool whiteRoot = FALSE;
+Bool bgNoneRoot = FALSE;
int cursorScreenDevPriv[MAXSCREENS];
diff --git a/dix/window.c b/dix/window.c
index caff1cb..f343d25 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -466,23 +466,24 @@ InitRootWindow(WindowPtr pWin)
pWin->optional->cursor = rootCursor;
rootCursor->refcnt++;
+ pWin->backingStore = defaultBackingStore;
+ pWin->forcedBS = (defaultBackingStore != NotUseful);
if (party_like_its_1989) {
MakeRootTile(pWin);
backFlag |= CWBackPixmap;
+ (*pScreen->ChangeWindowAttributes)(pWin, backFlag);
+ } else if (bgNoneRoot) {
+ /* nothing, handled in xf86CreateRootWindow */
} else {
if (whiteRoot)
pWin->background.pixel = pScreen->whitePixel;
else
pWin->background.pixel = pScreen->blackPixel;
backFlag |= CWBackPixel;
+ (*pScreen->ChangeWindowAttributes)(pWin, backFlag);
}
- pWin->backingStore = defaultBackingStore;
- pWin->forcedBS = (defaultBackingStore != NotUseful);
- /* We SHOULD check for an error value here XXX */
- (*pScreen->ChangeWindowAttributes)(pWin, backFlag);
-
MapWindow(pWin, serverClient);
}
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index c9baff3..81c62f2 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -77,6 +77,7 @@
#ifdef RENDER
#include "picturestr.h"
#endif
+#include "xace.h"
#include "xf86VGAarbiter.h"
#include "globals.h"
@@ -249,6 +250,7 @@ xf86CreateRootWindow(WindowPtr pWin)
int ret = TRUE;
int err = Success;
ScreenPtr pScreen = pWin->drawable.pScreen;
+ ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
RootWinPropPtr pProp;
CreateWindowProcPtr CreateWindow = (CreateWindowProcPtr)
dixLookupPrivate(&pScreen->devPrivates, xf86CreateRootWindowKey);
@@ -300,6 +302,15 @@ xf86CreateRootWindow(WindowPtr pWin)
}
}
+ if (bgNoneRoot && pScrn->canDoBGNoneRoot || 1) {
+ pWin->backgroundState = XaceBackgroundNoneState(pWin);
+ pWin->background.pixel = pScreen->whitePixel;
+ pScreen->ChangeWindowAttributes(pWin, CWBackPixmap | CWBorderPixel | CWCursor | CWBackingStore);
+ } else {
+ pWin->background.pixel = pScreen->blackPixel;
+ pScreen->ChangeWindowAttributes(pWin, CWBackPixel | CWBorderPixel | CWCursor | CWBackingStore);
+ }
+
DebugF("xf86CreateRootWindow() returns %d\n", ret);
return (ret);
}
diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h
index b9a2e06..fd28664 100644
--- a/hw/xfree86/common/xf86str.h
+++ b/hw/xfree86/common/xf86str.h
@@ -516,7 +516,7 @@ typedef struct _confdrirec {
} confDRIRec, *confDRIPtr;
/* These values should be adjusted when new fields are added to ScrnInfoRec */
-#define NUM_RESERVED_INTS 16
+#define NUM_RESERVED_INTS 15
#define NUM_RESERVED_POINTERS 14
#define NUM_RESERVED_FUNCS 11
@@ -788,6 +788,9 @@ typedef struct _ScrnInfoRec {
ClockRangesPtr clockRanges;
int adjustFlags;
+ /* -nr support */
+ int canDoBGNoneRoot;
+
/*
* These can be used when the minor ABI version is incremented.
* The NUM_* parameters must be reduced appropriately to keep the
diff --git a/include/opaque.h b/include/opaque.h
index b3c7c70..fcc8c95 100644
--- a/include/opaque.h
+++ b/include/opaque.h
@@ -71,6 +71,7 @@ extern _X_EXPORT Bool defeatAccessControl;
extern _X_EXPORT long maxBigRequestSize;
extern _X_EXPORT Bool party_like_its_1989;
extern _X_EXPORT Bool whiteRoot;
+extern _X_EXPORT Bool bgNoneRoot;
extern _X_EXPORT Bool CoreDump;
diff --git a/os/utils.c b/os/utils.c
index 3718b17..52e30d3 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -513,6 +513,7 @@ void UseMsg(void)
#endif
ErrorF("-nolisten string don't listen on protocol\n");
ErrorF("-noreset don't reset after last client exists\n");
+ ErrorF("-nr create root window with no background\n");
ErrorF("-reset reset after last client exists\n");
ErrorF("-p # screen-saver pattern duration (minutes)\n");
ErrorF("-pn accept failure to listen on all ports\n");
@@ -856,6 +857,8 @@ ProcessCommandLine(int argc, char *argv[])
defaultBackingStore = WhenMapped;
else if ( strcmp( argv[i], "-wr") == 0)
whiteRoot = TRUE;
+ else if ( strcmp( argv[i], "-nr") == 0)
+ bgNoneRoot = TRUE;
else if ( strcmp( argv[i], "-maxbigreqsize") == 0) {
if(++i < argc) {
long reqSizeArg = atol(argv[i]);

View File

@ -30,63 +30,6 @@
DISPLAY=":0.0"
export DISPLAY
################################################################################
# setup xorg.conf paths
################################################################################
XORG_CONF_DEFAULT="/etc/X11/xorg.conf"
XORG_CONF_INTEL="/etc/X11/xorg-intel.conf"
XORG_CONF_NVIDIA="/etc/X11/xorg-nvidia.conf"
XORG_CONF_NVIDIA_CHD="/etc/X11/xorg-nvidia-chd.conf"
XORG_CONF_NOUVEAU="/etc/X11/xorg-nouveau.conf"
XORG_CONF_RADEON="/etc/X11/xorg-radeon.conf"
XORG_CONF_USER="/storage/.config/xorg.conf"
################################################################################
# setup driver paths
################################################################################
XORG_DRIVER_INTEL="/usr/lib/xorg/modules/drivers/intel_drv.so"
XORG_DRIVER_NVIDIA="/usr/lib/xorg/modules/drivers/nvidia_drv.so"
XORG_DRIVER_NOUVEAU="/usr/lib/xorg/modules/drivers/nouveau_drv.so"
XORG_DRIVER_RADEON="/usr/lib/xorg/modules/drivers/radeon_drv.so"
################################################################################
# Identify GPU, other by default
################################################################################
GPUDEVICE=$(lspci -n | grep 0300)
GPUTYPE="OTHER"
[ "$(echo $GPUDEVICE | grep 8086)" -a -f "$XORG_DRIVER_INTEL" ] && GPUTYPE="INTEL" # 8086 == INTEL
[ "$(echo $GPUDEVICE | grep 10de)" -a -f "$XORG_DRIVER_NVIDIA" ] && GPUTYPE="NVIDIA" # 10de == NVIDIA
[ "$(echo $GPUDEVICE | grep 10de)" -a -f "$XORG_DRIVER_NOUVEAU" ] && GPUTYPE="NOUVEAU" # 10de == NVIDIA
[ "$(echo $GPUDEVICE | grep 1002)" -a -f "$XORG_DRIVER_RADEON" ] && GPUTYPE="AMD" # 1002 == AMD
################################################################################
# Identify any Mediadevice, like Broadcom's CrystalHD cards
################################################################################
MEDIADEVICE=$(lspci -n | grep 0480)
MEDIATYPE="NO"
[ "$(echo $MEDIADEVICE | grep 14e4)" ] && MEDIATYPE="CRYSTALHD" # 14e4 == BROADCOM
################################################################################
# setup xorg.conf
################################################################################
[ "$GPUTYPE" = "INTEL" ] && XORG_CONF="$XORG_CONF_INTEL"
[ "$GPUTYPE" = "NVIDIA" ] && XORG_CONF="$XORG_CONF_NVIDIA"
[ "$GPUTYPE" = "NOUVEAU" ] && XORG_CONF="$XORG_CONF_NOUVEAU"
[ "$GPUTYPE" = "RADEON" ] && XORG_CONF="$XORG_CONF_RADEON"
[ "$GPUTYPE" = "OTHER" ] && XORG_CONF="$XORG_CONF_DEFAULT"
# check if we have an Broadcom CrystalHD card installed, so we can disable
# the use of shared memory
[ "$GPUTYPE" = "NVIDIA" -a "$MEDIATYPE" = "CRYSTALHD" ] && XORG_CONF="$XORG_CONF_NVIDIA_CHD"
# load user defined xorg.conf, if exist
[ -f "$XORG_CONF_USER" ] && XORG_CONF="$XORG_CONF_USER"
################################################################################
# setup functions
################################################################################

View File

@ -0,0 +1,90 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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; either version 2, or (at your option)
# any later version.
#
# 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. /etc/profile
if [ "$RUNLEVEL" = openelec ]; then
logger -t Xorg "### starting Xorg with driver ${xorg_driver} ###"
##############################################################################
# setup xorg.conf paths
##############################################################################
logger -t Xorg "### setup xorg.conf paths ###"
XORG_CONF_DEFAULT="/etc/X11/xorg.conf"
XORG_CONF_DRIVER="/etc/X11/xorg-${xorg_driver}.conf"
XORG_CONF_USER="/storage/.config/xorg.conf"
##############################################################################
# creating start options
##############################################################################
logger -t Xorg "### creating start options ###"
XORG_ARGS="-s 0 -noreset -allowMouseOpenFail -nocursor -nolisten tcp"
if [ "$DEBUG" = yes ]; then
XORG_ARGS="$XORG_ARGS -logverbose 6 -verbose 6"
fi
# load user defined xorg.conf, if exist
if [ -f "$XORG_CONF_USER" ]; then
XORG_ARGS="$XORG_ARGS -config $XORG_CONF_USER"
elif [ -f "$XORG_CONF_DRIVER" ]; then
XORG_ARGS="$XORG_ARGS -config $XORG_CONF_DRIVER"
elif [ -f "$XORG_CONF_DEFAULT" ]; then
XORG_ARGS="$XORG_ARGS -config $XORG_CONF_DEFAULT"
fi
##############################################################################
# creating needed directories and symlinks
##############################################################################
logger -t Xorg "### creating needed directories and symlinks ###"
mkdir -p /var/cache/xkb
mkdir -p /var/lib
mkdir -m 1777 -p /tmp/.ICE-unix
chown root:root /tmp/.ICE-unix
if [ "${xorg_driver}" = "nvidia" ]; then
ln -sf /usr/lib/libGL_nvidia.so.1 /var/lib/libGL.so
ln -sf /usr/lib/xorg/modules/extensions/libglx_nvidia.so /var/lib/libglx.so
XORG_ARGS="$XORG_ARGS -ignoreABI"
else
ln -sf /usr/lib/libGL_mesa.so.1 /var/lib/libGL.so
ln -sf /usr/lib/xorg/modules/extensions/libglx_mesa.so /var/lib/libglx.so
fi
##############################################################################
# starting Xorg
##############################################################################
logger -t Xorg "### starting Xorg with '$DISPLAY vt01 $XORG_ARGS' ###"
Xorg $DISPLAY vt01 $XORG_ARGS > /dev/null 2>&1 &
fi
exit 0

View File

@ -0,0 +1,46 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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; either version 2, or (at your option)
# any later version.
#
# 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
ACTION!="add|change", GOTO="end_video"
# xorg_start only does something for subsystem "pci" and "video" class.
SUBSYSTEM=="pci", ATTR{class}=="0x030000", GOTO="subsystem_pci"
SUBSYSTEM=="drivers", GOTO="subsystem_drivers"
GOTO="end_video"
# check for drivers dont use the pci substem
LABEL="subsystem_drivers"
KERNEL=="nvidia", ENV{xorg_driver}="nvidia", GOTO="start_xorg"
GOTO="end_video"
# check for drivers using the pci substem
LABEL="subsystem_pci"
DRIVER=="i915", ENV{xorg_driver}="i915", GOTO="start_xorg"
DRIVER=="nouveau", ENV{xorg_driver}="nouveau", GOTO="start_xorg"
#DRIVER=="nvidia", ENV{xorg_driver}="nvidia", GOTO="start_xorg"
DRIVER=="radeon", ENV{xorg_driver}="radeon", GOTO="start_xorg"
DRIVER=="vmware", ENV{xorg_driver}="vmware", GOTO="start_xorg"
GOTO="end_video"
# start Xorg
LABEL="start_xorg"
ENV{xorg_driver}=="?*", RUN+="/lib/udev/xorg_start"
LABEL="end_video"