התקנת Xgl
מתוך הויקי של ג'נטו.
|
|
| שים לב: Xgl לא יתווסף לפורטאג' בעת הזאת בגלל בעית תלויות.
ראה =135329 באג #135329. |
תוכן העניינים |
[עריכה] הקדמה
Xgl הוא שרת X אשר משתמש ב - OpenGL כמנוע הציור שלו. יחד עם compiz, מנהל חלונות מבוסס OpenGL, הוא מאפשר אפקטים מגניבים בשולחן העבודה. Xgl מבוסס על תוספת ל - mesa שנקראת GLX_EXT_texture_from_pixmap, ונמצאת אך ורק ב - Mesa >= 3.5.
מידע ברשימת התפוצה של Xorg מציע שהמפרט של GLX_EXT_texture_from_pixmap נכתב בשיתוף עם אנשי NVIDIA, ולכן מימוש במנהלי התקן בקוד סגור של NVIDIA כנראה קרוב (הצפי הוא בסתיו הקרוב, בסדרת 1.0.9xxx).
| אזהרה: תוכנה זו אינה נחשבת יציבה עדיין, אך פועלת כראוי ברוב המקרים. יש להשתמש בזהירות. אל תגיד "לא ידעתי" אחר כך... |
[עריכה] דרישות חומרה
ראה רשימת כרטיסי המסך הנתמכים על ידי Xgl
[עריכה] התקנת Xgl
[עריכה] דרישות תוכנה
עדכן את עץ portage המקומי שלך
| קוד: עדכון עץ portage המקומי |
|
emerge --sync |
אתה תצטרך Xorg מודולרי (גירסא 7.0). ראה את מסמכי ג'נטו המקוריים או את מדריך Xorg מודולרי בויקי.
בשלב זה, שימוש ב-gconf הוא הדרך היחידה לקבוע את התצורה של Compiz מבלי לשנות את קוד המקור. יכול להשתמש בכלי התצורה הגרפי (Gconf Editor) עבור Xgl/compiz/ אתה תצטרך להתקין אותו, יחד עם כל החבילות שהוא תלוי בהן, אפילו אם אינך משתמש ב - Gnome.
| קוד: התקנת gconf-editor |
emerge gconf-editor |
כמו כן, תצטרך Subversion עם תמיכה מופעלת ב - webdav. שים לב לכפל השלילה בדגלי ה - USE. אתה תצטרך לכבות את הדגל "nowebdav". הוסף שורה ל - /etc/portage/package.use אם יש בכך צורך:
| קוד: הוספת תמיכת webdav ל - subversion |
echo "dev-util/subversion -nowebdav" >> /etc/portage/package.use |
ולאחר מכן:
| קוד: התקנת subversion |
|
emerge subversion |
[עריכה] משיכת תוספת ל - Portage
- הערה: עדיף לשמור את כל התוספות ל - Portage מופרדות אחת מהשנייה.
שנה ספרייה לספריית תוספי ה - Portage האהובה עלייך (צור אחת אם אין לך עדיין כזאת)...
| קוד: שינוי לספריית Portage האהובה עלייך |
|
cd /usr/local/overlays |
משוך את מאגר ה - subversion מ - CoffeeBuzz אל תת הספריה 'xgl-coffee'
| קוד: הורדה מ - subversion |
svn co http://svn.xgl-coffee.org/xgl-coffee/trunk xgl-coffee |
כעת יש לך תוספת ל - portage תחת /usr/local/overlays/xgl-coffee.
הוסף נתיב זה ל - PORTDIR_OVERLAY שלך ב - /etc/make.conf.
| קובץ: /etc/make.conf |
PORTDIR_OVERLAY="/usr/local/overlays/xgl-coffee" |
| אזהרה: גירסת ניסוי אמצע מאי הועברה ל - trunk. אם אתה משדרג מגירסא ישנה, כדאי שתקרא את התקנת Xgl#טיפ: כיצד לעדכן תוספת ל - Portage לאחר שינוי ענף |
לחלופין, אתה יכול להשתמש ב - layman כדי לנהל עבורך את התוספות ל - Portage.
| קוד: התקנת layman |
|
emerge layman |
אם אינך משתמש eix, ודא שאתה עורך את /etc/layman/layman.cfg ומגדיר שם:
| קוד: עריכת /etc/layman/layman.cfg |
make_conf : /etc/make.conf |
כעת אתה יכול להוסיף תוספת ל - Portage עם layman:
| קוד: הוספת תוספת ל - Portage עם layman |
layman -f layman -a portage-xgl |
עדכון קבצי תוספת Portage עם layman הוא קל:
| קוד: עדכון קבצי תוספת Portage עם layman |
layman -s portage-xgl |
[עריכה] ביטול מיסוך של חבילות רלוונטיות
בתור התחלה, נצטרך להוסיף את השורות הבאות ל - /etc/portage/package.unmask.
| קובץ: /etc/portage/package.unmask |
media-libs/glitz media-libs/mesa x11-apps/mesa-progs sys-apps/man x11-base/xgl x11-libs/cairo x11-libs/qt x11-misc/util-macros x11-proto/glproto x11-wm/compiz-quinnstorm x11-wm/compiz-vanilla x11-libs/libwnck x11-misc/xwinwrap #movies/openGL screensaver on desktop as in Novel video: optional virtual/xft |
עלייך לבחור בין compiz-quinnstorm ו - compiz-vanilla
- compiz-vanilla אינו מכיל טלאים מאף צד ג'. הוא ישירות מ - cvs.
- compiz-quinnstorm הוא snapshot של בסיס הקוד של quinnstorm יחד עם תוספי ניסוי. שים לב שאין לו את דגל ה - USE העונה לשם "kde", בשונה מ - vanilla.
ודא שבחבילה x11-libs/cairo מופעל הדגל glitz.
| קוד: הכנסת glitz לרשימת הדגלים של cairo |
|
echo "x11-libs/cairo glitz" >> /etc/portage/package.use |
[עריכה] ביצוע Emerge ל Xgl
הדבר הבא שנעשה הוא emerge ל - cairo. אנו נשתמש באפשרות "--oneshot" וזאת על מנת ש - Portage לא ירשום חבילה זו בקובץ world. חבילות אחרות ממילא ידרשו את cairo לפני שנסיים כאן, ולכן שימוש ב - oneshot יישמור על הדברים נקיים...
| קוד: התקנת cairo |
|
emerge --oneshot --ask --verbose cairo |
לאחר מכן נתקין את pango ואת gtk+, וזאת כדי לוודא שהן הודרו מול cairo.
| קוד: התקנת pango ו - gtk+ |
|
emerge --oneshot --ask --verbose pango gtk+ |
הדבר האחרון שנרצה לעשות לפני שנעשה emerge ל - Xgl והחבילות הרלוונטיות: עלינו לוודא שדגלי ה - USE העונים לשמות gnome ו - svg מופעלים עבור compiz. ייתכן שתצטרך להוסיף את השורה הבאה ל /etc/portage/package.use שלך:
| קובץ: /etc/portage/package.use |
x11-wm/compiz-quinnstorm gnome svg # זה לא תומך ב - KDE x11-wm/compiz-vanilla gnome svg # זה יכול להחיל את הדגל kde כדי לתמוך ב kde |
- ודא שיש לך את הדגל gnome ב - USE אפילו אם אתה רוצה KDE. השימוש ב "USE="gnome הוא חובה.
לבסוף, הבה נעשה emerge על Xgl והחבילות הרלוונטיות. קודם כל, נתקין את glproto
| קוד: התקנת glproto |
|
emerge --ask --verbose glproto |
משתמשי NVIDIA, אל תשכחו לחזור חזרה ל - libGl של היצרן שלכם אחרי שתעשו emerge ל - mesa.
| קוד: התקנת xgl ו - compiz-vanilla ולאחר מכן mesa ואז שוב xgl ו - compiz-vanilla |
emerge -av mesa eselect opengl set nvidia # (for NVIDIA users) emerge -av xgl compiz-vanilla # Either use compiz-vanilla, or compiz-quinnstorm emerge -av nvidia-glx # (for NVIDIA users) emerge -a1v mesa xgl compiz-vanilla # Either use compiz-vanilla, or compiz-quinnstorm |
אזהרה:
|
- ישנן בעיות בהידור xgl על מערכות AMD64 + NVIDIA, ראה ב - [1] - דווח כמתוקן החל מ - 2006-03-07.
לאלו מכם שיש להם בעיות בהידור mesa עם תוסף ה - Portage של CoffeeBuzz בגלל שגיאות הקשורות ל - dri, נסו לבצע emerge ל - libdrm מתוסף ה - Portage קודם לכן. (ה - Ebuild שונה כך שישתמש ב - ${CHOST} במקום ב - ${HOST}. אם יש לך בעיות, אנא צור קשר עם המתחזק של CoffeeBuzz או שלח הודעה בפורום.
| קוד: התקנת libdrm |
echo "x11-libs/libdrm ~x86" >> /etc/portage/package.keywords emerge libdrm mesa |
כשסיימת הכל, cairo צריך להיות בתוך המערכת שלך כחבילה שיש בה תלות (הערה: חייבים להתקין את חבילת gentoolkit כדי להשתמש בפקודה equery). על מנת לבדוק, תוכל להשתמש בפקודה:
| קוד: בדיקה האם יש תלות ב - cairo |
|
equery d cairo |
אם הפקודה הנ"ל לא מראה אף חבילה, משהו לא בסדר!
[עריכה] סקריפטי התקנה אלטרנטיביים
[עריכה] install.sh
emxgl כבר אינו מומלץ. ישנו סקריפט התקנה חדש בתוספת ה - Portage של xgl-coffee.
הוא עובד עם כל סוגי כרטיסי המסך (i810, ATI, ו - NVIDIA).
כדי לקבל הוראות שימוש, הרץ בתור root,
| קוד: שימוש ב - install.sh |
cd /usr/local/overlays/xgl-coffee ./install.sh |
[עריכה] עדכון Xgl
כדי לעדכן את תוסף ה - Portage, עבור לספריה המתאימה והריץ את הפקודה הבאה:
| קוד: עדכון תוסף ה - Portage |
cd /usr/local/overlays/xgl-coffee/ ./svnup.sh |
[עריכה] הרצת Xgl
צריך לומר ל - Compiz באיזה תוספים עליו להשתמש. אם לא תציין אף תוסף, לא תקבל אפילו עיצובי חלונות! (לא הקטנת/הגדלת/סגירת חלונות, לא שינוי גודל, לא כלום.)
ישנן שתי דרכים לציין תוספים. אפשר לעשות הכל משורת הפקודה, או להשתמש בכלי קביעת התצורה הגרפי Gconf. אבל אינך יכול להשתמש בשתיהן!. אם gconf מצויין בשורת-הפקודה, אזי compiz יתעלם מכל שאר התוספים שכתובים בשורת הפקודה, ויקח את רשימת התוספים שלו מתצורת ה - Gconf שלך במקום.
אז, אם זו הפעם הראשונה שאתה מריץ את Xgl ואתה רוצה לקבוע תצורה עם Gconf, זה יהיה הזמן הטוב לעשות זאת.
עריכה: היו לי המון בעיות עם עומק צבע של 16 סיביות! לא עיצובי חלונות, בעיות גרפיקה, וכו'. אני ממליץ לנסות עומק צבע של 24 סיביות. זה עבד בשבילי.
| אזהרה: אתה חייב להוסיף תוספים ל - gconf-editor קודם לפני שאתה יוצא מ - X ומריץ את הסקריפט startxgl, או שתקבל שגיאות, תודה רבה! |
| קוד: עבור משתמשי NVIDIA |
Xgl :1 -ac -accel glx:pbuffer -accel xv LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ DISPLAY=:1 compiz gconf gconf-editor |
| קוד: עבור משתמשי ATi |
Xgl :1 -ac -accel glx:pbuffer -accel xv:pbuffer LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ DISPLAY=:1 compiz gconf gconf-editor |
ואז לך ל --> apps --> compiz --> general --> allscreens --> options וערוך את active_plugins מצד ימין.
לכל הפחות, כנראה שתרצה את gconf ואת decoration. אבל אם אתה באמת רוצה להתלהב מ - Xgl, כדאי לך להוסף גם את wobbly, fade, switcher, move, resize, place, minimize, cube, rotate, zoom, ו - scale. בסדר הזה.
שים לב:
export GCONF_CONFIG_SOURCE="xml:merged:/etc/gconf/gconf.xml.defaults" gconftool-2 --makefile-install-rule /etc/gconf/schemas/compiz.schemas וזה עובד בדרך כלל. |
[עריכה] חלונאי
| שים לב: בחלקים הבאים Xgl מורץ על תצוגה 1, במקום תצוגה 0, וזאת משום שלגירסאות הראשונות של Xgl היו בעיות בשימוש בתצוגה 0. עם הגירסאות האחרונות לא היו לי בעיות גם בשימוש בתצוגה 0 הסטנדרטית (ואני חייב להשתמש בתצוגה 0 בגלל ששימוש ב - Xgl וב - Gnome אינו מאפשר לשירות העגינה האוטומטית, gnome-volume-manager, לעלות...). |
כדי לנסות זאת בחלון אחר אם כבר רץ שרת X:
| קוד: עבור משתמשי ATi |
Xgl :1 -ac -accel glx:pbuffer -accel xv:pbuffer |
| קוד: עבור משתמשי NVIDIA |
Xgl :1 -ac -accel glx:pbuffer -accel xv |
| שים לב: אני לא העזתי באמת לשנות את זה, משום שאני לא בטוח האם זה ייתן שיפור עבור כל משתמשי NVIDIA. אבל נראה שהפקודה שניתנה קודם לכן עבור משתמשי ATi תהפוך את פעולת הרינדור למהירה יותר גם עבור משתמשי NVIDIA. כמו כן, תוכל לנסות את האפשרות fbo (על ידי הוספת accel xv:fbo-), במקום. For a brief discussion עבור דיון קצר בנושא, ראה כאן: http://forums.gentoo.org/viewtopic-t-455153-highlight-.html |
לאחר מכן הפעל את compiz כך:
| קוד: הפעלת compiz |
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ DISPLAY=:1 compiz gconf |
| קוד: הפעלת gnome-window-decorator |
DISPLAY=:1 gnome-window-decorator |
| קוד: הרצת יישום |
DISPLAY=:1 xterm |
| שים לב: אתה יכול להגדיר את תוספי compiz ב - gconf-editor תחת apps/compiz/ |
[עריכה] XDM
החלף את ההפנייה לשרת ה X
| קובץ: /etc/X11/xdm/Xservers |
:0 local /usr/bin/Xgl vt7 |
[עריכה] KDM (מנהל הכניסה של KDE)
החלף את הערך ServerCmd ב - kdmrc ל:
| קובץ: /usr/kde/<your version>/share/config/kdm/kdmrc |
ServerCmd=/usr/bin/Xgl -br -ac -accel glx:pbuffer -accel xv |
תצטרך גם לשנות את הגדרת ServerTimeout באותו חלק, כיוון של Xgl עשוי לקחת מעט יותר זמן לעלות מאשר ל X רגיל:
| קובץ: /usr/kde/<your version>/share/config/kdm/kdmrc |
ServerTimeout=30 |
אם יש לך כרטיס ATi (אינטל גם?) ואתה מתחיל את Xgl על 1: (תצוגה 1), שנה את שורת StaticServers בחלק [General] לדבר הבא:
| קובץ: /usr/kde/<your version>/share/config/kdm/kdmrc |
StaticServers=:1 |
אל תשתמש בסקריפט/usr/kde/3.5/share/config/kdm/Xstartup כדי להפעיל את compiz. הוא יריץ את compiz בתור root...
עלייך לשים את הסקריפט הזה בנתיב שלך: You should place this script in your path:
| קובץ: /usr/local/bin/compiz-decorator |
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib compiz --replace decoration wobbly fade minimize cube rotate zoom scale move resize place switcher & sleep 3 gnome-window-decorator & |
במכונה מהירה, תוכל לשנות את "sleep 3" ל - "sleep 1". לאחר מכן, אתה חייב להוסיף KDEWM=compiz-decorator ל - /etc/env.d/99kde-env (או כל קובץ אחר תחת /etc/env.d) ולאחר מכן להריץ env-update.
דבר זה מאפשר לך פשוט להיות עם הפעלה דרך /etc/init.d/xdm בזמן העלייה שתיצור Xgl מלא עם אפקטים מופעלים ללא צורך בהתערבות משתמש, עם מסך הכניסה הרגיל של kdm.
[עריכה] GDM (מנהל הכניסה של GNOME)
עלייך לעשות שלושה דברים כדי ש - Xgl יעבוד עם gdm ו - compiz ייטען באופן אוטומטי אחרי שאתה נכנס למערכת. 1) להגדיר את gdm לחכות מספיק זמן כדי ש - Xgl יעלה לפני שהוא מניח שהוא תקוע עד כדי חוסר שימוש 2) להגדיר ל - gdm להשתמש בשרת ה - Xgl, ו - 3) להגדיר את ה - session שלך ב gnome כך שיטען את compiz באופן אוטומטי.
הערה: קביעת התצורה של gdm כדי לחכות יותר זמן להפעלת Xgl זמינה אך ורק מגירסא gdm-2.14.1 ואילך. אם אתה משתמש בגירסא מוקדמת יותר, המשך לשלב 2, אבל קח בחשבון שאולי לא תצליח לגרום ל - gdm לעבוד עם Xgl. כמו כן, שימוש ב - gdmsetup כדי לקבוע את תצורת gdm לשימוש עם שרת Xgl (חלק 2 א') עשוי להיות לא אפשרי עבור גירסאות gdm הקודמות לגירסא 2.14.0. אם האפשרויות הנחוצות לא זמינות לך, ערוך ידנית את קובץ ההגדרות של gdm (חלק 2 ב').
[עריכה] הגדרת gdm כדי לחכות יותר זמן עד ש - Xgl יסיים לעלות
Gdm מוגדרף בברירת מחדל, להרוג שרת X שלוקח לו יותר מ - 10 שניות לעלות. לחוסר המזל, לגירסאות האחרונות של Xgl לוקח לעתים זמן ארוך מכך כדי לסיים לעלות. תודות לעבודה של משתמש Xgl בג'נטו, gdm (החל מגירסא 2.14.1) יכול להיות מוגדר לזמן המתנה ארוך יותר מ - 10 שניות.
| קוד: עדכון gdm לגירסא 2.14.1 ומעלה |
emerge '>=gdm-2.14.1' |
בשלב זה, התקנת gdm לא עבדה כי לא היה ניתן להחיל את הטלאי של הגדלת זמן ההמתנה על קוד המקור. לאחר מכן שמתי לב שהטלאי כבר קיים החל מגירסא 2.14.1. אז שמתי בהערה את שורת PORTDIR_OVERLAY ב /etc/make.conf וביצעתי emerge מחדש. הפעם, ההתקנה עברה חלק... אז אם אותו דבר קורה לך, תדע מה לעשות :)
הוסף/שנה את הפקודות הבאות בחלק [daemon] של /etc/X11/gdm/gdm.conf. השורות:
| קובץ: /etc/X11/gdm/gdm.conf |
# This determines whether gdm will send notifications to the console #ConsoleNotify=true [security] |
הופכות ל:
| קובץ: /etc/X11/gdm/gdm.conf |
# This determines whether gdm will send notifications to the console #ConsoleNotify=true # How long gdm should wait before it assumes a started Xserver is defunct and # kills it. 10 seconds should be long enough for X, Xgl may need 20 or 25. GdmXserverTimeout=25 [security] |
[עריכה] הגדרת gdm להשתמש בשרת Xgl
- קודם כל, שמור גיבוי של קובץ gdm.conf שלך:
| קוד: גיבוי gdm.conf |
cp /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm.conf.back |
[עריכה] באמצעות gdmsetup
- הרץ את gdmsetup
- בחר בלשונית "Security"
- לחץ על הכפתור "Configure X Server" שנמצא בתחתית הלשונית מצד ימין
בהתחלה נמחוק את הערך עבור שרת ה - X הסטנדרטי
- לחץ על השרת הסטנדרטי שמופיע ברשימת "Servers to Start"
- לחץ על כפתור Remove
כעת ניצור ערך חדש עבור שרת Xgl
- לחץ על כפתור "Add/Modify"
- הגדר את השרת החדש להשתמש ב "VT 1". השתמש ב - "Standard" עבור האפשרות "Server" - דבר זה יקבע באיזה פרופיל להשתמש עבור השרת, ובאופן אידאלי היינו יכולים ליצור פרופיל "Xgl" חדש כאן, אך נכון לעכשיו לא ניתן ליצור פרופיל חדש באמצעות gdmsetup, אז פשוט נשנה את ההגדרות עבור הפרופיל הסטנדרטי, "Standard".
אל תגדיר אף אפשרות כאן. לחץ על "Ok" כשתסיים.
- תחת "Server Settings" שנה את "Server Name" ל - "Xgl"
- הכנס את פקודת ה - Xgl שלך לתיבת "Command", לדוגמא, משתמשי ATi יכתבו:
| קוד: פקודה עבור משתמשי ATi |
/usr/bin/Xgl :1 -ac -accel xv:pbuffer -accel glx:pbuffer |
ואילו משתמשי NVIDIA יכתבו:
| קוד: פקודה עבור משתמשי NVIDIA |
/usr/bin/Xgl -br -ac -accel glx:pbuffer -accel xv:fbo |
- שנה בתיבת-הגלילה "Luanch" ל - "Greeter"
- סמן את האפשרות "Logins are handled by this computer"
- סמן את האפשרות "(Flexible (on demand".
- שמור וצא
- הפעלה מחדש את gdm
[עריכה] ידנית
- פתח את /etc/X11/gdm/gdm.conf בעורך טקסט וחפש את החלק [servers]. הוא אמור להיות לקראת סוף הקובץ.
- הפוך את השורה 0=Standard להערה על ידי הקדמתה בסימן הסולמית, והוסף מתחתיה את השורות הבאות:
| קובץ: /etc/X11/gdm/gdm.conf |
0=inactive 1=Xgl |
- הוסף את מידע השרת עבור שרת ה - Xgl, וזכור להחליף את פקודת ה - Xgl לפקודה הנכונה עבורך! הדוגמא שלקמן היא לכרטיסי ATi.
| קובץ: הגירסא המעודכנת של /etc/X11/gdm/gdm.conf |
... [servers] #0=Standard 0=inactive #for me this didn't work "'inactive' not found" - just comment it out 1=Xgl ... # Definition of the xgl X server. [server-Xgl] name=Xgl command=/usr/bin/Xgl :1 -ac -accel xv:pbuffer -accel glx:pbuffer flexible=true chooser=false handled=true priority=0 |
- הפעל מחדש את gdm
הערה: עבור משתמשי i810, הפקודה עבור הנ"ל צריכה להיות:
| קוד: עבור משתמשי i810 |
[server-xgl] name=Xgl server command=/usr/bin/Xgl -accel xv -accel glx:pbuffer -accel xv:pbuffer -ac -audit 0 -br -dpms -dpi 72 flexible=true |
הערה: ב Gnome 2.13 השינויים האלה צריכים ללכת ל - /etc/X11/gdm/custom.conf. כמו כן, הגדרת "0=inactive" גרמה ל-Xgl להתרסק אצלי, ולכן אציע רק לשים את "0=Standard" בהערה, להוסיף את "1=Xgl", ולא להוסיף את "0=Inactive" אם יש לך בעיות בהתחלה של gdm למשך כמה שניות ואז Xgl מתרסק...
[עריכה] הוספת compiz ל - session של ה - gnome שלך (והחלפת metacity)
הנה סקריפט קטן, ששמתי תחת /usr/bin/. שימושי אם אתה לא רוצה להריץ תמיד את Xgl. שנה או הסר את שורת setxbmap בהתאם לסוג לוח המקשים שלך. .
| קובץ: /usr/bin/compizrc |
#!/bin/bash
#
# Start compiz within gnome-session
#
if [ `ps -A | grep Xgl | wc -l` == "1" ]; then
DISPLAY=:1 LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace gconf &
DISPLAY=:1 gnome-window-decorator &
DISPLAY=:1 setxkbmap -model pc105 -layout it -variant basic
fi
|
| קוד: הפוך את הסקריפט לבר-ביצוע |
|
chmod 755 /usr/bin/compizrc |
- לאחר שתיכנס לתוך Gnome, היכנס ל System->Settings->Sessions (או שתשתמש ב-"gnome-session-proerties" במסוף, בתור משתמש - לא root!). כאן היכנס לטאב השלישי "manual startup" ולחץ על הכפתור add. הכנס את הנתיב לסקריפט ה - compiz שלך (/usr/bin/compizrc) והגדרר את העדיפות (priority) ל-45 (אחרי ה-gnome-panel שהוא 40, ולפני שתוכנות מופעלות על ידי המשתמש, שזה 50).
- אחרי שתצא ותיכנס, compiz יתחיל, אבל לא תראה עיצובים ואפקטים. זה משום שעץ gconf שלcompiz עבור המשתמש הנוכחי נוצר רק הרגע - בלי שום תוספים!
- אז הפעל את עורך התצורה שלך (gconf-editor - בתור משתמש רגיל!), ולך ל-"apps/compiz/general/allscreens/options" ושם ערוך את המפתח "active_plugins". זה אמור להכיל את הערכים הבאים בסדר הזה: gconf decoration wobbly fade minimize cube rotate zoom scale move resize place menu switcher
- לאחר הפעלה מחדש, שרת ה - Xgl שלך אמור להיות נגיש מתוך gdm ו - gnome-session.
[עריכה] Xsession (שינוי startx)
| שים לב: ההוראות הבאות הן למשתמשי nvidia בלבד. ההוראות לא יעבדו בכרטיסי ati בגלל נושאי display, אשר ידרשו לרוץ עם DISPLAY=:1. |
העתק את /usr/bin/startx אל /usr/bin/startxgl ושנה את השורה הבאה לקראת סוף הקובץ:
| קובץ: /usr/bin/startxgl (ישן) |
xinit $clientargs -- $serverargs -deferglyphs 16 & |
| קובץ: /usr/bin/startxgl (חדש) |
xinit $clientargs -- /usr/bin/Xgl -ac -accel xv -accel glx:pbuffer $serverargs -deferglyphs 16 & |
הנ"ל לא יפעיל את compiz, ולכן תצטרך ליצור סקריפט אתחול קטן ולהוסיף אותו למנהל gnome-session (אחרי ש-gnome עלה. בפעם הראשונה, תצטרך לפתוח מסוף ולהפעיל את הסקריפט ידנית)
| קובץ: /usr/bin/compizrc |
#!/bin/bash
#
# הפעלת compiz בתוך gnome-session
#
if [ `ps -A | grep Xgl | wc -l` == "1" ]; then
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace gconf &
gnome-window-decorator &
# setxkbmap -model pc105 -layout it -variant basic # שנה לפי הצורך, ואם שינית, הסר את סימן ההערה מתחילת השורה
fi
|
הערה: הנ"ל אמור להפעיל את סביבת שולחן העבודה שמוגדרת דרך XSESSION ב /etc/rc.conf.
[עריכה] Xfce4
[עריכה] עם xfce4-session
xfce4-session מותקן בברירת המחדל כחלק מחבילת המטא (meta) העונה לשם xfce4. אם התקנת את xfce4 בצורה זו, ההוראות הבאות יעבדו.
בהתחלה, נצטרך ליצור סקריפט שיפעיל את cmopiz ואת gnome-window-decorator עם הספריות והמאפיינים הנכונים.
| קובץ: /usr/bin/compizrc |
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib compiz --replace gconf & gnome-window-decorator |
| קובץ: הפיכת הסקריפט לבר ביצוע |
|
chmod 755 /usr/bin/compizrc |
כעת, נערך את תצורת xfce4-session כדי להצביע לנ"ל במקום ל - xfwm4. .
| קובץ: /etc/xdg/xfce4-session/xfce4-session.rc |
[Failsafe Session] Count=4 Client0_Command=compizrc Client0_PerScreen=False Client1_Command=xfce4-panel Client1_PerScreen=True Client2_Command=xftaskbar4 Client2_PerScreen=True Client3_Command=xfdesktop Client3_PerScreen=False |
| שים לב: במקום לערוך את הקובץ שמשפיע על כל המערכת, אפשר להוסיף את החלק הכתוב לעיל לקובץ ~/.config/xfce4-session/xfce4-session.rc. שים לב גם שייתכן ותצטרך למחוק את התוכן של הספרייה ~/.cache/sessions, אם יש עדיין יש לך את xfwm4 רץ ולא את compiz. |
לבסוף, צור סקריפט שיפעיל את XGL עם Xfce4.
| קובץ: /usr/bin/startxgl עבור NVIDIA |
#!/bin/bash Xgl -ac -accel xv:fbo -accel glx:pbuffer & xfce4-session |
| קובץ: /usr/bin/startxgl עבור ATi |
#!/bin/bash Xgl -ac -accel xv:pbuffer -accel glx:pbuffer & xfce4-session |
| קוד: הפיכת הסקריפט לבר הרצה |
|
chmod 755 /usr/bin/startxgl |
תוכל לשים לב ש-xfce4-panel שקוף כעת, בדיוק כמו שהיה אם היית משתמש ב-compositor של xfwm4. ה-pager יהיה מעט מעוות, אבל למעט אלה, הכל יפעל נהדר. חלונות אפילו יתמזערו למקום הנכון בשורת המשימות.
[עריכה] בלי xfce4-session
אם הידרת xfce מינימלי (ללא xfce4-session, xffm4, וכו'), אז תוכל להשתמש בסקריפט startxgl אשר עבר שינוי מסקריפט ה-gnome שלעיל:
| קובץ: /usr/bin/startxgl |
#!/bin/bash echo ">Starting XGL at Display: $1" echo "========= XGL ============" Xgl :$1 -ac -accel xv -accel glx:pbuffer & sleep 3 echo "======= COMPIZ ===========" DISPLAY=:$1 LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace switcher decoration wobbly fade minimize cube rotate zoom scale move resize place & sleep 3 echo "======= XFCE ============" DISPLAY=:$1 xfce-mcs-manager DISPLAY=:$1 gnome-window-decorator & DISPLAY=:$1 xftaskbar4 & DISPLAY=:$1 xfdesktop & DISPLAY=:$1 exec xfce4-panel |
שוב, xfce4-panel יהיה שקוף כאילו שאתה עובד עם תוסף ה-composite של X.org מופעל (למרות שאין לך) או אם אתה משתמש ב xfce4-svn, וה-pager יהיה מעוות. כל השאר אמור להיות בסדר.
[עריכה] עם startxfce4
כדי לעשות זאת בדרך המיושנת, או ה'רגילה' דרך startx/startxfce4, עשיתי את הדברים הבאים. קודם כל, אין צורך לקרוא ל - startxfce4. פשוט השתמש ב xinitrc. בספריית הבית שלך וב-startx.
| קובץ: ~/.xinitrc |
#!/bin/sh /usr/bin/startxfce4 |
כעת, בתור root, ניצור את compizrc, כמו לעיל. שים לב אבל, שעבורי, זה עבד הכי טוב (ליתר דיוק, עבד בכלל) מבלי הגדרת המשתנה DISPLAY.
| קובץ: /usr/bin/compizrc |
#!/bin/bash LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace gconf > ~/compiz.log 2>&1 & sleep 1; gnome-window-decorator > ~/gnome-window.log 2>&1 & |
כמובן שהפניות הפלט הן לא חובה (אבל שימושיות במקרה של דיבאגינג). ניתן להוריד גם את sleep 1 כדי להאיץ קצת את הדברים. רק שים לב שאם דברים קורים מהר מדי, אתה עלול להיתקל בבעיות... כמו כן, אל תשכח לעשות: chmod 755 /usr/bin/compizrc
לבסוף, נצטרך להשתמש ב - compizrc החדש במקום במנהל החלונות ברירת המחדל xfce4.
שוב, בתור root, ערוך את /etc/xdg/xfce4-session/xfce4-session.rc והחלף את xfwm4 עם compizrc.
| קובץ: /etc/xdg/xfce4-session/xfce4-session.rc (ישן) |
Client0_Command=xfwm4 |
| קובץ: /etc/xdg/xfce4-session/xfce4-session.rc (חדש) |
Client0_Command=compizrc |
והדבר האחרון שנשאר, הוא להפעיל את Xgl. כמו למעלה, אתה יכול להעתיק את startx שנמצא ב - /usr/bin/startx אל /usr/bin/startxgl ולבצע את השינוי הבא:
| קובץ: /usr/bin/startxgl (ישן) |
xinit $clientargs -- $serverargs -deferglyphs 16 & |
| קובץ: /usr/bin/startxgl (חדש) |
xinit $clientargs -- /usr/bin/Xgl -ac -accel xv -accel glx:pbuffer $serverargs -deferglyphs 16 & |
[עריכה] Entrance CVS
1) השתמש בכלי ecore_config כדי לשנות את מחרוזת ה - xserver.
ATI:
ecore_config -k "/entranced/xserver" -s "/usr/bin/Xgl -ac -accel xv:pbuffer -accel glx:pbuffer -nolisten tcp" -c /etc/entrance_config.cfg
NVIDIA:
ecore_config -k "/entranced/xserver" -s "/usr/bin/Xgl -ac -accel xv:fbo -accel glx:pbuffer -nolisten tcp" -c /etc/entrance_config.cfg
2) הפעל מחדש את entrance.
[עריכה] Entrance 0.9.x
הפעלת ה-X של Entrance קבועה באופן קבוע בקוד המקור.
יהיה נחמד אם מישהו ייצר טלאי לחבילה הנ"ל כך שתקמפל את קוד המקור בהתאם לדגל USE חדש...
| קוד: קבל את קוד המקור של entrance |
ebuild /usr/portage/x11-misc/entrance/entrance-0.9.0.004.ebuild fetch (אם אין לך עותק כבר ב distfiles) ebuild /usr/portage/x11-misc/entrance/entrance-0.9.0.004.ebuild unpack |
שנה את הקובץ: /var/tmp/portage/entrance-0.9.0.004/work/entrance-0.9.0.004/src/daemon/Entranced.h והחלף את שורה מספר 21 ("#define X_SERVER "/usr/X11R6/bin/X -quiet -nolisten tcp") ב :
- עבור NVIDIA החלף ב: #define DEFAULT_X_SERVER "/usr/bin/Xgl -accel xv -accel glx:pbuffer -quiet"
- עבור ATI החלף ב: #define X_SERVER "/usr/bin/Xgl -accel xv:pbuffer -accel glx:pbuffer -quiet"
| קוד: הדר והתקן את הגירסא החדשה של entrance לאחר השינוי |
ebuild /usr/portage/x11-misc/entrance/entrance-0.9.0.004.ebuild compile ebuild /usr/portage/x11-misc/entrance/entrance-0.9.0.004.ebuild install ebuild /usr/portage/x11-misc/entrance/entrance-0.9.0.004.ebuild qmerge |
[עריכה] Qingy
זה די פשוט לגרום ל - Quingy להפעיל את Xgl במקום את שרת X הרגיל. כל שעלייך לעשות כדי להפעיל את Xgl הוא לשנות שתי שורות ב - /etc/quingy/settings:
| קובץ: /etc/qingy/settings |
... # x_server = "/usr/X11R6/bin/XFree86" x_server = "/usr/bin/Xgl" # x_args = "-nolisten tcp" x_args = "-ac -accel xv -accel glx:pbuffer -nolisten tcp" ... |
כעת quingy אמור להפעיל את Xgl במקום את X הרגיל. כדי לגרום ל - KDE ו - GNOME לטעון את compiz, עלייך לייצא משתנה סביבה. KDEWM עבור KDW ו WINDOW_MANAGER עבור Gnome. הדרך הקלה לעשות זאת היא בקובץ /etc/X11/Sessions. עקוב אחר ההוראות להוספת תוספים דרך gconf-editor (לעיל). לאחר מכן צור קובץ /usr/bin/compizrc לפי הדוגמא למטה, ובצע עליו chmod +x.
| קובץ: /usr/bin/compizrc |
#!/bin/bash LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib compiz --replace gconf & sleep 2 gnome-window-decorator & setxkbmap -model itouch -layout gb & ## שנה/הוסף כפי הנדרש |
לאחר מכן ערוך/שנה את הקובץ/ים המתאימים ב - /etc/X11/Sessions עבור KDE:
| קובץ: /etc/X11/Sessions/kde-3.5 |
#!/bin/sh export KDEWM="/usr/bin/compizrc" exec /usr/kde/3.5/bin/startkde |
או עבור Gnome הוסף את השורות הבאות בראש הקובץ:
| קובץ: /etc/X11/Sessions/Gnome |
#!/bin/sh export WINDOW_MANAGER="/usr/bin/compizrc" ... |
עבור XFCE4 ערוך את /etc/xdg/xfce4-session/xfce4-session.rc כפי שהוסבר בחלק הקודם. בתקווה, quingy אמור לעלות כעת עם Xgl ו - compiz במקום עם X ומנהל חלונות אחר...
[עריכה] סקריפט startxgl ג'נרי
ישנו סקריפט הפעלה ג'נרי בתוך תוסף ה - Portage. עבור הוראות שימוש, הפעל אותו ללא ארגומנטים.
כרגע הוא תומך ב - Xfce, Xfce-svn, GNOME ו - KDE.
| קוד: הרצת startxgl |
cd /usr/local/overlays/xgl-coffee ./startxgl |
[עריכה] תוספים ל - Compiz
חלק זה הועבר ל - Compiz.
[עריכה] טיפים וטריקים
חלק זה הועבר להתקנת XGL/טיפים וטריקים.
[עריכה] טיפ: כיצד לעדכן תוספת ל - Portage לאחר שינוי ענף
גירסת הבדיקה של תוסף ה - Portage הועברה עכשיו ל - trunk, וגירסת trunk הישנה עודכנה לתעתיק של ענף הבדיקה. ענף הבדיקה יימחק בקרוב. אנא שדרג מוקדם ככל האפשר. ההוראות הבאות הועתקו מהפורומים של ג'נטו. הן מכילות תיאור מפורט יותר של השינוי:
"תוסף ה Portage של CoffeeBuzz עבור XGL עבר כעת שינוי גדול. הבדיקה הועברה ל - Trunk. בשבוע הקרוב בערך, ענף הבדיקה יימחק לחלוטין. כדי לעדכן, אנא בצע את השלבים הבאים:
הסר את כל תוספי xgl-coffee הקיימים (יש להם הרבה נתיבים שנבחרו, ואני אעדכן את הויקי כדי שיכיל רק אחד בודד וראוי. - /usr/local/overlays הוא בדרך כלל זה שנמצא בשימוש בג'נטו לתוספים מעבר ל Portage המקורי).
| קוד: קבלת עותק מעודכן |
cd /usr/local/overlays svn co http://svn.xgl-coffee.org/xgl-coffee/trunk xgl-coffee |
ערוך את /etc/make.conf ושנה את PORTDIR_OVERLAY כדי שיכיל את /usr/local/overlays/xgl-coffee והסר הפניות ישנות לתוספי Portage ישנים.
כעת אתה מעודכן. באפשרותך לעדכן את תוסף ה - Portage על ידי הרצת: cd /usr/local/overlays/xgl-coffee; ./svnup.sh; cd
אם מישהו מוצא באגים בהכרזה זו בעניין תהליך העדכון, אנא הודיעו לי ואני אתקן זאת באופן מיידי.
מתחזק CoffeeBuzz החביב עלייך, nesl247 - Alex Heck"
[עריכה] פתרון בעיות
חלק זה הועבר להתקנת Xgl/פתרון בעיות.
[עריכה] שגיאת inline unit growth
inline-unit-growth error היא בעייה ידועה (וגם אשכולות אחרים שאני לא יכול למצוא יותר), אז אם קורה לך הדבר הבא:
| קוד: שגיאת inline unit growth |
[...].deps/libfbmmx_la-fbmmx.Tpo -c fbmmx.c -fPIC -DPIC -o .libs/libfbmmx_la-fbmmx.o cc1: error: invalid parameter `inline-unit-growth' cc1: error: invalid parameter `large-function-growth' make[1]: *** [libfbmmx_la-fbmmx.lo] Error 1 make[1]: Leaving directory `/tmp/portage/portage/xgl-0.0.1_p20060418/work/xgl-xo rg/fb' make: *** [all-recursive] Error 1 !!! ERROR: x11-base/xgl-0.0.1_p20060418 failed. Call stack: ebuild.sh, line 1894: Called dyn_compile ebuild.sh, line 941: Called src_compile ebuild.sh, line 1609: Called x-modular_src_compile x-modular.eclass, line 320: Called x-modular_src_make |
תקן זאת על ידי הוספת -mmx ל - x11-base/xgl בקובץ /etc/portage/package.use שלך.
[עריכה] שגיאת Digest verification failed
שגיאת SHA256 ידועה =131293 כבאג, כך שאם קורה הדבר הבא:
| קוד: שגיאת SHA256 |
Would you like to merge these packages? [Yes/No] y >>> Emerging (1 of 1) media-libs/mesa-6.5.1_alpha20060418 to / >>> checking ebuild checksums >>> checking auxfile checksums !!! Digest verification failed: !!! /usr/portage/local/layman/portage-xgl/media-libs/mesa/files/makedepend-location.patch !!! Reason: Failed on SHA256 verification !!! Got: 3541f6528b402328886e3169169fc400db11ed91d39ddd2b5d3b1f6be77d7ff5 !!! Expected: c0ec505e5fb263d4cde901ce9afe3197346acf67372460a2177231be8425e0ab |
תקן זאת על ידי הרצה פשוטה של הפקודה הבאה:
| קוד: תיקון שגיאת SHA256 |
ebuild /usr/local/overlays/xgl-coffee/media-libs/mesa/mesa-6.5.1_alpha20060418.ebuild digest |
Filesize does not match recorded size היא שגיאה דומה, אך מעט שונה:
| קוד: שגיאת Filesize does not match recorded size |
|
Would you like to merge these packages? [Yes/No] y >>> Emerging (9 of 9) x11-wm/compiz-vanilla-0.0.11_p20060523 to / >>> checking ebuild checksums !!! Digest verification failed: !!! /usr/local/overlays/xgl-coffee/x11-wm/compiz-vanilla/compiz-vanilla-0.0.10_p20060520.ebuild !!! Reason: Filesize does not match recorded size !!! Got: 1691 !!! Expected: 1690 |
אבל הפתרון הוא אותו פתרון :)
| קוד: תיקון שגיאת Filesize does not match recorded size |
ebuild /usr/local/overlays/xgl-coffee/x11-wm/compiz-vanilla/compiz-vanilla-0.0.10_p20060520.ebuild digest |
[עריכה] שגיאת X_GLXvop_BindTexImageEXT
משתמשי AMD64 אשר נתקלים בבעייה בהידור Mesa בגלל הודעת השגיאה הבאה:
| קוד: שגיאה בהתקנת Mesa |
|
error: 'X_GLXvop_BindTexImageEXT' undeclared (first use in this function) |
יכולים לנסות את הפקודות הבאות:
| קוד: תיקון בעיית הידור Mesa תחת AMD64 |
cd /usr/include/GL ln -sf /usr/lib64/opengl/global/include/glext.h glext.h ln -sf /usr/lib64/opengl/xorg-x11/include/gl.h gl.h ln -sf /usr/lib64/opengl/global/include/glxext.h glxext.h ln -sf /usr/lib64/opengl/xorg-x11/include/glx.h glx.h ln -sf /usr/lib64/opengl/xorg-x11/include/glxmd.h glxmd.h ln -sf /usr/lib64/opengl/xorg-x11/include/glxproto.h glxproto.h ln -sf /usr/lib64/opengl/xorg-x11/include/glxtokens.h glxtokens.h |
[עריכה] קישורים
[עריכה] סרטוני הדגמה
- http://video.google.com/videosearch?q=xgl
- http://www.freedesktop.org/~davidr/xgl-demo1.xvid.avi
- http://www.novell.com/linux/xglrelease/
- http://osvids.com/files/page3-1036-pop.html
[עריכה] תקליטורים חיים (LiveCD)
[עריכה] מדריכים
