Προς το περιεχόμενο

πως μπορω να patcharo το wine?


gega

Προτεινόμενες αναρτήσεις

γεια σας παιδια

επειδη εχω ενα προβλημα με το wine και μου δινει error GL_OUT_OF_MEMORY εχω βρει ενα patch αλλα δεν ξερω πως να το χρησιμοποιησω

σας παραθετω το patch

>From 1fa43e301ef7024ddbebe8999466ff2f838b7716 Mon Sep 17 00:00:00 2001
From: Matthew Canterbury <[email protected]>
Date: Tue, 9 Dec 2008 19:16:44 -0500
Subject: Disables Pixel Buffer Objects for IWineD3DSurface to prevent Sins of a
Solar Empire from leaking memory in video memory.

---
dlls/wined3d/surface.c |    3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 0191403..3ce69ec 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -982,7 +982,8 @@ static void surface_prepare_system_memory(IWineD3DSurfaceImpl *This) {
    /* Create a PBO for dynamically locked surfaces but don't do it for converted or non-pow2 surfaces.
     * Also don't create a PBO for systemmem surfaces.
     */
-    if(GL_SUPPORT(ARB_PIXEL_BUFFER_OBJECT) && (This->Flags & SFLAG_DYNLOCK) && !(This->Flags & (SFLAG_PBO | SFLAG_CONVERTED | SFLAG_NONPOW2)) && (This->resource.pool != WINED3DPOOL_SYSTEMMEM)) {
+    /*if(GL_SUPPORT(ARB_PIXEL_BUFFER_OBJECT) && (This->Flags & SFLAG_DYNLOCK) && !(This->Flags & (SFLAG_PBO | SFLAG_CONVERTED | SFLAG_NONPOW2)) && (This->resource.pool != WINED3DPOOL_SYSTEMMEM)) {*/
+	if(FALSE){
        GLenum error;
        IWineD3DDeviceImpl *device = This->resource.wineD3DDevice;

-- 
1.5.6.4

 

επεισης εχω δοκιμασει και αυτον τον οδηγο ( http://wiki.winehq.org/Patching ) απο το wine wiki αλλα δεν καταλαβα τι πρεπει να κανω ......

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αυτό που έκανες post είναι patch για τον κώδικα του wine.

Δηλαδή, πρέπει να κατεβάσεις το source code της έκδοσης στην οποία απευθύνεται το patch, να σώσεις αυτό που μας έδωσες σε ένα αρχείο και να ακολουθήσεις τις οδηγίες του link που αναφέρεις. Αν η διαδικασία ολοκληρωθεί σωστά (το πρόγραμμα patch βγάζει σύνοψη του τί κατάφερε να patch-άρει και τί οχι) θα προχωρήσεις στο compilation του source code σύμφωνα με τις οδηγίες που συνήθως βρίσκεις στο archive που θα κατεβάσεις με τον source code. Αλλιώς θα βρείς οδηγίες για το manual build στο site του wine.

Μόλις ολοκληρωθεί το compilation θα έχεις την patch-αρισμένη έκδοση του wine.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Απο ποιο repo παιρνεις το wine και σε ποια διανομη εισαι?

 

ειμαι στην διανομη ubuntu 9.4 jaunty .... συγγνωμη επειδη ειμαι καινουργιος στα linux τι εννοεις σε ποιο repo?

 

---------- Το μήνυμα προστέθηκε στις 18:24 ----------

 

Αυτό που έκανες post είναι patch για τον κώδικα του wine.

Δηλαδή, πρέπει να κατεβάσεις το source code της έκδοσης στην οποία απευθύνεται το patch, να σώσεις αυτό που μας έδωσες σε ένα αρχείο και να ακολουθήσεις τις οδηγίες του link που αναφέρεις. Αν η διαδικασία ολοκληρωθεί σωστά (το πρόγραμμα patch βγάζει σύνοψη του τί κατάφερε να patch-άρει και τί οχι) θα προχωρήσεις στο compilation του source code σύμφωνα με τις οδηγίες που συνήθως βρίσκεις στο archive που θα κατεβάσεις με τον source code. Αλλιώς θα βρείς οδηγίες για το manual build στο site του wine.

Μόλις ολοκληρωθεί το compilation θα έχεις την patch-αρισμένη έκδοση του wine.

 

πως μπορω να κατεβασω το source code του wine?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν τρέξεις την εντολή που σου γράφει το howto, θα το κάνει αυτόματα.

Το format που δέχεται η εντολή patch έχει στον header ποιό αρχείο θα πρέπει να αλλαχτεί και σε ποιά γραμμή είναι η αλλαγή. Αρκεί να ακολουθήσεις τις οδηγίες σωστά γιατί έχει σημασία σε ποιό directory του source tree είσαι όταν εκτελείς την εντολή. Εξ ου και η παράμετρος -p που σου λέν οι οδηγίες να δηλώσεις. Ρίξε μιά ματιά και στο man page του patch, θα καταλάβεις τι γίνεται.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν τρέξεις την εντολή που σου γράφει το howto, θα το κάνει αυτόματα.

Το format που δέχεται η εντολή patch έχει στον header ποιό αρχείο θα πρέπει να αλλαχτεί και σε ποιά γραμμή είναι η αλλαγή. Αρκεί να ακολουθήσεις τις οδηγίες σωστά γιατί έχει σημασία σε ποιό directory του source tree είσαι όταν εκτελείς την εντολή. Εξ ου και η παράμετρος -p που σου λέν οι οδηγίες να δηλώσεις. Ρίξε μιά ματιά και στο man page του patch, θα καταλάβεις τι γίνεται.

 

ok καταφερα και το πατσαρα χωρις καποιο προβλημα αλλα αλλη μια ερωτηση πως μπορω να κανω install το wine απο το source?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πρέπει πρώτα να κάνεις compile τα sources. Η τυπική διαδικασία είναι με τις εξής 3 εντολές

>./configure
make
make install (as root)

Πολλές φορές, το ./configure δέχεται και παραμέτρους με τις οποίες μπορείς να καθορίσεις τί δυνατότητες θα συμπεριλάβεις στο εκτελέσιμο αρχείο που θα παραχθεί και ποιές θα αφήσεις έξω γιατί δεν τις χρειάζεσαι. Συνήθως, με ένα

>./configure --help

θα δείς όλες τις πιθανές παραμέτρους του configure.

Ψάξε και στο site του wine για αναλυτικότερες οδηγίες ή για κανένα README μέσα στο .tar.gz αρχείο που κατέβασες με τον πηγαίο κώδικα.

 

EDIT: μόλις είδα οτι στο link που διάβασες αρχικά λέει ακριβώς τί πρέπει να κάνεις

>./configure && make depend && make

Μετά από αυτό θα έχεις ένα εκτελέσιμο αρχείο στο directory που θα είσαι wine το οποίο μπρορείς να εκτελέσεις απ' ευθείας από εκεί με ./wine "path to .exe"

Αλλιώς, τρέξε sudo make install για να εγκατασταθεί το wine στο standard path και οι βιβλιοθήκες του σε κάποιο default location. Πρίν το κάνει όμως αυτό φρόντισε να απεγκαταστήσεις οποιαδήποτε άλλη έκδοση του wine είχες εγκαταστήσει παλιότερα για να μήν υπάρξουν conflicts σε βιβλιοθήκες.

Έχε επίσης υπ' όψη σου οτι μπορεί να σου ζητηθούς διάφορα headers για να γίνει το compile. Αυτό σημαίνει οτι θα πρέπει να εγκαταστήσεις τα -dev πακέτα του ζητούμενου προγράμματος ή βιβλιοθήκης. Ένα search στο Synaptic θα είναι αρκετό φαντάζομαι.

Καλή επιτυχία.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Υποθετοντας οτι δεν εχεις βαλει το wine απο καποιο repo εκτος απο αυτο της διανομης σου, τοτε μπορεις να κατεβασεις τον πηγαιο κωδικα του με

>apt-get source wine

Αυτο θα κατεβασει τον πηγαιο κωδικα του wine, μαζι με τα patches αν υπαρχουν, και θα τον κανει extract σε καποιο φακελο.

Μεσα σε αυτο το φακελο θα βαλεις το .diff αρχειο που εχεις και θα πατσαρεις τον πηγαιο κωδικα με

>patch -p1 < onoma.diff

Θα βαλεις μετα και ολα τα απαιτουμενα για το compile και την εγκατασταση με

>sudo apt-get build-dep wine

και τελος θα το κανεις compile σε ενα ωραιοτατο .deb πακετακι με

>dpkg-buildpackage -rfakeroot -uc -b

το οποιο θα εγκαταστησεις με ενα

>dpkg -i onoma_paketou.deb

 

 

(μολις εκανα compile και πακετο το conky με υποστηριξη για audacious)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ok θα δοκιμασω και αυτο που μου ειπες jim_p

 

---------- Το μήνυμα προστέθηκε στις 20:17 ----------

 

Υποθετοντας οτι δεν εχεις βαλει το wine απο καποιο repo εκτος απο αυτο της διανομης σου, τοτε μπορεις να κατεβασεις τον πηγαιο κωδικα του με

>apt-get source wine

Αυτο θα κατεβασει τον πηγαιο κωδικα του wine, μαζι με τα patches αν υπαρχουν, και θα τον κανει extract σε καποιο φακελο.

Μεσα σε αυτο το φακελο θα βαλεις το .diff αρχειο που εχεις και θα πατσαρεις τον πηγαιο κωδικα με

>patch -p1 < onoma.diff

Θα βαλεις μετα και ολα τα απαιτουμενα για το compile και την εγκατασταση με

>sudo apt-get build-dep wine

και τελος θα το κανεις compile σε ενα ωραιοτατο .deb πακετακι με

>dpkg-buildpackage -rfakeroot -uc -b

το οποιο θα εγκαταστησεις με ενα

>dpkg -i onoma_paketou.deb

 

 

(μολις εκανα compile και πακετο το conky με υποστηριξη για audacious)

 

σε αυτη την εντολη

>dpkg-buildpackage -rfakeroot -uc -b

μου δινει το εξης error

>tail: αδυναμία ανολιγματος του `debian/changelog' προς ανάγνωση: No such file or directory
dpkg-buildpackage: failure: tail of debian/changelog gave error exit status 1

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τωρα με επιασες αδιαβαστο. Και εμενα μου εβγαλε κατι παρομοιο χτες και λεω θα ειναι του conky. Δωσε μου μεχρι αυριο να το σκεφτω.

 

/me ανοιγει το google!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Άν θέλεις να το κάνεις έτσι χρησιμοποίησε το switch -mmaintaineraddress για να δώσεις κάποιο mail address το οποίο θα χρησιμοποιηθεί για το description του deb που θα παραχθεί.

Το dpkg-buildpackage παίρνει κάποια στοιχεία απο το changelog αρχείο μέσω της εντολής dpkg-genchanges το οποίο από default κοιτάει για το αρχείο debian/changelog (δές το man page για περισσότερες πληροφορίες). Αν δεν το θέλεις αυτό, πρέπει να ορίσεις τα στοιχεία που χρειάζεται με το χέρι. Και πάλι για περισσότερες πληροφορίες κοίτα το man dpkg-buildpackage.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Οχι. Υποτιθεται οτι θες να πατσαρεις κατι για καποιο λογο, αρα ξερεις και να το ξανακανεις compile απο τον πηγαιο κωδικα και μετα παλι πακεταρισμα σε .deb πακετο.

 

Ολα τα παραπανω υπονοουν εκτενεστατη χρηση του τερματικου.

 

Εκτος αυτου, αν υπηρχε ενα προγραμμα με gui για να κανεις compile καποιο αλλο προγραμμα, αυτο θα επρεπε να εχει εκατονταδες επιλογες αναλογα με το toolkit του καθε προγραμματος, τις παραμετρους για compile κλπ.

O firefox πχ απο ΜΟΝΟΣ ΤΟΥ εχει 30 κατι παραμετρους για να γινει compile, σκεψου αλλες ποσες θα εχει ο xulrunner που χρειαζεται ο firefox...

 

Ιδου οι παραμετροι για τον firefox

>Configure arguments
--enable-application=xulrunner --prefix=/usr --with-default-mozilla-five-home=/usr/lib/xulrunner-1.9 --enable-default-toolkit=cairo-gtk2 --enable-pango --enable-xft --disable-freetype2 --enable-system-cairo --with-system-png --with-system-jpeg --with-system-zlib --with-system-bz2 --with-gssapi=/usr --with-system-nspr --with-system-nss --enable-xinerama --enable-single-profile --disable-profilesharing --enable-svg --enable-svg-renderer=cairo --enable-mathml --disable-pedantic --disable-long-long-warning --enable-gnomevfs --enable-gnomeui --disable-tests --disable-mochitest --disable-debug --enable-canvas --enable-js-binary --with-readline '--enable-extensions=default cookie permissions python/xpcom spellcheck' --disable-installer --disable-javaxpcom --disable-elf-dynstr-gc --enable-system-hunspell --disable-crashreporter --enable-system-sqlite --enable-system-lcms --disable-strip --disable-install-strip --enable-url-classifier --enable-startup-notification --host=i486-linux-gnu --build=i486-linux-gnu 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...