Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-04-27 13:11:21

  terefere - Członek DUG

terefere
Członek DUG
Zarejestrowany: 2005-09-16
Serwis

Kompilacja Ati 2.6.20.1

W zasadzie temat bardziej pasuje do działu hardware lecz jest sciśle powiązany z kernelem więc zdecydowałem sie napisac tutaj.

moje distro to testing z lekka pomieszany z unstable m.in. z tamtad mam kernela o numerku jak w temacie.
Wszelkie moje próby kompilacji sterownika pod to jajko legną w grózach więc chciałem sie spytac was czy macie jakis sposób na instalacje tego badziewia pod to jajko?

Próbowałem użyć pacza dla jajka 2.6.20 na firegl.public.c, lecz pacz nie chce sie zaaplikować na wyżej wymienionym pliku. Otrzymuje coś takiego:


Kod:

c85-23:/lib/modules/fglrx/build_mod# patch < fglrx-2.6.20.patch
patching file firegl_public.c
Hunk #1 FAILED at 181.
1 out of 1 hunk FAILED -- saving rejects to file firegl_public.c.rej
patching file firegl_public.c
Hunk #1 FAILED at 5265.
1 out of 1 hunk FAILED -- saving rejects to file firegl_public.c.rej

Gdzieniegdzie mozna przeczytać że  patch trzeba nakładać 2 razy gdyż dopiero za drugim razem zadziała lecz u mnie uruchomienie ponowne patcha nic nie daje(rezultat wyżej)

W pliku firegl_public.c.rej jest coś takiego:

Kod:

***************
*** 5265,5271 ****
      kasThread_t* thread_obj = (kasThread_t*)hThread;
      init_MUTEX(&(thread_obj->sleep_finished));
      init_waitqueue_head(&(thread_obj->wq_head));
-     INIT_WORK(&(thread_obj->work), routine, pcontext);
      schedule_work(&(thread_obj->work));
      return 1;
  }
--- 5265,5271 ----
      kasThread_t* thread_obj = (kasThread_t*)hThread;
      init_MUTEX(&(thread_obj->sleep_finished));
      init_waitqueue_head(&(thread_obj->wq_head));
+     INIT_WORK(&(thread_obj->work), routine);
      schedule_work(&(thread_obj->work));
      return 1;
  }
 

Bardzo proszęo podpowiedz bo moje kombinacje nicnie dają próbowałem jeszcze edytować patcha według opisu najakiejś stronie lecz także jest lipa... prawdopodobie źle rozumiałem opis(niechrześcijańskie swinie :D). Niestety spieszę się do pracy a linku nie pamietam więc puki co prosze o jakieś podpowiedzi. Później najwyżej dożuce tę stronkę.


Nigdy się niektórych rzeczy nie dowiesz, jeśli na niektóre pytania samemu sobie nie odpowiesz - STFW

Offline

 

#2  2007-04-27 13:43:48

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: Kompilacja Ati 2.6.20.1

Najnowsze stery ati mają wsparcie dla 2.6.20. Tak przynajmniej piszą.


[url=http://www.debian.org/][img]http://www.debian.org/logos/openlogo-nd-50.png[/img][/url]

Offline

 

#3  2007-04-27 14:22:26

  ju-rek - Użytkownik

ju-rek
Użytkownik
Skąd: R.........
Zarejestrowany: 2006-04-30

Re: Kompilacja Ati 2.6.20.1

Spróbuj tego:

Kod:

--- common/lib/modules/fglrx/build_mod/firegl_public.c    2006-12-18 10:58:15.000000000 -0500
+++ common/lib/modules/fglrx/build_mod/firegl_public.c    2006-12-18 11:14:04.000000000 -0500
@@ -181,6 +181,70 @@
 int errno;
 #endif // __ia64__
 
+#if defined(__i386__)
+#define __syscall_return(type, res) 
+do { 
+        if ((unsigned long)(res) >= (unsigned long)(-(128 + 1))) { 
+                errno = -(res); 
+                res = -1; 
+        } 
+        return (type) (res); 
+} while (0)
+#define _syscall2(type,name,type1,arg1,type2,arg2) 
+type name(type1 arg1,type2 arg2) 
+{ 
+long __res; 
+__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" 
+        : "=a" (__res) 
+        : "0" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)) 
+        : "memory"); 
+__syscall_return(type,__res); 
+}
+
+#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) 
+type name(type1 arg1,type2 arg2,type3 arg3) 
+{ 
+long __res; 
+__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" 
+        : "=a" (__res) 
+        : "0" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)), 
+                  "d" ((long)(arg3)) : "memory"); 
+__syscall_return(type,__res); 
+}
+#elif defined(__x86_64__)
+#define __syscall_clobber "r11","rcx","memory"
+#define __syscall "syscall"
+
+#define __syscall_return(type, res) 
+do { 
+        if ((unsigned long)(res) >= (unsigned long)(-127)) { 
+                errno = -(res); 
+                res = -1; 
+        } 
+        return (type) (res); 
+} while (0)
+#define _syscall2(type,name,type1,arg1,type2,arg2) 
+type name(type1 arg1,type2 arg2) 
+{ 
+long __res; 
+__asm__ volatile (__syscall 
+        : "=a" (__res) 
+        : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)) : __syscall_clobber ); 
+__syscall_return(type,__res); 
+}
+
+#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) 
+type name(type1 arg1,type2 arg2,type3 arg3) 
+{ 
+long __res; 
+__asm__ volatile (__syscall 
+        : "=a" (__res) 
+        : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)), 
+                  "d" ((long)(arg3)) : __syscall_clobber); 
+__syscall_return(type,__res); 
+}
+#endif
+
 // int mlock(const void *addr, size_t len);
 _syscall2(int, mlock, const void *, addr, size_t, len )
 // int munlock(const void *addr, size_t len);

--- common/lib/modules/fglrx/build_mod/firegl_public.c-orig    2007-01-21 23:09:10.027497362 -0600
+++ common/lib/modules/fglrx/build_mod/firegl_public.c    2007-01-21 23:09:25.219179776 -0600
@@ -5256,7 +5256,7 @@
     kasThread_t* thread_obj = (kasThread_t*)hThread;
     init_MUTEX(&(thread_obj->sleep_finished));
     init_waitqueue_head(&(thread_obj->wq_head));
-    INIT_WORK(&(thread_obj->work), routine, pcontext);
+    INIT_WORK(&(thread_obj->work), routine);
     schedule_work(&(thread_obj->work));
     return 1;
 }

nałóż 2 razy na firegl_public.c

EDIT:
na kernelu 2.6.21 dobrze do sterownika 8.35.5 działa ten patch:
http://whoopie.gmxhome.de/linux/patches/2.6.20/fglrx-8.35.5-for-2.6.20.patch


C2Q Q9550@4,0 Ghz - Asus P5Q-E - Nvidia GTX 260 - 2x2gb OCZ Titanium 1150MHz - HDD 500 Gb - Audigy 2 Gold - 2.6.31-zen1
[img]http://img213.imageshack.us/img213/4497/userbar15788xl0.gif[/img]

Offline

 

#4  2007-04-28 11:16:53

  terefere - Członek DUG

terefere
Członek DUG
Zarejestrowany: 2005-09-16
Serwis

Re: Kompilacja Ati 2.6.20.1

c85-23:/lib/modules/fglrx/build_mod# sh make.sh
ATI module generator V 2.0
==========================
initializing...
cat: /lib/modules/2.6.20-1-686/build/include/linux/version-*.h: Nie ma takiego pliku ani katalogu
cleaning...
patching 'highmem.h'...
assuming new VMA API since we do have kernel 2.6.x...
Assuming default VMAP API
Assuming default munmap API
doing Makefile based build for kernel 2.6.x and higher
make -C /lib/modules/2.6.20-1-686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Wejście do katalogu `/usr/src/linux-headers-2.6.20-1-686'
  Building modules, stage 2.
  MODPOST 1 modules
FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'paravirt_ops'
make[2]: *** [__modpost] Błąd 1
make[1]: *** [modules] Błąd 2
make[1]: Opuszczenie katalogu `/usr/src/linux-headers-2.6.20-1-686'
make: *** [kmod_build] Błąd 2
build failed with return value 2
[/quote]
Przy użyciu sterowników serii 8.35.5 patch sie nakłada pieknie, lecz sterownik nie chce się dalej skompilować efekt widać powyżej.
Jak sobie poradzić z tym GPL-incompatible... doczytałem sie u ruskich, że w linux-source trzeba zmienić linie EXPORT_SYMBOL_GPL(paravirt_ops) na EXPORT_SYMBOL(paravirt_ops) lecz make file korzysta  i tak z linux-headers i wychodzi taka lipa... czy nie ma sposobu żeby to zainstalować pod dystrybucyjnym jajkiem?


Nigdy się niektórych rzeczy nie dowiesz, jeśli na niektóre pytania samemu sobie nie odpowiesz - STFW

Offline

 

#5  2007-04-28 11:57:06

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: Kompilacja Ati 2.6.20.1

Ja bym zaczął od czytania listy zmian w sterowniku.


[url=http://www.debian.org/][img]http://www.debian.org/logos/openlogo-nd-50.png[/img][/url]

Offline

 

#6  2007-04-28 13:07:10

  terefere - Członek DUG

terefere
Członek DUG
Zarejestrowany: 2005-09-16
Serwis

Re: Kompilacja Ati 2.6.20.1

Czadman czyżby ci chodziło o to że sterownik 8.36.5 ma poprawione pare bugów a co za tym idzie oficjalnie wspiera jajka z seri 2.6.20? Jesli tak, to nic a nic nie zmienia w moim przypadku. Pierwszy mój post w tym temacie tyczył sie właśnie sterowników 8.36.5... ale spróbuje jeszcze wyzucić wszystko i dac tego patcha do 8.36.5.

Dam znac co z tej kiszki wyjdzie.


Nigdy się niektórych rzeczy nie dowiesz, jeśli na niektóre pytania samemu sobie nie odpowiesz - STFW

Offline

 

#7  2007-04-28 13:23:01

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: Kompilacja Ati 2.6.20.1

No to przepraszam za naciski. Niestety nie wydedukowałem tego z treści.


[url=http://www.debian.org/][img]http://www.debian.org/logos/openlogo-nd-50.png[/img][/url]

Offline

 

#8  2007-04-30 00:07:41

  terefere - Członek DUG

terefere
Członek DUG
Zarejestrowany: 2005-09-16
Serwis

Re: Kompilacja Ati 2.6.20.1

Czadman dzieki za pomoc przy jaju wreszcie ciesze się na 2.6.21.1 akceleracją od ati...aż się boje dopieścić configa... Małe pytanie mam czy jeśli skompilował bym to samo jajko tym samym systemem i przy okazji zachował kopie modułu fglrx.ko to czy będe mógł je po prostu dorzucić do modułów kernela? Czy to ma prawo działać?


Nigdy się niektórych rzeczy nie dowiesz, jeśli na niektóre pytania samemu sobie nie odpowiesz - STFW

Offline

 

#9  2007-04-30 06:22:07

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: Kompilacja Ati 2.6.20.1

Czadman dzieki za pomoc przy jaju wreszcie ciesze się na 2.6.21.1 akceleracją od ati...aż się boje dopieścić configa... Małe pytanie mam czy jeśli skompilował bym to samo jajko tym samym systemem i przy okazji zachował kopie modułu fglrx.ko to czy będe mógł je po prostu dorzucić do modułów kernela? Czy to ma prawo działać?[/quote]
Powinno działać. Mnie zawsze po małej rekompilacji nvidia działa. Choć to pewnie zależy od wielu rzeczy.


[url=http://www.debian.org/][img]http://www.debian.org/logos/openlogo-nd-50.png[/img][/url]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.010 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00011 SET NAMES latin2
0.00154 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.138.34.226' WHERE u.id=1
0.00263 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.138.34.226', 1727595213)
0.00034 SELECT * FROM punbb_online WHERE logged<1727594913
0.00070 SELECT topic_id FROM punbb_posts WHERE id=59037
0.00021 SELECT id FROM punbb_posts WHERE topic_id=7792 ORDER BY posted
0.00042 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=7792 AND t.moved_to IS NULL
0.00036 SELECT search_for, replace_with FROM punbb_censoring
0.00066 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=7792 ORDER BY p.id LIMIT 0,25
0.00096 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=7792
Total query time: 0.00802 s