mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
Merge branch 'master' into openelec-pvr-master
This commit is contained in:
commit
bbe8b8bf51
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="Mesa"
|
||||
PKG_VERSION="7.10"
|
||||
PKG_VERSION="7.10.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="dvb-firmware"
|
||||
PKG_VERSION="0.0.1"
|
||||
PKG_VERSION="0.0.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Free-to-use"
|
||||
|
@ -18,7 +18,7 @@
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="firmware"
|
||||
PKG_NAME="linux-firmware"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
@ -29,8 +29,8 @@ PKG_DEPENDS="$FIRMWARE"
|
||||
PKG_BUILD_DEPENDS="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="firmware"
|
||||
PKG_SHORTDESC="firmware: various free firmware drivers"
|
||||
PKG_LONGDESC="firmware is a meta-package to install various free firmware drivers"
|
||||
PKG_SHORTDESC="linux-firmware: various free firmware drivers"
|
||||
PKG_LONGDESC="linux-firmware is a meta-package to install various free firmware drivers"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
||||
|
@ -0,0 +1,354 @@
|
||||
diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/lib/libPython/xbmcmodule/Makefile xbmc-Dharma-10.1-c8405db.patch/xbmc/lib/libPython/xbmcmodule/Makefile
|
||||
--- xbmc-Dharma-10.1-c8405db/xbmc/lib/libPython/xbmcmodule/Makefile 2011-02-15 13:30:06.000000000 +0100
|
||||
+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/lib/libPython/xbmcmodule/Makefile 2011-03-03 16:47:38.230032818 +0100
|
||||
@@ -1,8 +1,9 @@
|
||||
INCLUDES=-I../../../.. -I. -I../../../ -I../../../linux -I../../../../guilib -I../../../utils -I../../../cores -I../../../../lib/jsoncpp/jsoncpp/include
|
||||
|
||||
-SRCS=action.cpp controlbutton.cpp controlcheckmark.cpp control.cpp controlfadelabel.cpp controlimage.cpp controllabel.cpp controllist.cpp controlprogress.cpp controlslider.cpp controlspin.cpp controltextbox.cpp dialog.cpp GUIPythonWindow.cpp GUIPythonWindowDialog.cpp GUIPythonWindowXML.cpp GUIPythonWindowXMLDialog.cpp infotagmusic.cpp infotagvideo.cpp keyboard.cpp listitem.cpp player.cpp pyplaylist.cpp PythonPlayer.cpp pyutil.cpp window.cpp winxml.cpp winxmldialog.cpp xbmcguimodule.cpp xbmcmodule.cpp controlgroup.cpp xbmcplugin.cpp controlradiobutton.cpp PythonAddon.cpp xbmcaddonmodule.cpp
|
||||
+SRCS=action.cpp controlbutton.cpp controlcheckmark.cpp control.cpp controlfadelabel.cpp controlimage.cpp controllabel.cpp controllist.cpp controlprogress.cpp controlslider.cpp controlspin.cpp controltextbox.cpp dialog.cpp GUIPythonWindow.cpp GUIPythonWindowDialog.cpp GUIPythonWindowXML.cpp GUIPythonWindowXMLDialog.cpp infotagmusic.cpp infotagvideo.cpp keyboard.cpp listitem.cpp player.cpp pyplaylist.cpp PythonPlayer.cpp pyutil.cpp window.cpp winxml.cpp winxmldialog.cpp xbmcguimodule.cpp xbmcmodule.cpp controlgroup.cpp xbmcplugin.cpp controlradiobutton.cpp PythonAddon.cpp xbmcaddonmodule.cpp xbmcvfsmodule.cpp
|
||||
|
||||
LIB=xbmcmodule.a
|
||||
|
||||
include ../../../../Makefile.include
|
||||
-include $(patsubst %.cpp,%.P,$(patsubst %.c,%.P,$(SRCS)))
|
||||
+
|
||||
diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp xbmc-Dharma-10.1-c8405db.patch/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp
|
||||
--- xbmc-Dharma-10.1-c8405db/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp 2011-02-15 13:30:06.000000000 +0100
|
||||
+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp 2011-03-03 16:47:38.257032286 +0100
|
||||
@@ -64,6 +64,7 @@
|
||||
#include "SectionLoader.h"
|
||||
#include "Settings.h"
|
||||
#include "LocalizeStrings.h"
|
||||
+#include "utils/FileUtils.h"
|
||||
|
||||
// include for constants
|
||||
#include "pyutil.h"
|
||||
@@ -958,6 +959,35 @@
|
||||
|
||||
return Py_BuildValue((char*)"b", exists);
|
||||
}
|
||||
+
|
||||
+ PyDoc_STRVAR(subHashAndFileSize__doc__,
|
||||
+ "subHashAndFileSize(file)\n"
|
||||
+ "\n"
|
||||
+ "file : file to calculate subtitle hash and size for"
|
||||
+ "\n"
|
||||
+ "example:\n"
|
||||
+ " size,hash = xbmcvfs.subHashAndFileSize(file)\n");
|
||||
+ PyObject* XBMC_subHashAndFileSize(PyObject *self, PyObject *args, PyObject *kwds)
|
||||
+ {
|
||||
+ PyObject *f_line;
|
||||
+ if (!PyArg_ParseTuple(
|
||||
+ args,
|
||||
+ (char*)"O",
|
||||
+ &f_line))
|
||||
+ {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ CStdString strSource;
|
||||
+ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
|
||||
+
|
||||
+ CStdString strSize;
|
||||
+ CStdString strHash;
|
||||
+ Py_BEGIN_ALLOW_THREADS
|
||||
+ CFileUtils::SubtitleFileSizeAndHash(strSource, strSize, strHash);
|
||||
+ Py_END_ALLOW_THREADS
|
||||
+
|
||||
+ return Py_BuildValue((char*)"ss",strSize.c_str(), strHash.c_str());
|
||||
+ }
|
||||
|
||||
// define c functions to be used in python here
|
||||
PyMethodDef xbmcMethods[] = {
|
||||
@@ -1005,6 +1035,8 @@
|
||||
{(char*)"getCleanMovieTitle", (PyCFunction)XBMC_GetCleanMovieTitle, METH_VARARGS|METH_KEYWORDS, getCleanMovieTitle__doc__},
|
||||
|
||||
{(char*)"skinHasImage", (PyCFunction)XBMC_SkinHasImage, METH_VARARGS|METH_KEYWORDS, skinHasImage__doc__},
|
||||
+ {(char*)"subHashAndFileSize", (PyCFunction)XBMC_subHashAndFileSize, METH_VARARGS, subHashAndFileSize__doc__},
|
||||
+
|
||||
{NULL, NULL, 0, NULL}
|
||||
};
|
||||
|
||||
diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/lib/libPython/xbmcmodule/xbmcvfsmodule.cpp xbmc-Dharma-10.1-c8405db.patch/xbmc/lib/libPython/xbmcmodule/xbmcvfsmodule.cpp
|
||||
--- xbmc-Dharma-10.1-c8405db/xbmc/lib/libPython/xbmcmodule/xbmcvfsmodule.cpp 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/lib/libPython/xbmcmodule/xbmcvfsmodule.cpp 2011-03-03 16:53:19.588294319 +0100
|
||||
@@ -0,0 +1,205 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2011 Team XBMC
|
||||
+ * http://www.xbmc.org
|
||||
+ *
|
||||
+ * 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 XBMC; 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
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "system.h"
|
||||
+#if (defined USE_EXTERNAL_PYTHON)
|
||||
+#if (defined HAVE_LIBPYTHON2_6)
|
||||
+#include <python2.6/Python.h>
|
||||
+#elif (defined HAVE_LIBPYTHON2_5)
|
||||
+#include <python2.5/Python.h>
|
||||
+#elif (defined HAVE_LIBPYTHON2_4)
|
||||
+#include <python2.4/Python.h>
|
||||
+#else
|
||||
+#error "Could not determine version of Python to use."
|
||||
+#endif
|
||||
+#else
|
||||
+#include "python/Include/Python.h"
|
||||
+#endif
|
||||
+#include "../XBPythonDll.h"
|
||||
+
|
||||
+#include "FileSystem/File.h"
|
||||
+#include "pyutil.h"
|
||||
+
|
||||
+using namespace std;
|
||||
+using namespace XFILE;
|
||||
+using namespace PYXBMC;
|
||||
+
|
||||
+#ifndef __GNUC__
|
||||
+#pragma code_seg("PY_TEXT")
|
||||
+#pragma data_seg("PY_DATA")
|
||||
+#pragma bss_seg("PY_BSS")
|
||||
+#pragma const_seg("PY_RDATA")
|
||||
+#endif
|
||||
+
|
||||
+#if defined(__GNUG__) && (__GNUC__>4) || (__GNUC__==4 && __GNUC_MINOR__>=2)
|
||||
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
|
||||
+#endif
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+extern "C" {
|
||||
+#endif
|
||||
+
|
||||
+ namespace xbmcvfs
|
||||
+ {
|
||||
+ /*****************************************************************
|
||||
+ * start of xbmcvfs methods
|
||||
+ *****************************************************************/
|
||||
+ typedef struct {
|
||||
+ PyObject_HEAD
|
||||
+ CFile* pFile;
|
||||
+ } File;
|
||||
+
|
||||
+ // copy() method
|
||||
+ PyDoc_STRVAR(copy__doc__,
|
||||
+ "copy(source, destination) -- copy file to destination, returns true/false.\n"
|
||||
+ "\n"
|
||||
+ "source : file to copy.\n"
|
||||
+ "destination : destination file"
|
||||
+ "\n"
|
||||
+ "example:\n"
|
||||
+ " success = xbmcvfs.copy(source, destination)\n");
|
||||
+
|
||||
+ PyObject* vfs_copy(PyObject *self, PyObject *args)
|
||||
+ {
|
||||
+ PyObject *f_line;
|
||||
+ PyObject *d_line;
|
||||
+ if (!PyArg_ParseTuple(
|
||||
+ args,
|
||||
+ (char*)"OO",
|
||||
+ &f_line,
|
||||
+ &d_line))
|
||||
+ {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ CStdString strSource;
|
||||
+ CStdString strDestnation;
|
||||
+ bool bResult = true;
|
||||
+
|
||||
+ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
|
||||
+ if (!PyXBMCGetUnicodeString(strDestnation, d_line, 1)) return NULL;
|
||||
+ Py_BEGIN_ALLOW_THREADS
|
||||
+ bResult = CFile::Cache(strSource, strDestnation);
|
||||
+ Py_END_ALLOW_THREADS
|
||||
+
|
||||
+ return Py_BuildValue((char*)"b", bResult);
|
||||
+ }
|
||||
+ PyDoc_STRVAR(delete__doc__,
|
||||
+ "delete(file)\n"
|
||||
+ "\n"
|
||||
+ "file : file to delete"
|
||||
+ "\n"
|
||||
+ "example:\n"
|
||||
+ " xbmcvfs.delete(file)\n");
|
||||
+
|
||||
+ // delete a file
|
||||
+ PyObject* vfs_delete(File *self, PyObject *args, PyObject *kwds)
|
||||
+ {
|
||||
+ PyObject *f_line;
|
||||
+ if (!PyArg_ParseTuple(
|
||||
+ args,
|
||||
+ (char*)"O",
|
||||
+ &f_line))
|
||||
+ {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ CStdString strSource;
|
||||
+ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
|
||||
+
|
||||
+ Py_BEGIN_ALLOW_THREADS
|
||||
+ self->pFile->Delete(strSource);
|
||||
+ Py_END_ALLOW_THREADS
|
||||
+
|
||||
+ Py_INCREF(Py_None);
|
||||
+ return Py_None;
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ PyDoc_STRVAR(rename__doc__,
|
||||
+ "rename(file, newFileName)\n"
|
||||
+ "\n"
|
||||
+ "file : file to reaname"
|
||||
+ "newFileName : new filename, including the full path"
|
||||
+ "\n"
|
||||
+ "example:\n"
|
||||
+ " success = xbmcvfs.rename(file,newFileName)\n");
|
||||
+
|
||||
+ // rename a file
|
||||
+ PyObject* vfs_rename(File *self, PyObject *args, PyObject *kwds)
|
||||
+ {
|
||||
+ PyObject *f_line;
|
||||
+ PyObject *d_line;
|
||||
+ if (!PyArg_ParseTuple(
|
||||
+ args,
|
||||
+ (char*)"OO",
|
||||
+ &f_line,
|
||||
+ &d_line))
|
||||
+ {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ CStdString strSource;
|
||||
+ CStdString strDestnation;
|
||||
+ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
|
||||
+ if (!PyXBMCGetUnicodeString(strDestnation, d_line, 1)) return NULL;
|
||||
+
|
||||
+ bool bResult;
|
||||
+ Py_BEGIN_ALLOW_THREADS
|
||||
+ bResult = self->pFile->Rename(strSource,strDestnation);
|
||||
+ Py_END_ALLOW_THREADS
|
||||
+
|
||||
+ return Py_BuildValue((char*)"b", bResult);
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ // define c functions to be used in python here
|
||||
+ PyMethodDef xbmcvfsMethods[] = {
|
||||
+ {(char*)"copy", (PyCFunction)vfs_copy, METH_VARARGS, copy__doc__},
|
||||
+ {(char*)"delete", (PyCFunction)vfs_delete, METH_VARARGS, delete__doc__},
|
||||
+ {(char*)"rename", (PyCFunction)vfs_rename, METH_VARARGS, rename__doc__},
|
||||
+ {NULL, NULL, 0, NULL}
|
||||
+ };
|
||||
+
|
||||
+ /*****************************************************************
|
||||
+ * end of methods and python objects
|
||||
+ * initxbmc(void);
|
||||
+ *****************************************************************/
|
||||
+
|
||||
+
|
||||
+ PyMODINIT_FUNC
|
||||
+ DeinitVFSModule()
|
||||
+ {
|
||||
+ // no need to Py_DECREF our objects (see InitXBMCMVFSModule()) as they were created only
|
||||
+ // so that they could be added to the module, which steals a reference.
|
||||
+ }
|
||||
+
|
||||
+ PyMODINIT_FUNC
|
||||
+ InitVFSModule()
|
||||
+ {
|
||||
+ // init general xbmc modules
|
||||
+ PyObject* pXbmcvfsModule;
|
||||
+ pXbmcvfsModule = Py_InitModule((char*)"xbmcvfs", xbmcvfsMethods);
|
||||
+ if (pXbmcvfsModule == NULL) return;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+}
|
||||
+#endif
|
||||
diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/lib/libPython/XBPython.cpp xbmc-Dharma-10.1-c8405db.patch/xbmc/lib/libPython/XBPython.cpp
|
||||
--- xbmc-Dharma-10.1-c8405db/xbmc/lib/libPython/XBPython.cpp 2011-02-15 13:30:09.000000000 +0100
|
||||
+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/lib/libPython/XBPython.cpp 2011-03-03 16:47:38.270032028 +0100
|
||||
@@ -119,6 +119,8 @@
|
||||
void InitAddonModule(void);
|
||||
void InitAddonTypes(void);
|
||||
void DeinitAddonModule(void);
|
||||
+ void InitVFSModule(void);
|
||||
+ void DeinitVFSModule(void);
|
||||
}
|
||||
|
||||
XBPython::XBPython()
|
||||
@@ -297,7 +299,8 @@
|
||||
InitPluginModule(); // init xbmcplugin modules
|
||||
InitGUIModule(); // init xbmcgui modules
|
||||
InitAddonModule(); // init xbmcaddon modules
|
||||
-
|
||||
+ InitVFSModule(); // init xbmcvfs modules
|
||||
+
|
||||
// redirecting default output to debug console
|
||||
if (PyRun_SimpleString(""
|
||||
"import xbmc\n"
|
||||
@@ -325,6 +328,7 @@
|
||||
DeinitPluginModule();
|
||||
DeinitGUIModule();
|
||||
DeinitAddonModule();
|
||||
+ DeinitVFSModule();
|
||||
}
|
||||
|
||||
/**
|
||||
diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/utils/FileUtils.cpp xbmc-Dharma-10.1-c8405db.patch/xbmc/utils/FileUtils.cpp
|
||||
--- xbmc-Dharma-10.1-c8405db/xbmc/utils/FileUtils.cpp 2011-02-15 13:30:05.000000000 +0100
|
||||
+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/utils/FileUtils.cpp 2011-03-03 16:47:38.279031851 +0100
|
||||
@@ -72,3 +72,32 @@
|
||||
}
|
||||
return false;
|
||||
}
|
||||
+
|
||||
+bool CFileUtils::SubtitleFileSizeAndHash(const CStdString &path, CStdString &strSize, CStdString &strHash)
|
||||
+{
|
||||
+ const size_t chksum_block_size = 8192;
|
||||
+
|
||||
+ CFile file;
|
||||
+ size_t i;
|
||||
+ uint64_t hash = 0;
|
||||
+ uint64_t buffer1[chksum_block_size*2];
|
||||
+ uint64_t fileSize ;
|
||||
+ // In natural language it calculates: size + 64k chksum of the first and last 64k
|
||||
+ // (even if they overlap because the file is smaller than 128k).
|
||||
+ file.Open(path, READ_NO_CACHE); //open file
|
||||
+ file.Read(buffer1, chksum_block_size*sizeof(uint64_t)); //read first 64k
|
||||
+ file.Seek(-(int64_t)chksum_block_size*sizeof(uint64_t), SEEK_END); //seek to the end of the file
|
||||
+ file.Read(&buffer1[chksum_block_size], chksum_block_size*sizeof(uint64_t)); //read last 64k
|
||||
+
|
||||
+ for (i=0;i<chksum_block_size*2;i++)
|
||||
+ hash += buffer1[i];
|
||||
+
|
||||
+ fileSize = file.GetLength();
|
||||
+
|
||||
+ hash += fileSize; //add size
|
||||
+
|
||||
+ file.Close(); //close file
|
||||
+ strHash.Format("%"PRIx64"", hash); //format hash
|
||||
+ strSize.Format("%d", fileSize); // format size
|
||||
+ return true;
|
||||
+}
|
||||
diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/utils/FileUtils.h xbmc-Dharma-10.1-c8405db.patch/xbmc/utils/FileUtils.h
|
||||
--- xbmc-Dharma-10.1-c8405db/xbmc/utils/FileUtils.h 2011-02-15 13:30:05.000000000 +0100
|
||||
+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/utils/FileUtils.h 2011-03-03 16:47:38.279031851 +0100
|
||||
@@ -6,4 +6,5 @@
|
||||
public:
|
||||
static bool DeleteItem(const CFileItemPtr &item);
|
||||
static bool RenameFile(const CStdString &strFile);
|
||||
+ static bool SubtitleFileSizeAndHash(const CStdString &path, CStdString &strSize, CStdString &strHash);
|
||||
};
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="m4"
|
||||
PKG_VERSION="1.4.15"
|
||||
PKG_VERSION="1.4.16"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -1,11 +0,0 @@
|
||||
diff -Naur m4-1.4.14/src/path.c m4-1.4.14.patch/src/path.c
|
||||
--- m4-1.4.14/src/path.c 2010-01-28 14:01:57.000000000 +0100
|
||||
+++ m4-1.4.14.patch/src/path.c 2010-06-05 19:29:48.805582949 +0200
|
||||
@@ -23,6 +23,7 @@
|
||||
and "sinclude". */
|
||||
|
||||
#include "m4.h"
|
||||
+#include <sys/stat.h>
|
||||
|
||||
struct includes
|
||||
{
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="ppl"
|
||||
PKG_VERSION="0.11.1"
|
||||
PKG_VERSION="0.11.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -19,13 +19,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="squashfs"
|
||||
PKG_VERSION="a56f344"
|
||||
PKG_VERSION="4.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://squashfs.sourceforge.net/"
|
||||
#PKG_URL="$SOURCEFORGE_SRC/squashfs/squashfs/${PKG_NAME}${PKG_VERSION}/${PKG_NAME}${PKG_VERSION}.tar.gz"
|
||||
PKG_URL="$OPENELEC_SRC/${PKG_NAME}-${PKG_VERSION}.tar.gz"
|
||||
PKG_URL="$SOURCEFORGE_SRC/squashfs/squashfs/${PKG_NAME}${PKG_VERSION}/${PKG_NAME}${PKG_VERSION}.tar.gz"
|
||||
#PKG_URL="$OPENELEC_SRC/${PKG_NAME}-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="ccache xz"
|
||||
PKG_PRIORITY="optional"
|
||||
|
@ -0,0 +1,21 @@
|
||||
diff -Naur squashfs4.2/squashfs-tools/Makefile squashfs4.2.patch/squashfs-tools/Makefile
|
||||
--- squashfs4.2/squashfs-tools/Makefile 2011-02-28 21:04:15.000000000 +0100
|
||||
+++ squashfs4.2.patch/squashfs-tools/Makefile 2011-03-03 04:07:03.566708237 +0100
|
||||
@@ -78,7 +78,7 @@
|
||||
# If your C library or build/target environment doesn't support XATTRs then
|
||||
# comment out the next line to build Mksquashfs and Unsquashfs without XATTR
|
||||
# support
|
||||
-XATTR_SUPPORT = 1
|
||||
+#XATTR_SUPPORT = 1
|
||||
|
||||
# Select whether you wish xattrs to be stored by Mksquashfs and extracted
|
||||
# by Unsquashfs by default. If selected users can disable xattr support by
|
||||
@@ -86,7 +86,7 @@
|
||||
#
|
||||
# If unselected, Mksquashfs/Unsquashfs won't store and extract xattrs by
|
||||
# default. Users can enable xattrs by using the -xattrs option.
|
||||
-XATTR_DEFAULT = 1
|
||||
+#XATTR_DEFAULT = 1
|
||||
|
||||
|
||||
###############################################
|
@ -1,48 +0,0 @@
|
||||
diff -Naur squashfs-a56f344/squashfs-tools/Makefile squashfs-a56f344.patch/squashfs-tools/Makefile
|
||||
--- squashfs-a56f344/squashfs-tools/Makefile 2011-02-21 23:58:19.000000000 +0100
|
||||
+++ squashfs-a56f344.patch/squashfs-tools/Makefile 2011-02-22 00:05:33.197451875 +0100
|
||||
@@ -77,7 +77,7 @@
|
||||
# If your C library or build/target environment doesn't support XATTRs then
|
||||
# comment out the next line to build Mksquashfs and Unsquashfs without XATTR
|
||||
# support
|
||||
-XATTR_SUPPORT = 1
|
||||
+#XATTR_SUPPORT = 1
|
||||
|
||||
# Select whether you wish xattrs to be stored by Mksquashfs and extracted
|
||||
# by Unsquashfs by default. If selected users can disable xattr support by
|
||||
@@ -85,7 +85,7 @@
|
||||
#
|
||||
# If unselected, Mksquashfs/Unsquashfs won't store and extract xattrs by
|
||||
# default. Users can enable xattrs by using the -xattrs option.
|
||||
-XATTR_DEFAULT = 1
|
||||
+#XATTR_DEFAULT = 1
|
||||
|
||||
|
||||
###############################################
|
||||
@@ -100,7 +100,7 @@
|
||||
UNSQUASHFS_OBJS = unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o \
|
||||
unsquash-4.o swap.o compressor.o
|
||||
|
||||
-CFLAGS = $(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
|
||||
+CFLAGS += $(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
|
||||
-D_GNU_SOURCE -DCOMP_DEFAULT=\"$(COMP_DEFAULT)\" -O2 -Wall
|
||||
|
||||
LIBS = -lpthread -lm
|
||||
@@ -196,7 +196,7 @@
|
||||
all: mksquashfs unsquashfs
|
||||
|
||||
mksquashfs: $(MKSQUASHFS_OBJS)
|
||||
- $(CC) $(MKSQUASHFS_OBJS) $(LIBS) -o $@
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) $(MKSQUASHFS_OBJS) $(LIBS) -o $@
|
||||
|
||||
mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h sort.h squashfs_swap.h \
|
||||
xattr.h pseudo.h compressor.h
|
||||
@@ -227,7 +227,7 @@
|
||||
xz_wrapper.o: xz_wrapper.c compressor.h squashfs_fs.h
|
||||
|
||||
unsquashfs: $(UNSQUASHFS_OBJS)
|
||||
- $(CC) $(UNSQUASHFS_OBJS) $(LIBS) -o $@
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) $(UNSQUASHFS_OBJS) $(LIBS) -o $@
|
||||
|
||||
unsquashfs.o: unsquashfs.h unsquashfs.c squashfs_fs.h squashfs_swap.h \
|
||||
squashfs_compat.h xattr.h read_fs.h compressor.h
|
@ -1,40 +0,0 @@
|
||||
Section "ServerLayout"
|
||||
Identifier "Layout0"
|
||||
Screen 0 "Screen0"
|
||||
EndSection
|
||||
|
||||
Section "Monitor"
|
||||
Identifier "Monitor0"
|
||||
VendorName "Unknown"
|
||||
ModelName "Unknown"
|
||||
HorizSync 28.0 - 33.0
|
||||
VertRefresh 43.0 - 72.0
|
||||
Option "DPMS"
|
||||
EndSection
|
||||
|
||||
Section "Device"
|
||||
Identifier "Device0"
|
||||
Driver "nvidia"
|
||||
VendorName "NVIDIA Corporation"
|
||||
Option "ConnectToAcpid" "0"
|
||||
Option "RegistryDwords" "RMDisableRenderToSysmem=1
|
||||
Option "DynamicTwinView" "False"
|
||||
EndSection
|
||||
|
||||
Section "Screen"
|
||||
Identifier "Screen0"
|
||||
Device "Device0"
|
||||
Monitor "Monitor0"
|
||||
DefaultDepth 24
|
||||
Option "NoLogo" "True"
|
||||
Option "FlatPanelProperties" "Scaling = Native"
|
||||
Option "HWCursor" "Off"
|
||||
SubSection "Display"
|
||||
Depth 24
|
||||
EndSubSection
|
||||
EndSection
|
||||
|
||||
Section "Extensions"
|
||||
Option "Composite" "Disable"
|
||||
EndSection
|
||||
|
@ -19,13 +19,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xf86-video-nvidia"
|
||||
PKG_VERSION="270.26"
|
||||
PKG_VERSION="270.30"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="i386 x86_64"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.nvidia.com/"
|
||||
[ "$TARGET_ARCH" = "i386" ] && PKG_URL="http://us.download.nvidia.com/XFree86/Linux-x86/$PKG_VERSION/NVIDIA-Linux-x86-$PKG_VERSION.run"
|
||||
[ "$TARGET_ARCH" = "x86_64" ] && PKG_URL="http://us.download.nvidia.com/XFree86/Linux-x86_64/$PKG_VERSION/NVIDIA-Linux-x86_64-$PKG_VERSION-no-compat32.run"
|
||||
[ "$TARGET_ARCH" = "i386" ] && PKG_URL="ftp://download.nvidia.com/XFree86/Linux-x86/$PKG_VERSION/NVIDIA-Linux-x86-$PKG_VERSION.run"
|
||||
[ "$TARGET_ARCH" = "x86_64" ] && PKG_URL="ftp://download.nvidia.com/XFree86/Linux-x86_64/$PKG_VERSION/NVIDIA-Linux-x86_64-$PKG_VERSION-no-compat32.run"
|
||||
PKG_DEPENDS="linux libXinerama"
|
||||
PKG_BUILD_DEPENDS="toolchain util-macros linux xorg-server"
|
||||
PKG_PRIORITY="optional"
|
||||
|
@ -33,6 +33,10 @@ else
|
||||
fi
|
||||
|
||||
cd $PKG_BUILD
|
||||
|
||||
# add hack to fix build of 1.10.0
|
||||
rm -rf hw/xfree86/loader/sdksyms.c
|
||||
|
||||
./configure --host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
@ -42,7 +46,7 @@ cd $PKG_BUILD
|
||||
--disable-static \
|
||||
--enable-shared \
|
||||
--disable-debug \
|
||||
--disable-builddocs \
|
||||
--disable-silent-rules \
|
||||
--disable-strict-compilation \
|
||||
--enable-largefile \
|
||||
--enable-visibility \
|
||||
@ -93,6 +97,8 @@ cd $PKG_BUILD
|
||||
--enable-xfbdev \
|
||||
--disable-install-setuid \
|
||||
--disable-secure-rpc \
|
||||
--disable-docs \
|
||||
--disable-devel-docs \
|
||||
--with-int10=x86emu \
|
||||
--disable-ipv6 \
|
||||
--with-gnu-ld \
|
||||
@ -102,9 +108,8 @@ cd $PKG_BUILD
|
||||
--with-xkb-path=$XORG_PATH_XKB \
|
||||
--with-xkb-output=/var/cache/xkb \
|
||||
--with-log-dir=/var/log \
|
||||
--with-dri-driver-path=$XORG_PATH_DRI \
|
||||
--with-fontrootdir=/usr/share/fonts \
|
||||
--with-default-font-path="/usr/share/fonts/misc,built-ins"
|
||||
--with-default-font-path="/usr/share/fonts/misc,built-ins" \
|
||||
|
||||
make
|
||||
$MAKEINSTALL
|
@ -43,7 +43,6 @@ mkdir -p $XORG_DST
|
||||
cp -P $XORG_SRC/vgahw/.libs/libvgahw.so $XORG_DST
|
||||
cp -P $XORG_SRC/dixmods/.libs/libwfb.so $XORG_DST
|
||||
cp -P $XORG_SRC/xaa/.libs/libxaa.so $XORG_DST
|
||||
cp -P $XORG_SRC/xf8_16bpp/.libs/libxf8_16bpp.so $XORG_DST
|
||||
|
||||
mkdir -p $XORG_DST/extensions
|
||||
cp -P $XORG_SRC/dixmods/.libs/libdbe.so $XORG_DST/extensions
|
||||
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xorg-server"
|
||||
PKG_VERSION="1.9.4"
|
||||
PKG_VERSION="1.10.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
|
@ -5,9 +5,9 @@ Signed-off-by: Bryce Harrington <bryce@canonical.com>
|
||||
|
||||
Index: xorg-server/configure.ac
|
||||
===================================================================
|
||||
--- xorg-server.orig/configure.ac 2010-07-14 14:02:00.000000000 +1000
|
||||
+++ xorg-server/configure.ac 2010-07-14 14:18:57.201453001 +1000
|
||||
@@ -540,9 +540,9 @@
|
||||
--- xorg-server.orig/configure.ac 2011-01-31 15:12:21.000000000 +1100
|
||||
+++ xorg-server/configure.ac 2011-01-31 15:13:26.563659152 +1100
|
||||
@@ -537,9 +537,9 @@
|
||||
AC_ARG_WITH(xkb-path, AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: ${datadir}/X11/xkb)]),
|
||||
[ XKBPATH="$withval" ],
|
||||
[ XKBPATH="${datadir}/X11/xkb" ])
|
||||
@ -19,7 +19,7 @@ Index: xorg-server/configure.ac
|
||||
AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES],
|
||||
[Keyboard ruleset (default: base/evdev)]),
|
||||
[ XKB_DFLT_RULES="$withval" ],
|
||||
@@ -1175,7 +1175,7 @@
|
||||
@@ -1165,7 +1165,7 @@
|
||||
dnl Make sure XKM_OUTPUT_DIR is an absolute path
|
||||
XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
|
||||
if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then
|
||||
@ -30,8 +30,8 @@ Index: xorg-server/configure.ac
|
||||
dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
|
||||
Index: xorg-server/xkb/README.compiled
|
||||
===================================================================
|
||||
--- xorg-server.orig/xkb/README.compiled 2010-06-18 12:58:19.000000000 +1000
|
||||
+++ xorg-server/xkb/README.compiled 2010-07-14 14:18:57.201453001 +1000
|
||||
--- xorg-server.orig/xkb/README.compiled 2011-01-28 12:31:51.000000000 +1100
|
||||
+++ xorg-server/xkb/README.compiled 2011-01-31 15:13:26.563659152 +1100
|
||||
@@ -4,10 +4,10 @@
|
||||
or some other tool might destroy or replace the files in this directory,
|
||||
so it is not a safe place to store compiled keymaps for long periods of
|
||||
@ -49,8 +49,8 @@ Index: xorg-server/xkb/README.compiled
|
||||
different hosts could cause problems.
|
||||
Index: xorg-server/xkb/ddxLoad.c
|
||||
===================================================================
|
||||
--- xorg-server.orig/xkb/ddxLoad.c 2010-07-14 13:21:02.000000000 +1000
|
||||
+++ xorg-server/xkb/ddxLoad.c 2010-07-14 14:51:09.761453001 +1000
|
||||
--- xorg-server.orig/xkb/ddxLoad.c 2011-01-31 14:28:22.000000000 +1100
|
||||
+++ xorg-server/xkb/ddxLoad.c 2011-01-31 15:17:50.814046721 +1100
|
||||
@@ -30,6 +30,12 @@
|
||||
|
||||
#include <xkb-config.h>
|
||||
@ -64,17 +64,13 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <X11/X.h>
|
||||
@@ -43,24 +49,13 @@
|
||||
@@ -43,20 +49,9 @@
|
||||
#define XKBSRV_NEED_FILE_FUNCS
|
||||
#include <xkbsrv.h>
|
||||
#include <X11/extensions/XI.h>
|
||||
+#include <errno.h>
|
||||
#include "xkb.h"
|
||||
|
||||
#if defined(CSRG_BASED) || defined(linux) || defined(__GNU__)
|
||||
#include <paths.h>
|
||||
#endif
|
||||
|
||||
- /*
|
||||
- * If XKM_OUTPUT_DIR specifies a path without a leading slash, it is
|
||||
- * relative to the top-level XKB configuration directory.
|
||||
@ -90,7 +86,7 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
#define PRE_ERROR_MSG "\"The XKEYBOARD keymap compiler (xkbcomp) reports:\""
|
||||
#define ERROR_PREFIX "\"> \""
|
||||
#define POST_ERROR_MSG1 "\"Errors from xkbcomp are not fatal to the X server\""
|
||||
@@ -174,6 +169,47 @@
|
||||
@@ -170,6 +165,47 @@
|
||||
}
|
||||
}
|
||||
|
||||
@ -138,7 +134,7 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
static Bool
|
||||
XkbDDXCompileKeymapByNames( XkbDescPtr xkb,
|
||||
XkbComponentNamesPtr names,
|
||||
@@ -183,7 +219,11 @@
|
||||
@@ -179,7 +215,11 @@
|
||||
int nameRtrnLen)
|
||||
{
|
||||
FILE * out;
|
||||
@ -151,7 +147,7 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
|
||||
const char *emptystring = "";
|
||||
char *xkbbasedirflag = NULL;
|
||||
@@ -194,14 +234,67 @@
|
||||
@@ -190,14 +230,67 @@
|
||||
/* WIN32 has no popen. The input must be stored in a file which is
|
||||
used as input for xkbcomp. xkbcomp does not read from stdin. */
|
||||
char tmpname[PATH_MAX];
|
||||
@ -160,8 +156,9 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
#else
|
||||
- const char *xkmfile = "-";
|
||||
+ const char *xkbfile = "-";
|
||||
+#endif
|
||||
+
|
||||
#endif
|
||||
|
||||
- snprintf(keymap, sizeof(keymap), "server-%s", display);
|
||||
+ /* Write keymap source (xkbfile) to memory buffer `xkbKeyMapBuf',
|
||||
+ of which SHA1 is generated and used as result xkm file name */
|
||||
+ memset(xkbKeyMapBuf, 0, sizeof(xkbKeyMapBuf));
|
||||
@ -181,13 +178,12 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
+ ErrorF("[xkb] XkbDDXCompileKeymapByNames compiling keymap:\n");
|
||||
+ fputs(xkbKeyMapBuf, stderr);
|
||||
+ }
|
||||
#endif
|
||||
+#endif
|
||||
+ if (!ret) {
|
||||
+ ErrorF("[xkb] Generating XKB Keymap failed, giving up compiling keymap\n");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
|
||||
- snprintf(keymap, sizeof(keymap), "server-%s", display);
|
||||
+
|
||||
+ DebugF("[xkb] computing SHA1 of keymap\n");
|
||||
+ if (Success == Sha1Asc(sha1Asc, xkbKeyMapBuf)) {
|
||||
+ snprintf(xkmfile, sizeof(xkmfile), "server-%s", sha1Asc);
|
||||
@ -222,7 +218,7 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
|
||||
#ifdef WIN32
|
||||
strcpy(tmpname, Win32TempDir());
|
||||
@@ -225,14 +318,20 @@
|
||||
@@ -222,15 +315,21 @@
|
||||
}
|
||||
}
|
||||
|
||||
@ -232,21 +228,22 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
+ goto _ret;
|
||||
+ }
|
||||
+
|
||||
buf = Xprintf("\"%s%sxkbcomp\" -w %d %s -xkm \"%s\" "
|
||||
if (asprintf(&buf,
|
||||
"\"%s%sxkbcomp\" -w %d %s -xkm \"%s\" "
|
||||
- "-em1 %s -emp %s -eml %s \"%s%s.xkm\"",
|
||||
+ "-em1 %s -emp %s -eml %s \"%s\"",
|
||||
xkbbindir, xkbbindirsep,
|
||||
( (xkbDebugFlags < 2) ? 1 :
|
||||
((xkbDebugFlags > 10) ? 10 : (int)xkbDebugFlags) ),
|
||||
((xkbDebugFlags < 2) ? 1 :
|
||||
((xkbDebugFlags > 10) ? 10 : (int) xkbDebugFlags)),
|
||||
- xkbbasedirflag ? xkbbasedirflag : "", xkmfile,
|
||||
+ xkbbasedirflag ? xkbbasedirflag : "", xkbfile,
|
||||
PRE_ERROR_MSG, ERROR_PREFIX, POST_ERROR_MSG1,
|
||||
- xkm_output_dir, keymap);
|
||||
+ tmpXkmFile);
|
||||
- xkm_output_dir, keymap) == -1)
|
||||
+ tmpXkmFile) == -1)
|
||||
buf = NULL;
|
||||
|
||||
free(xkbbasedirflag);
|
||||
|
||||
@@ -241,6 +340,11 @@
|
||||
@@ -240,6 +339,11 @@
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -258,7 +255,7 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
#ifndef WIN32
|
||||
out= Popen(buf,"w");
|
||||
#else
|
||||
@@ -248,31 +352,42 @@
|
||||
@@ -247,30 +351,42 @@
|
||||
#endif
|
||||
|
||||
if (out!=NULL) {
|
||||
@ -284,10 +281,14 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
{
|
||||
+ /* xkbcomp success */
|
||||
if (xkbDebugFlags)
|
||||
DebugF("[xkb] xkb executes: %s\n",buf);
|
||||
- DebugF("[xkb] xkb executes: %s\n",buf);
|
||||
- if (nameRtrn) {
|
||||
- strncpy(nameRtrn,keymap,nameRtrnLen);
|
||||
- nameRtrn[nameRtrnLen-1]= '\0';
|
||||
- }
|
||||
- free(buf);
|
||||
- return TRUE;
|
||||
+ DebugF("[xkb] xkb executes: %s\n",buf);
|
||||
+
|
||||
+ /* if canonicalXkmFileName already exists now, we simply
|
||||
+ overwrite it, this is OK */
|
||||
@ -297,15 +298,12 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
+ tmpXkmFile, canonicalXkmFileName,
|
||||
+ strerror(errno));
|
||||
+
|
||||
+ /* in case of error, don't unlink tmpXkmFile, leave it
|
||||
+ /* in case of error, don't unlink tmpXkmFile, leave i
|
||||
+ for debugging */
|
||||
+
|
||||
+ result = FALSE;
|
||||
+ goto _ret;
|
||||
}
|
||||
- if (buf != NULL)
|
||||
- free(buf);
|
||||
- return TRUE;
|
||||
+ }
|
||||
+ result = TRUE;
|
||||
+ goto _ret;
|
||||
}
|
||||
@ -315,11 +313,10 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
#ifdef WIN32
|
||||
/* remove the temporary file */
|
||||
unlink(tmpname);
|
||||
@@ -287,9 +402,17 @@
|
||||
@@ -285,8 +401,17 @@
|
||||
}
|
||||
if (nameRtrn)
|
||||
nameRtrn[0]= '\0';
|
||||
- if (buf != NULL)
|
||||
- free(buf);
|
||||
- return FALSE;
|
||||
+ result = FALSE;
|
||||
@ -336,7 +333,7 @@ Index: xorg-server/xkb/ddxLoad.c
|
||||
}
|
||||
|
||||
static FILE *
|
||||
@@ -373,7 +496,6 @@
|
||||
@@ -370,7 +495,6 @@
|
||||
DebugF("Loaded XKB keymap %s, defined=0x%x\n",fileName,(*xkbRtrn)->defined);
|
||||
}
|
||||
fclose(file);
|
@ -1,20 +1,18 @@
|
||||
From 9edb8ba5f8217f6f8ed80e064d57a97f4f3e9201 Mon Sep 17 00:00:00 2001
|
||||
From a685b5cf34532cef96fc9b05f735088ac0c0c7ad Mon Sep 17 00:00:00 2001
|
||||
From: Fedora X Ninjas <x@fedoraproject.org>
|
||||
Date: Tue, 16 Feb 2010 11:38:17 +1000
|
||||
Subject: [PATCH 07/17] autoconfig: select nouveau by default for NVIDIA GPUs
|
||||
Subject: [PATCH 08/17] autoconfig: select nouveau by default for NVIDIA GPUs
|
||||
|
||||
Also, don't treat DRI setup failure as an error for nouveau.
|
||||
---
|
||||
glx/glxdri.c | 7 +++++--
|
||||
glx/glxdri2.c | 7 +++++--
|
||||
hw/xfree86/common/xf86pciBus.c | 18 +++++++++++++++++-
|
||||
3 files changed, 27 insertions(+), 5 deletions(-)
|
||||
hw/xfree86/common/xf86AutoConfig.c | 19 ++++++++++++++++++-
|
||||
3 files changed, 28 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/glx/glxdri.c b/glx/glxdri.c
|
||||
index 32b35db..f3a501e 100644
|
||||
--- a/glx/glxdri.c
|
||||
+++ b/glx/glxdri.c
|
||||
@@ -968,6 +968,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
@@ -979,6 +979,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
const __DRIconfig **driConfigs;
|
||||
const __DRIextension **extensions;
|
||||
int i;
|
||||
@ -22,7 +20,7 @@ index 32b35db..f3a501e 100644
|
||||
|
||||
if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable") ||
|
||||
!DRIQueryDirectRenderingCapable(pScreen, &isCapable) ||
|
||||
@@ -1047,7 +1048,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
@@ -1058,7 +1059,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
|
||||
screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
|
||||
if (screen->driver == NULL) {
|
||||
@ -33,7 +31,7 @@ index 32b35db..f3a501e 100644
|
||||
filename, dlerror());
|
||||
goto handle_error;
|
||||
}
|
||||
@@ -1185,7 +1188,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
@@ -1196,7 +1199,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
|
||||
free(screen);
|
||||
|
||||
@ -42,11 +40,9 @@ index 32b35db..f3a501e 100644
|
||||
|
||||
return NULL;
|
||||
}
|
||||
diff --git a/glx/glxdri2.c b/glx/glxdri2.c
|
||||
index 970a51a..c78d4b3 100644
|
||||
--- a/glx/glxdri2.c
|
||||
+++ b/glx/glxdri2.c
|
||||
@@ -696,6 +696,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
@@ -709,6 +709,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
const __DRIextension **extensions;
|
||||
const __DRIconfig **driConfigs;
|
||||
int i;
|
||||
@ -54,7 +50,7 @@ index 970a51a..c78d4b3 100644
|
||||
|
||||
screen = calloc(1, sizeof *screen);
|
||||
if (screen == NULL)
|
||||
@@ -722,7 +723,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
@@ -735,7 +736,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
|
||||
screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
|
||||
if (screen->driver == NULL) {
|
||||
@ -65,7 +61,7 @@ index 970a51a..c78d4b3 100644
|
||||
filename, dlerror());
|
||||
goto handle_error;
|
||||
}
|
||||
@@ -816,7 +819,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
@@ -829,7 +832,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
|
||||
free(screen);
|
||||
|
||||
@ -74,11 +70,9 @@ index 970a51a..c78d4b3 100644
|
||||
|
||||
return NULL;
|
||||
}
|
||||
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
|
||||
index 74016af..9c296f5 100644
|
||||
--- a/hw/xfree86/common/xf86pciBus.c
|
||||
+++ b/hw/xfree86/common/xf86pciBus.c
|
||||
@@ -1118,7 +1118,23 @@ videoPtrToDriverList(struct pci_device *dev,
|
||||
@@ -1118,7 +1118,24 @@ videoPtrToDriverList(struct pci_device *
|
||||
break;
|
||||
case 0x102b: driverList[0] = "mga"; break;
|
||||
case 0x10c8: driverList[0] = "neomagic"; break;
|
||||
@ -97,12 +91,10 @@ index 74016af..9c296f5 100644
|
||||
+ break;
|
||||
+ default:
|
||||
+ driverList[0] = "nouveau";
|
||||
+ driverList[1] = "nv";
|
||||
+ break;
|
||||
+ }
|
||||
+ break;
|
||||
case 0x1106: driverList[0] = "openchrome"; break;
|
||||
case 0x1b36: driverList[0] = "qxl"; break;
|
||||
case 0x1163: driverList[0] = "rendition"; break;
|
||||
--
|
||||
1.7.1
|
||||
|
@ -0,0 +1,86 @@
|
||||
From 0366a844c36bf8424a2625425c181b9b97f35bee Mon Sep 17 00:00:00 2001
|
||||
From: Robert Hooker <sarvatt@ubuntu.com>
|
||||
Date: Wed, 1 Sep 2010 13:23:21 -0400
|
||||
Subject: [PATCH] Attempt to get nvidia and fglrx working without an xorg.conf.
|
||||
|
||||
Signed-off-by: Robert Hooker <sarvatt@ubuntu.com>
|
||||
---
|
||||
hw/xfree86/common/xf86AutoConfig.c | 12 +++++++++++-
|
||||
hw/xfree86/common/xf86pciBus.c | 14 +++++++++-----
|
||||
2 files changed, 20 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
|
||||
index 8ef602d..a8f04b9 100644
|
||||
--- a/hw/xfree86/common/xf86AutoConfig.c
|
||||
+++ b/hw/xfree86/common/xf86AutoConfig.c
|
||||
@@ -81,6 +81,13 @@
|
||||
"\tDevice\t" BUILTIN_DEVICE_NAME "\n" \
|
||||
"EndSection\n\n"
|
||||
|
||||
+#define BUILTIN_SCREEN_SECTION_PROPRIETARY \
|
||||
+ "Section \"Screen\"\n" \
|
||||
+ "\tIdentifier\t" BUILTIN_SCREEN_NAME "\n" \
|
||||
+ "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \
|
||||
+ "\tDefaultDepth\t24\n" \
|
||||
+ "EndSection\n\n"
|
||||
+
|
||||
#define BUILTIN_LAYOUT_SECTION_PRE \
|
||||
"Section \"ServerLayout\"\n" \
|
||||
"\tIdentifier\t\"Builtin Default Layout\"\n"
|
||||
@@ -159,7 +166,10 @@ xf86AutoConfig(void)
|
||||
for (p = deviceList; *p; p++) {
|
||||
snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION, *p, 0, *p);
|
||||
AppendToConfig(buf);
|
||||
- snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, *p, 0, *p, 0);
|
||||
+ if( strcmp(*p, "fglrx") == 0 || strcmp(*p, "nvidia") == 0)
|
||||
+ snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION_PROPRIETARY, *p, 0, *p, 0);
|
||||
+ else
|
||||
+ snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, *p, 0, *p, 0);
|
||||
AppendToConfig(buf);
|
||||
}
|
||||
|
||||
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
|
||||
index 930ed83..a6aa4f4 100644
|
||||
--- a/hw/xfree86/common/xf86pciBus.c
|
||||
+++ b/hw/xfree86/common/xf86pciBus.c
|
||||
@@ -1102,7 +1102,10 @@ videoPtrToDriverList(struct pci_device *dev,
|
||||
case 0x1142: driverList[0] = "apm"; break;
|
||||
case 0xedd8: driverList[0] = "ark"; break;
|
||||
case 0x1a03: driverList[0] = "ast"; break;
|
||||
- case 0x1002: driverList[0] = "ati"; break;
|
||||
+ case 0x1002:
|
||||
+ driverList[0] = "fglrx";
|
||||
+ driverList[1] = "ati";
|
||||
+ break;
|
||||
case 0x102c: driverList[0] = "chips"; break;
|
||||
case 0x1013: driverList[0] = "cirrus"; break;
|
||||
case 0x3d3d: driverList[0] = "glint"; break;
|
||||
@@ -1119,20 +1122,21 @@ videoPtrToDriverList(struct pci_device *dev,
|
||||
case 0x102b: driverList[0] = "mga"; break;
|
||||
case 0x10c8: driverList[0] = "neomagic"; break;
|
||||
case 0x10de: case 0x12d2:
|
||||
+ driverList[0] = "nvidia";
|
||||
switch (dev->device_id) {
|
||||
/* NV1 */
|
||||
case 0x0008:
|
||||
case 0x0009:
|
||||
- driverList[0] = "vesa";
|
||||
+ driverList[1] = "vesa";
|
||||
break;
|
||||
/* NV3 */
|
||||
case 0x0018:
|
||||
case 0x0019:
|
||||
- driverList[0] = "nv";
|
||||
+ driverList[1] = "nv";
|
||||
break;
|
||||
default:
|
||||
- driverList[0] = "nouveau";
|
||||
- driverList[1] = "nv";
|
||||
+ driverList[1] = "nouveau";
|
||||
+ driverList[2] = "nv";
|
||||
break;
|
||||
}
|
||||
break;
|
||||
--
|
||||
1.7.2
|
||||
|
Loading…
x
Reference in New Issue
Block a user