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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Nvidia optimus czy jest jakiś sposób?
Mam laptopa niestety z tą "wspaniałą" technologią, dzięki której laptop żre prąd a 3D nie ma. Z tego co wiem to ktoś pracuje nad przełączaniem kart graficznych ale z wykorzystaniem otwartego sterownika, a mi zależy na tym zamkniętym. Wiem też że można kartę GF wyłączyć i używać tylko Intela, ale to mogę równie dobrze zrobić w BIOS.
Zależało by mi na uruchomieniu GeForce na zamkniętym sterowniku, może być na stałe włączona, na długiej pracy na zasilaniu bateryjnym mi nie zależy.
Offline
W żródłach kernela z Gentoo (hardened-sources) jest moduł do przełączania kart graficznych w lapkach, ale wymaga to restartu xserwera.
Z tego, co wiem, na optimusie to raczej nie pójdzie - mają jakiś własny sposób na te karty.
Tu masz opis na wiki, do innYch lapków:
http://en.gentoo-wiki.com/wiki/Vga_switcheroo
Moduł w kernelu (2.6.36) nazywa się:
CONFIG_VGA_SWITCHEROO
Sam tandety nie kupuję (nie stać mnie na tandetę), i dlatego cudownych wynalazków w tym stylu nie używam.
Osobiście zamierzam w przyszłości kupić lapka z (słownie) jedną kartą nvidia, wifi atherosa lub intela, i bez śladu jakiejkolwiek karty sieciowej Realteka.
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2010-12-09 12:23:26)
Offline
Z tego co ostatnio czytałem niestety wynika że póki co Optimus nie śmiga na Linuksie - i nie prędko się to zmieni. Problem z tym softem (tak, tak SOFTEM - przełączanie jest w 100% realizowane software'owo a nie sprzętowo jak mogło by się wydawać) jest taki że do jego wykorzystania potrzebne są badziewne funkcje które póki co oferuje jedynie Windos 7 (z tego co czytałem nawet na Viście Optimus nie śmiga), a ich implementacja w Xorg wymagała by gruntownego przepisania serwera.
Z tego co pamiętam, były jakieś doniesienia że komuś udało się - za pomocą sterownika nv albo nouveau - wymusić korzystanie z odpowiedniej karty, ale było wymagane spore hakowanie. Ster zamknięty póki co działa tylko na tych lapkach które w BIOS'ie mają wybór karty podstawowej.
Offline
Witam,
Znalazłem nieco na ten temat (być może też już ktoś to widział)
[url=http://linux-hybrid-graphics.blogspot.com/2010/10/calling-acpicall-with-parameters.html]KLIK[/url]
A [url=https://github.com/mkottman/acpi_call]TUTAJ[/url] moduł do tego potrzebny.
I właśnie chciałbym wyłączyć NV w jakiś ten sposób, ale nie działa...
~$ lsmod |grep acpi_call acpi_call 2936 0
Skrypty które tam są (m11xr2.sh,asus1215n.sh,test_off.sh) wywalają odpowiednio:
$ sh m11xr2.sh off NVOP Error: AE_NOT_FOUND _PS3 Error: AE_NOT_FOUND
$ sh asus1215n.sh off _DSM {0x59, 0x00, 0x00, 0x11} _PS3 0x0 P3MO 0x0 DGPS 0x1 _PSC 0x3 Asus 1215N Optimus appears to be off
$ sh test_off.sh Trying \_SB.PCI0.P0P1.VGA._OFF: failed Trying \_SB.PCI0.P0P2.VGA._OFF: failed Trying \_SB_.PCI0.OVGA.ATPX: failed Trying \_SB_.PCI0.OVGA.XTPX: failed Trying \_SB.PCI0.P0P2.PEGP._OFF: failed Trying \_SB.PCI0.MXR0.MXM0._OFF: failed Trying \_SB.PCI0.PEG1.GFX0._OFF: failed Trying \_SB.PCI0.PEG1.GFX0.DOFF: failed Trying \_SB.PCI0.XVR0.Z01I.DGOF: failed Trying \_SB.PCI0.PEGR.GFX0._OFF: failed Trying \_SB.PCI0.PEG.VID._OFF: failed Trying \_SB.PCI0.P0P2.DGPU._OFF: failed Trying \_SB.PCI0.IXVE.IGPU.DGOF: failed Trying \_SB.PCI0.RP00.VGA._PS3: failed Trying \_SB.PCI0.RP00.VGA.P3MO: failed Trying \_SB.PCI0.GFX0.DSM._T_0: failed
Dodam że jak zrobię reboot to moduł z kernela znika i musze go wstawiać na nowo...
Z góry dziekuje.
Pozdrawiam
[b]EDIT:[/b]
Dowiedziałem się że [i]test_off.sh[/i] nie działa ale sam moduł tak :) Tak więc pozostaje problem 'wypadania' z jądra modułu po restarcie kompa... Da się to rozwiązać inaczej niż skryptem?
Ostatnio edytowany przez P@blo (2011-01-11 17:50:21)
Offline
Dopisz go sobie do [i]/etc/modules[/i], będzie się automatycznie ładował przy każdym podniesieniu systemu.
Offline
Problem z tym że... kompletnie 'wypada'. Robię [i]insmod[/i] no i jest, ale gdy zrobie reboot to znowu muszę robić [i]insmod[/i]... Jest na to jakieś rozwiązanie?? Mam skrypt już zrobiony który to robi, a ten mogę dać do rc.local... Ale czy da się jakoś polubowniej? ;)
Offline
[i]/etc/modules[/i] właśnie do tego służy... Gdzie Ty masz ten moduł? Wchodzi normalnie przez [tt]modprobe nazwa_modułu[/tt]?
Offline
Tzn. Był sobie plik *.c i Makefile no i zbudowałem moduł, który nazywa sie [i]acpi_call.ko[/i]. W katalogu którym się znajduje daje [i]insmod[/i] no i jest w kernelu.
$ lsmod Module Size Used by acpi_call 2936 0 ...
Zrobie reboot i już go nie ma... A jeśli go mam pchać gdzieś w /lib/modules/... no to nie wiem gdzie...
Offline
[quote=P@blo]A jeśli go mam pchać gdzieś w /lib/modules/... no to nie wiem gdzie...[/quote]
Gdziekolwiek... byleby był w katalogu z modułami jądra którego używasz:
cp /ścieżka/do/modułu/nazwa_modułu.ko /lib/modules/`uname -r` depmod -a
i już powinien wchodzić przez [tt]modprobe nazwa_modułu[/tt], dopisanie do [i]/etc/modules[/i] również powinno już działać.
Offline
albo dopisz se tego insmoda do /etc/rc.local
Offline
Rzeczywiście zadziałało bez problemów... Wiedziałem że trzeba dać do /lib/modules/... ale nie wiedziałem że nie ma znaczenia gdzie :D
Tak więc ten 'podwątek' dla mnie solved :)
Pozdrawiam
Offline
Time (s) | Query |
---|---|
0.00013 | SET CHARSET latin2 |
0.00004 | 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='18.118.146.180' WHERE u.id=1 |
0.00068 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.118.146.180', 1732636126) |
0.00049 | SELECT * FROM punbb_online WHERE logged<1732635826 |
0.00092 | SELECT topic_id FROM punbb_posts WHERE id=160305 |
0.00013 | SELECT id FROM punbb_posts WHERE topic_id=17894 ORDER BY posted |
0.00046 | 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=17894 AND t.moved_to IS NULL |
0.00041 | SELECT search_for, replace_with FROM punbb_censoring |
0.00201 | 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=17894 ORDER BY p.id LIMIT 0,25 |
0.00092 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=17894 |
Total query time: 0.00773 s |