Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[RISOLTO] NvidiaDriver e rt-sources
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Thu Jan 05, 2017 6:33 pm    Post subject: Reply with quote

fedeliallalinea wrote:
antonellocaroli wrote:
ma tu sai come si fa a patchare il kernel?

Segui questa guida https://wiki.gentoo.org/wiki//etc/portage/patches

EDIT: se non capisci qualcosa domanda pure!


Ma in effetti non ho capito quasi niente...

se non chiedo troppo :oops: potresti indicarmi i passagi? :oops: :oops:
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30885
Location: here

PostPosted: Fri Jan 06, 2017 9:02 am    Post subject: Reply with quote

antonellocaroli wrote:
se non chiedo troppo :oops: potresti indicarmi i passagi? :oops: :oops:

Allora per prima cosa crea il file /etc/portage/bashrc e ci scrivi dentro
Code:
pre_src_prepare() {
    [[ ${EAPI:-0} == [012345] ]] || return
    if ! type epatch_user > /dev/null 2>&1; then
        local names="EPATCH_USER_SOURCE epatch_user epatch evar_push evar_push_set evar_pop estack_push estack_pop"
        source <(awk "/^# @(FUNCTION|VARIABLE): / { p = 0 } /^# @(FUNCTION|VARIABLE): (${names// /|})\$/ { p = 1 } p { print }" ${PORTDIR}/eclass/eutils.eclass)
    fi

    epatch_user

    for name in $names; do
        unset $name
    done
}

Questo permette a gli ebuild con EAPI version >6 di applicare patch (e' il caso per il kernel rt-sources quello che usi tu).
Il prossimo passo e' creare la directory dove mettere la patch e dove portage sa che deve prendere, quindi dai il comando:
Code:
# mkdir -p /etc/portage/patches/sys-kernel/rt-sources-4.8.6

Ora in questa directory ci copi la patch (il nome non e' importante) e poi semplicemente dai un emerge -v sys-kernel/rt-sources-4.8.6, e per essere sicuro che la patch e' stata applicata dovresti vedere qualcosa del genere dopo l'unpack:
Code:
...
 >>> Unpacking source...
 >>> Unpacking linux.xz to /scratch/var/tmp/portage/sys-kernel/rt-sources-4.8.6/work
 >>> Source unpacked in /scratch/var/tmp/portage/sys-kernel/rt-sources-4.8.6/work
 >>> Preparing source in /scratch/var/tmp/portage/sys-kernel/rt-sources-4.8.6/work/rt-sources-4.8.6 ...
 * Applying user patches from /etc/portage/patches//sys-kernel/rt-sources-4.8.6...
 * nome_della_tua_patch.patch ... [ ok ]
 * Done with patching
...

_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Fri Jan 06, 2017 9:52 am    Post subject: Reply with quote

fedeliallalinea wrote:
antonellocaroli wrote:
se non chiedo troppo :oops: potresti indicarmi i passagi? :oops: :oops:

Allora per prima cosa crea il file /etc/portage/bashrc e ci scrivi dentro
Code:
pre_src_prepare() {
    [[ ${EAPI:-0} == [012345] ]] || return
    if ! type epatch_user > /dev/null 2>&1; then
        local names="EPATCH_USER_SOURCE epatch_user epatch evar_push evar_push_set evar_pop estack_push estack_pop"
        source <(awk "/^# @(FUNCTION|VARIABLE): / { p = 0 } /^# @(FUNCTION|VARIABLE): (${names// /|})\$/ { p = 1 } p { print }" ${PORTDIR}/eclass/eutils.eclass)
    fi

    epatch_user

    for name in $names; do
        unset $name
    done
}

Questo permette a gli ebuild con EAPI version >6 di applicare patch (e' il caso per il kernel rt-sources quello che usi tu).
Il prossimo passo e' creare la directory dove mettere la patch e dove portage sa che deve prendere, quindi dai il comando:
Code:
# mkdir -p /etc/portage/patches/sys-kernel/rt-sources-4.8.6

Ora in questa directory ci copi la patch (il nome non e' importante) e poi semplicemente dai un emerge -v sys-kernel/rt-sources-4.8.6, e per essere sicuro che la patch e' stata applicata dovresti vedere qualcosa del genere dopo l'unpack:
Code:
...
 >>> Unpacking source...
 >>> Unpacking linux.xz to /scratch/var/tmp/portage/sys-kernel/rt-sources-4.8.6/work
 >>> Source unpacked in /scratch/var/tmp/portage/sys-kernel/rt-sources-4.8.6/work
 >>> Preparing source in /scratch/var/tmp/portage/sys-kernel/rt-sources-4.8.6/work/rt-sources-4.8.6 ...
 * Applying user patches from /etc/portage/patches//sys-kernel/rt-sources-4.8.6...
 * nome_della_tua_patch.patch ... [ ok ]
 * Done with patching
...


creato il file /etc/portage/bashrc con il contenuto indicato...

non sapendo il nome della cartella come deve essere di preciso ho fatto

Code:
mkdir -p /etc/portage/patches/sys-kernel/rt-sources-4.8.14


e

Code:
mkdir -p /etc/portage/patches/sys-kernel/rt-sources-4.8.14-rt9


e in tutti e due i percorsi ho creato il file my.patch con il contenuto

Code:
--- a/kernel/locking/mutex-debug.c   2016-01-10 20:01:32.000000000 -0300
+++ b/kernel/locking/mutex-debug.c   2016-09-11 02:38:11.331048350 -0300
@@ -117,4 +117,4 @@
    lock->magic = NULL;
 }
 
-EXPORT_SYMBOL_GPL(mutex_destroy);
+EXPORT_SYMBOL(mutex_destroy);


Ma riemergento i sorgenti...non vedo niente che ha a che fare con my.patch :?

ho provato anche attivando il flag build...ma niente...

Code:
>>> Unpacking source...
>>> Unpacking linux-4.8.tar.xz to /var/tmp/portage/sys-kernel/rt-sources-4.8.14_p9/work
 * Excluding Patch #5000_enable-additional-cpu-optimizations-for-gcc.patch ...                     [ ok ]
 * Applying patch-4.8.14.patch (-p1) ...                                                           [ ok ]
 * Applying patch-4.8.14-rt9.patch.patch (-p1) ...                                                 [ ok ]
>>> Source unpacked in /var/tmp/portage/sys-kernel/rt-sources-4.8.14_p9/work
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30885
Location: here

PostPosted: Fri Jan 06, 2017 10:43 am    Post subject: Reply with quote

antonellocaroli wrote:
non sapendo il nome della cartella come deve essere di preciso ho fatto

Deve avere esattamente il nome e la versione che ti rida' emerge, nel tuo caso
Code:
# mkdir -p /etc/portage/patches/sys-kernel/rt-sources-4.8.14_p9

_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Fri Jan 06, 2017 12:02 pm    Post subject: Reply with quote

fedeliallalinea wrote:
antonellocaroli wrote:
non sapendo il nome della cartella come deve essere di preciso ho fatto

Deve avere esattamente il nome e la versione che ti rida' emerge, nel tuo caso
Code:
# mkdir -p /etc/portage/patches/sys-kernel/rt-sources-4.8.14_p9


Hai ragione!!! potevo pensarci... :?

cosi applica la patch!

ricompilato il kernel...e provato a riemergere i driver....ma stesso problema...grrrr

https://paste.pound-python.org/show/wGDntk2PtNu7pWmtQDD4/
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30885
Location: here

PostPosted: Fri Jan 06, 2017 12:13 pm    Post subject: Reply with quote

Che strano o la patch o disabilitare la config dal kernel doveva funzionare. Ho avuto lo stesso problema con i gentoo-sources e disabilitare la config ha funzionato.
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Fri Jan 06, 2017 1:16 pm    Post subject: Reply with quote

fedeliallalinea wrote:
Che strano o la patch o disabilitare la config dal kernel doveva funzionare. Ho avuto lo stesso problema con i gentoo-sources e disabilitare la config ha funzionato.


Probabilmente perché nel tuo kernel non c´è il 'rt_mutex_destroy' (che potrebbe essere una caratteristica del kernel RT) ma forse semplicemente 'mutex_destroy' :?
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30885
Location: here

PostPosted: Fri Jan 06, 2017 3:38 pm    Post subject: Reply with quote

antonellocaroli wrote:
Probabilmente perché nel tuo kernel non c´è il 'rt_mutex_destroy' (che potrebbe essere una caratteristica del kernel RT) ma forse semplicemente 'mutex_destroy' :?

Giusto non avevo visto questa differenza, prova allora con questa patch
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Fri Jan 06, 2017 5:25 pm    Post subject: Reply with quote

fedeliallalinea wrote:
antonellocaroli wrote:
Probabilmente perché nel tuo kernel non c´è il 'rt_mutex_destroy' (che potrebbe essere una caratteristica del kernel RT) ma forse semplicemente 'mutex_destroy' :?

Giusto non avevo visto questa differenza, prova allora con questa patch


Che dire sei uno che non demorde.... :lol: :lol: :D

La patch l'appunto qua (magari su paste.pound si perde)

Code:
diff -Naur linux-4.8.orig/kernel/locking/mutex-debug.c linux-4.8/kernel/locking/mutex-debug.c
--- linux-4.8.orig/kernel/locking/mutex-debug.c   2017-01-06 16:33:57.091008435 +0100
+++ linux-4.8/kernel/locking/mutex-debug.c   2017-01-06 16:34:39.512009384 +0100
@@ -117,4 +117,4 @@
    lock->magic = NULL;
 }
 
-EXPORT_SYMBOL_GPL(mutex_destroy);
+EXPORT_SYMBOL(mutex_destroy);
diff -Naur linux-4.8.orig/kernel/locking/rtmutex.c linux-4.8/kernel/locking/rtmutex.c
--- linux-4.8.orig/kernel/locking/rtmutex.c   2017-01-06 16:33:57.091008435 +0100
+++ linux-4.8/kernel/locking/rtmutex.c   2017-01-06 16:35:30.555010526 +0100
@@ -1529,7 +1529,7 @@
 #endif
 }
 
-EXPORT_SYMBOL_GPL(rt_mutex_destroy);
+EXPORT_SYMBOL(rt_mutex_destroy);
 
 /**
  * __rt_mutex_init - initialize the rt lock


che ha funzionato!!!

dovró cambiare il titolo in [solved] driver Nvidia e rt-sources
che dici?
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30885
Location: here

PostPosted: Sat Jan 07, 2017 8:41 am    Post subject: Reply with quote

antonellocaroli wrote:
dovró cambiare il titolo in [solved] driver Nvidia e rt-sources
che dici?

Direi di si' :D
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Sat Jan 07, 2017 12:50 pm    Post subject: Reply with quote

fedeliallalinea wrote:
antonellocaroli wrote:
dovró cambiare il titolo in [solved] driver Nvidia e rt-sources
che dici?

Direi di si' :D


Fatto!!! e grazieeee :wink:

hai risolto una situazione veramente ingarbugliata.... :roll:
Back to top
View user's profile Send private message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Sat Jan 07, 2017 1:02 pm    Post subject: Reply with quote

antonellocaroli wrote:
fedeliallalinea wrote:
antonellocaroli wrote:
dovró cambiare il titolo in [solved] driver Nvidia e rt-sources
che dici?

Direi di si' :D


Fatto!!! e grazieeee :wink:

hai risolto una situazione veramente ingarbugliata.... :roll:


Solo una cosa, adesso che sono passato da nouveau a i driver Nvidia, devo fare qualcosa per pulire il sistema?
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30885
Location: here

PostPosted: Sat Jan 07, 2017 5:04 pm    Post subject: Reply with quote

antonellocaroli wrote:
Solo una cosa, adesso che sono passato da nouveau a i driver Nvidia, devo fare qualcosa per pulire il sistema?

Per prima cosa rimuovi il modulo nel kernel o altrimenti lo metti in blacklist con il comando echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf (funziona solo se l'hai compilato come modulo).
Poi puoi cambiare la variabile VIDEO_CARDS in make.conf settando solo nvidia (VIDEO_CARDS="nvidia"), dando poi un emerge -UDN @world.
C'e' anche la possibilita' di tenere tutte e due seguendo questa guida; uso questa configurazione sul fisso giusto per vedere i progressi dei due drivers.
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Sat Jan 07, 2017 5:26 pm    Post subject: Reply with quote

fedeliallalinea wrote:
antonellocaroli wrote:
Solo una cosa, adesso che sono passato da nouveau a i driver Nvidia, devo fare qualcosa per pulire il sistema?

Per prima cosa rimuovi il modulo nel kernel o altrimenti lo metti in blacklist con il comando echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf (funziona solo se l'hai compilato come modulo).
Poi puoi cambiare la variabile VIDEO_CARDS in make.conf settando solo nvidia (VIDEO_CARDS="nvidia"), dando poi un emerge -UDN @world.
C'e' anche la possibilita' di tenere tutte e due seguendo questa guida; uso questa configurazione sul fisso giusto per vedere i progressi dei due drivers.

Grazie!! :)

e qual´é il tuo pensiero/esperienza su i due driver?
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30885
Location: here

PostPosted: Sat Jan 07, 2017 5:36 pm    Post subject: Reply with quote

antonellocaroli wrote:
e qual´é il tuo pensiero/esperienza su i due driver?

Visto che non uso grafica 3d (nienti giochi o programmi come blender) per me e' indifferente quale usare, con nouveau probabilmente ho meno problemi perche' e' integrato nel kernel mentre con nvidia, come ben hai potuto vedere, ogni tanto posso capitare dei problemi. Poi si puo' anche fare filosofia sul fatto che nvidia non sono open mentre gli altri si', ma se vuoi giocare nvidia sono decisiamente migliori.
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30885
Location: here

PostPosted: Mon Jan 09, 2017 7:05 am    Post subject: Reply with quote

A chi interessasse su phoronix c'e' un benchmark tra nvidia-drivers e nouveau+NvBoost.
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Mon Jan 09, 2017 10:48 am    Post subject: Reply with quote

fedeliallalinea wrote:
A chi interessasse su phoronix c'e' un benchmark tra nvidia-drivers e nouveau+NvBoost.


Che cos´é NvBoost?
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30885
Location: here

PostPosted: Mon Jan 09, 2017 11:50 am    Post subject: Reply with quote

antonellocaroli wrote:
Che cos´é NvBoost?

E' una tecnologia che permette di incrementare la frequenza di clock delle schede grafiche nvidia (solo certi modelli), cosi' da incrementare anche le performance dei driver nouveau.
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum