Translations of this page:

poulsboドライバ関連

  • xf86-video-psb-0.32-p1をxorg-server 1.7上で動かすためのパッチ置き場。
  • 参考ページ:
    • 実際参考にしたページは他にあったんですが、失念・・・。いずれにせよ上と同じような情報が結構で回っています
    • とりあえずblino氏ほか情報を出してくれている方に感謝
  • Gentoo用だけど多分汎用
  • ということで、とりあえず動くってレベルです

使いかた

  • がんばって使う。
  • ebuildのepatchで追加したりするといいかも
  • CFLAGS=“-fvisibility=default”をしてからドライバをビルドすること
    • ほんとはebuildをいじるのがいいんだろうけど、よーわからん

問題点

  • なんだか動画がうまく再生されないんだ・・・。関係ないかもしれないけど。

パッチ

  • ダウンロード→snge-psb-0.32.patch
  • 修正点は:
    • xf86LoaderReqSymListsを使っているところを全部コメントアウト
    • LoaderRefSymListsを使っているところを(ry
    • xf86AddModuleInfoのシンボルを追加。中身は何もしない。
diff -Naur xserver-xorg-video-psb-0.32.0/src/psb_dri.c xserver-xorg-video-psb-0.32.0.new/src/psb_dri.c
--- xserver-xorg-video-psb-0.32.0/src/psb_dri.c	2009-05-12 10:37:53.000000000 +0900
+++ xserver-xorg-video-psb-0.32.0.new/src/psb_dri.c	2010-09-07 18:23:59.000000000 +0900
@@ -548,7 +548,7 @@
 
     PSB_DEBUG(pScrn->scrnIndex, 3, "psbDRIScreenInit\n");
 
-    xf86LoaderReqSymLists(driReqSymbols, NULL);
+    // xf86LoaderReqSymLists(driReqSymbols, NULL);
 
     pPsb->pDRIInfo = NULL;
 
diff -Naur xserver-xorg-video-psb-0.32.0/src/psb_driver.c xserver-xorg-video-psb-0.32.0.new/src/psb_driver.c
--- xserver-xorg-video-psb-0.32.0/src/psb_driver.c	2010-09-05 23:52:36.000000000 +0900
+++ xserver-xorg-video-psb-0.32.0.new/src/psb_driver.c	2010-09-07 09:15:03.000000000 +0900
@@ -301,6 +301,8 @@
     {0, 0, 0, 0}
 };
 
+// _X_EXPORT void xf86AddModuleInfo(pointer info, pointer module);
+
 /*
  * This data is accessed by the loader.  The name must be the module name
  * followed by "ModuleData".
@@ -311,18 +313,21 @@
 psbSetup(pointer Module, pointer Options, int *ErrorMajor, int *ErrorMinor)
 {
     static Bool Initialised = FALSE;
-
+    
+    xf86AddModuleInfo(NULL, NULL);
     PSB_DEBUG(-1, 3, "psbSetup\n");
 
     if (!Initialised) {
 	Initialised = TRUE;
 	xf86AddDriver(&psb, Module, 0);
+#if 0
 	LoaderRefSymLists(fbSymbols, ddcSymbols, shadowSymbols,
 			  psbvgahwSymbols,
 #ifdef XF86DRI
 			  psbDRMSymbols, psbDRISymbols,
 #endif
 			  NULL);
+#endif
 	return (pointer) TRUE;
     }
 
@@ -626,8 +631,7 @@
 
     if (!xf86LoadSubModule(pScrn, "dri"))
 	return FALSE;
-
-    xf86LoaderReqSymLists(psbDRISymbols, psbDRMSymbols, NULL);
+    // xf86LoaderReqSymLists(psbDRISymbols, psbDRMSymbols, NULL);
     return TRUE;
 }
 
@@ -648,11 +652,19 @@
 
     pPsb->xpsb = TRUE;
 
-    xf86LoaderReqSymLists(psbXpsbSymbols, NULL);
+    // xf86LoaderReqSymLists(psbXpsbSymbols, NULL);
     return TRUE;
 }
 #endif
 
+// remove in Xserver 1.7, add it again!
+_X_EXPORT void
+xf86AddModuleInfo(pointer into, pointer module)
+{
+}
+
+
+
 static Bool
 psbPreInitAccel(ScrnInfoPtr pScrn)
 {
@@ -668,7 +680,7 @@
 	if (!xf86LoadSubModule(pScrn, "exa"))
 	    return FALSE;
 
-	xf86LoaderReqSymLists(exaSymbols, NULL);
+	// xf86LoaderReqSymLists(exaSymbols, NULL);
     }
 
     xf86DrvMsg(pScrn->scrnIndex, from, "Acceleration %sabled\n",
@@ -708,7 +720,7 @@
 	if (!xf86LoadSubModule(pScrn, "shadow"))
 	    return FALSE;
 
-	xf86LoaderReqSymLists(shadowSymbols, NULL);
+	// xf86LoaderReqSymLists(shadowSymbols, NULL);
     }
 
     xf86DrvMsg(pScrn->scrnIndex, from, "Shadow framebuffer %sabled\n",
@@ -842,7 +854,7 @@
 
     if (!xf86LoadSubModule(pScrn, "vbe"))
 	return FALSE;
-    xf86LoaderReqSymLists(vbeSymbols, NULL);
+    // xf86LoaderReqSymLists(vbeSymbols, NULL);
 
     /*
      * Parse options and load required modules here.
@@ -862,7 +874,7 @@
 
     if (!xf86LoadSubModule(pScrn, "fb"))
 	return (FALSE);
-    xf86LoaderReqSymLists(fbSymbols, NULL);
+    //  xf86LoaderReqSymLists(fbSymbols, NULL);
 
     pScrn->chipset = "Intel GMA500";
     pScrn->monitor = pScrn->confScreen->monitor;
@@ -1021,7 +1033,7 @@
 
     if (!xf86LoadSubModule(pDevice->pScrns[0], "vgahw"))
 	return FALSE;
-    xf86LoaderReqSymLists(psbvgahwSymbols, NULL);
+    // xf86LoaderReqSymLists(psbvgahwSymbols, NULL);
 
     if (!vgaHWGetHWRec(pDevice->pScrns[0]))
 	return FALSE;
 
software/poulsbo.txt · 最終更新: 2011/02/09 00:26 by sunagae
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki