我找到了一個xorg的patch
https://bugs.freedesktop.org/show_bug.cgi?id=591
不過要怎麼樣做patch??
我將他存成vaioc1vsbw.patch然後emerge xorg-x11
在他解開套件後CTRL+Z
然後把vaioc1vsbw.patch搬到
/var/tmp/portage/xorg-x11/work/patch/
底下
將這個檔名加入到一個DE...忘了叫什麼
然後#fg 1 可是emerge在做patch時只有看到其他的patch檔
就是沒看到我的vaioc1vsbw.patch
因為第一次做patch實在不知從何下手
diff -acENRr -x CVS -x test cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c devel/xc/programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c
*** cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c Tue Mar 9 15:48:20 2004
--- devel/xc/programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c Tue May 11 07:49:30 2004
***************
*** 1918,1928 ****
VBlankEnd += 0x0100U;
pATI->LCDHBlankWidth = HBlankEnd - HBlankStart;
! pATI->LCDHSyncStart = HSyncStart - HBlankStart - 1;
pATI->LCDHSyncWidth = HSyncEnd - HSyncStart;
pATI->LCDVBlankWidth = VBlankEnd - VBlankStart;
! pATI->LCDVSyncStart = VSyncStart - VBlankStart - 1;
pATI->LCDVSyncWidth = VSyncEnd - VSyncStart;
HDisplay = HTotal + 5 - pATI->LCDHBlankWidth;
--- 1918,1928 ----
VBlankEnd += 0x0100U;
pATI->LCDHBlankWidth = HBlankEnd - HBlankStart;
! pATI->LCDHSyncStart = HSyncStart - HBlankStart;
pATI->LCDHSyncWidth = HSyncEnd - HSyncStart;
pATI->LCDVBlankWidth = VBlankEnd - VBlankStart;
! pATI->LCDVSyncStart = VSyncStart - VBlankStart;
pATI->LCDVSyncWidth = VSyncEnd - VSyncStart;
HDisplay = HTotal + 5 - pATI->LCDHBlankWidth;
diff -acENRr -x CVS -x test cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/ativga.c devel/xc/programs/Xserver/hw/xfree86/drivers/ati/ativga.c
*** cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/ativga.c Tue Mar 9 15:48:22 2004
--- devel/xc/programs/Xserver/hw/xfree86/drivers/ati/ativga.c Tue May 11 07:54:27 2004
***************
*** 185,191 ****
--- 185,195 ----
(pATI->Chip >= ATI_CHIP_264CT))
pMode->CrtcHBlankStart--;
pMode->CrtcHSyncStart = pMode->HSyncStart >> 3;
+ if (pATI->LCDPanelID >= 0)
+ pMode->CrtcHSyncStart--;
pMode->CrtcHSyncEnd = pMode->HSyncEnd >> 3;
+ if (pATI->LCDPanelID >= 0)
+ pMode->CrtcHSyncEnd--;
pMode->CrtcHBlankEnd = (pMode->HTotal >> 3) - 1;
pMode->CrtcHTotal = (pMode->HTotal >> 3) - 5;
pMode->CrtcHSkew = pMode->HSkew;
***************
*** 327,332 ****
--- 331,341 ----
pMode->CrtcVBlankStart++;
else
pMode->CrtcVBlankStart--;
+ if (pATI->LCDPanelID >= 0)
+ {
+ pMode->CrtcVSyncStart--;
+ pMode->CrtcVSyncEnd--;
+ }
pMode->CrtcVBlankEnd--;
if (pATI->Chip < ATI_CHIP_264CT)
pMode->CrtcVBlankEnd--;
當ati mobility m1 遇上Xorg??
Moderator: Forums Team
edit /usr/portage/x11-base/xorg-x11/xorg-x11-6.8.2-r1.ebuild
將 patch 放在
src_unpack() {
...
epatch ${FILESDIR}/vaioc1vsbw.patch
}
vaioc1vsbw.patch 置放於 /usr/portage/x11-base/xorg-x11/files
目錄下,然後 emerge xorg-x11 即可。
你所編輯的 .ebuild 將於下次 emerge sync 時會恢復原狀,
所以最好另外置放於另一目錄,建立目錄
# mkdir -p /usr/local/myebuild/x11-base/xorg-x11
copy 你的 .ebuild 於此目錄下,再建立 digest
# cd /usr/local/myebuild/x11-base/xorg-x11
# ebuild xxx.ebuild digest
然後編輯 /etc/make.conf 加上
PORTDIR_OVERLAY="/usr/local/myebuild"
將 patch 放在
src_unpack() {
...
epatch ${FILESDIR}/vaioc1vsbw.patch
}
vaioc1vsbw.patch 置放於 /usr/portage/x11-base/xorg-x11/files
目錄下,然後 emerge xorg-x11 即可。
你所編輯的 .ebuild 將於下次 emerge sync 時會恢復原狀,
所以最好另外置放於另一目錄,建立目錄
# mkdir -p /usr/local/myebuild/x11-base/xorg-x11
copy 你的 .ebuild 於此目錄下,再建立 digest
# cd /usr/local/myebuild/x11-base/xorg-x11
# ebuild xxx.ebuild digest
然後編輯 /etc/make.conf 加上
PORTDIR_OVERLAY="/usr/local/myebuild"
謝謝各位前輩的幫忙不過我還是搞不出來
很冒昧的請各位前輩幫我看看到底我哪邊做錯了
我是依據下面的訊息去做的
http://forums.gentoo.org/viewtopic-t-21 ... 4x480.html
https://bugs.freedesktop.org/show_bug.cgi?id=591
很努力的看了(我的英文實在不好)但是移除"+1"是啥意思???
我也試了Jim前輩說的方法
edit /usr/portage/x11-base/xorg-x11/xorg-x11-6.8.2-r1.ebuild
將 patch 放在
src_unpack() {
...
epatch ${FILESDIR}/vaioc1vsbw.patch
}
vaioc1vsbw.patch 置放於 /usr/portage/x11-base/xorg-x11/files
目錄下,然後 emerge xorg-x11 即可。
不過系統說找不到在/var/tmp/portage/xorg-x11-6.8.0-r4/work/patch/下的
vaioc1vsbw.patch
後來我又用了emerge xorg-x11(不過xorg-x11-6.8.2-r1.ebuild已經照jim前輩的方法修改過了)
後CTRL+Z
然後把vaioc1vsbw.patch搬到
/var/tmp/portage/xorg-x11/work/patch/
底下的方法系統有找到patch不過卻跟我說code有問題在" --- 1918,1928 ---- "地方
請各位前輩指點一下
很冒昧的請各位前輩幫我看看到底我哪邊做錯了
我是依據下面的訊息去做的
http://forums.gentoo.org/viewtopic-t-21 ... 4x480.html
https://bugs.freedesktop.org/show_bug.cgi?id=591
很努力的看了(我的英文實在不好)但是移除"+1"是啥意思???
我也試了Jim前輩說的方法
edit /usr/portage/x11-base/xorg-x11/xorg-x11-6.8.2-r1.ebuild
將 patch 放在
src_unpack() {
...
epatch ${FILESDIR}/vaioc1vsbw.patch
}
vaioc1vsbw.patch 置放於 /usr/portage/x11-base/xorg-x11/files
目錄下,然後 emerge xorg-x11 即可。
不過系統說找不到在/var/tmp/portage/xorg-x11-6.8.0-r4/work/patch/下的
vaioc1vsbw.patch
後來我又用了emerge xorg-x11(不過xorg-x11-6.8.2-r1.ebuild已經照jim前輩的方法修改過了)
後CTRL+Z
然後把vaioc1vsbw.patch搬到
/var/tmp/portage/xorg-x11/work/patch/
底下的方法系統有找到patch不過卻跟我說code有問題在" --- 1918,1928 ---- "地方
請各位前輩指點一下
- wishy-washy
- Posts: 79
- Joined: Tue Jan 06, 2004 2:06 pm
- Location: Albany, CA
- Contact:
Can you modify the first hunk of the patch to something like this?
[/code]
Code: Select all
*** 1918,1928 ****
--- 1918,1928 ----
VBlankEnd += 0x0100U;
pATI->LCDHBlankWidth = HBlankEnd - HBlankStart;
- pATI->LCDHSyncStart = HSyncStart - HBlankStart - 1;
+ pATI->LCDHSyncStart = HSyncStart - HBlankStart;
pATI->LCDHSyncWidth = HSyncEnd - HSyncStart;
pATI->LCDVBlankWidth = VBlankEnd - VBlankStart;
- pATI->LCDVSyncStart = VSyncStart - VBlankStart - 1;
+ pATI->LCDVSyncStart = VSyncStart - VBlankStart;
pATI->LCDVSyncWidth = VSyncEnd - VSyncStart;
HDisplay = HTotal + 5 - pATI->LCDHBlankWidth;
我修改了patch不過還是不行
emerge後出現錯誤要我到/var/portage/x11-base/xorg-x11/xorg-x11-6.8.0-r5/temp/下看錯誤訊息
以下是錯誤訊息
***** vaioc1vsbw.patch *****
============================
PATCH COMMAND: patch -p0 -g0 <
/var/tmp/portage/xorg-x11-6.8.0-r5/work/patch/vaioc1vsbw.patch
============================
patch: **** replacement text or line numbers mangled in hunk at line 6
============================
PATCH COMMAND: patch -p1 -g0 <
/var/tmp/portage/xorg-x11-6.8.0-r5/work/patch/vaioc1vsbw.patch
============================
patch: **** replacement text or line numbers mangled in hunk at line 6
============================
PATCH COMMAND: patch -p2 -g0 <
/var/tmp/portage/xorg-x11-6.8.0-r5/work/patch/vaioc1vsbw.patch
============================
patch: **** replacement text or line numbers mangled in hunk at line 6
============================
PATCH COMMAND: patch -p3 -g0 <
/var/tmp/portage/xorg-x11-6.8.0-r5/work/patch/vaioc1vsbw.patch
============================
patch: **** replacement text or line numbers mangled in hunk at line 6
============================
PATCH COMMAND: patch -p4 -g0 <
/var/tmp/portage/xorg-x11-6.8.0-r5/work/patch/vaioc1vsbw.patch
emerge後出現錯誤要我到/var/portage/x11-base/xorg-x11/xorg-x11-6.8.0-r5/temp/下看錯誤訊息
以下是錯誤訊息
***** vaioc1vsbw.patch *****
============================
PATCH COMMAND: patch -p0 -g0 <
/var/tmp/portage/xorg-x11-6.8.0-r5/work/patch/vaioc1vsbw.patch
============================
patch: **** replacement text or line numbers mangled in hunk at line 6
============================
PATCH COMMAND: patch -p1 -g0 <
/var/tmp/portage/xorg-x11-6.8.0-r5/work/patch/vaioc1vsbw.patch
============================
patch: **** replacement text or line numbers mangled in hunk at line 6
============================
PATCH COMMAND: patch -p2 -g0 <
/var/tmp/portage/xorg-x11-6.8.0-r5/work/patch/vaioc1vsbw.patch
============================
patch: **** replacement text or line numbers mangled in hunk at line 6
============================
PATCH COMMAND: patch -p3 -g0 <
/var/tmp/portage/xorg-x11-6.8.0-r5/work/patch/vaioc1vsbw.patch
============================
patch: **** replacement text or line numbers mangled in hunk at line 6
============================
PATCH COMMAND: patch -p4 -g0 <
/var/tmp/portage/xorg-x11-6.8.0-r5/work/patch/vaioc1vsbw.patch
- wishy-washy
- Posts: 79
- Joined: Tue Jan 06, 2004 2:06 pm
- Location: Albany, CA
- Contact:
That patch is already applied in 6.8.2.
But not in 6.8.0
So either the patch is already in gentoo's patchset (it seems not) or you screwed up downloading that vaioc1vsbw.patch. Those whitespaces in the patch are "VERY" important. Don't strip them.
Code: Select all
$ patch -p2 --dry-run <../vaioc1vsbw.patch
patching file programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c.rej
patching file programs/Xserver/hw/xfree86/drivers/ati/ativga.c
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file programs/Xserver/hw/xfree86/drivers/ati/ativga.c.rejCode: Select all
$ patch -p2 --dry-run <../vaioc1vsbw.patch
patching file programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c
patching file programs/Xserver/hw/xfree86/drivers/ati/ativga.c