Mirek Rogoziński

linux, opensuse, nvidia, fglrx, open source, internet, windows

Archive for sierpień, 2008

KDE 4: Kickoff vs. Lancelot

Zainstalowałem sobie najnowsze dostępne pakiety niestabilnego KDE 4.1.xx i ku mojemu wielkiemu zdziwieniu i radości pojawiło się nowe menu Lancelot i odnowiony Kickoff. Szczerze powiedziawszy jeszcze nie podjąłem decyzji, które menu zostanie u mnie na stałe. Oba są świetne, chociaż Kickoff nie ma praktycznie opcji konfiguracyjnych w porównaniu do Lancelota. Z kolei Lancelot jest trochę zbyt upakowany;) Niech każdy zadecyduje sam, które mu się bardziej podoba:


  • 10 Comments
  • Filed under: KDE4, openSUSE
  • Tydzień po wydaniu sterowników 177.67 i 177.68 NVIDIA udostępniła kolejną wersję sterownika beta dla kart graficznych. W porównaniu do poprzednich sterowników lista zmian nie jest zbyt długa i ogranicza się głównie do dodania wsparcia dla nowszych modeli kart (GeForce 9800 GTX+, GeForce 9800 GT, GeForce 8100P, nForce 780a SLI, nForce 750a SLI, Quadro FX 770M, Quadro NVS 160M, Quadro NVS 150M) oraz poprawek błędów. Najważniejszą zmiana w stosunku do poprzednich wydań jest lepsze wsparcie dla operacji RENDER, co powinno poprawić wydajność Plasmy i KDE 4.

    Sterowniki w wersji 32 bitowej: download.nvidia.com/
    Sterowniki w wersji 64 bitowej: download.nvidia.com/

    Podstawy używania programu zypper

    Dzisiaj chciałbym przedstawić tym wszystkim, którzy jeszcze go nie znają, program zypper. Zypper służy do zarządzania pakietami i repozytoriami pakietów spod konsoli. Przy jego pomocy, możemy łatwo i szybko dodawać i usuwać repozytoria, wyszukiwać oraz instalować/aktualizować/usuwać pakiety i wzorce.

    Wyszukiwanie i wyświetlanie informacji o pakietach

    Pakiety wyszukujemy poleceniem (symbolami * i ? możemy zastąpić znaki i ciągi):

    linux-dvgz:/home/mirek # zypper se mc-*
    Reading installed packages...
    S | Name | Summary | Type
    --+---------+--------------------------+--------
    i | mc-lang | Languages for package mc | package

    Możemy także wyszukiwać wzorce:

    linux-dvgz:/home/mirek # zypper se -t pattern app*
    Reading installed packages...
    S | Name | Summary | Type
    --+--------------+-----------------+--------
    | apparmor | Novell AppArmor | pattern

    Żeby wyświetlić krótki opis pakietu, wydajemy polecenie:

    linux-dvgz:/home/mirek # zypper if mc-lang
    Reading installed packages...
    Information for package mc-lang:
    Repository: Repozytorium główne (OSS)
    Name: mc-lang
    Version: 4.6.2.pre1-71.1
    Arch: i586
    Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany
    Installed: Yes
    Status: up-to-date
    Installed Size: 2,1 M
    Summary: Languages for package mc
    Description:
    Provides translations to the package mc

    Żeby otrzymać szczegółowe informacje na temat wyszukiwane pakietu, wpisujemy:

    linux-dvgz:/home/mirek # zypper se -s mc-*
    Reading installed packages...
    S | Name | Type | Version | Arch | Repository
    --+---------+---------+-----------------+------+--------------------------
    i | mc-lang | package | 4.6.2.pre1-71.1 | i586 | Repozytorium główne (OSS)
    i | mc-lang | package | 4.6.2.pre1-71.1 | i586 | openSUSE-11.0-FTP 11.0

    Instalacja i usuwanie pakietów i wzorców

    Najprostszy sposobem instalacji i usuwania pakietów jest:

    linux-dvgz:/home/mirek # zypper in mc
    linux-dvgz:/home/mirek # zypper rm mc

    Tak jak w przypadku wyszukiwania, możemy zastąpić niektóre znaki lub ciągi odpowiednimi symbolami:

    linux-dvgz:/home/mirek # zypper in mc?lang
    Reading installed packages...
    'mc-lang' is already installed.
    Nothing to do.
    linux-dvgz:/home/mirek # zypper rm mc*
    Reading installed packages...
    The following packages are going to be REMOVED:
    mc-lang mc
    After the operation, 5,2 M will be freed.
    Continue? [YES/no]:

    Instalację i usuwanie pakietów możemy również łączyć:

    linux-dvgz:/home/mirek # zypper in mc -pidgin +firefox
    Reading installed packages...
    'mc' is already installed.
    'MozillaFirefox' providing 'firefox' is already installed.
    The following package is going to be REMOVED:
    pidgin
    After the operation, 2,9 M will be freed.
    Continue? [Y/n/p/?]: n

    Czasem zdarza się, że jakiś pakiet nie chce się zainstalować. Możemy go do tego zmusić używając przełącznika –force (-f). Jednak należy pamiętać, żeby używać –force tylko w przypadku reinstalacji jakiegoś pakietu, a nie instalacji pakietu, który ma niespełnione zależności:

    linux-dvgz:/home/mirek # zypper in -f mc
    Reading installed packages...
    The following package is going to be reinstalled:
    mc
    Overall download size: 1,0 M. No additional space will be used or freed after the operation.
    Continue? [YES/no]: no

    Przy pomocy zyppera, możemy również zainstalować pojedyncze pakiety rpm z dysku lokalnego, lub z jakiegoś adresu http:

    linux-dvgz:/home/mirek # zypper in Temp/hardinfo-0.4.2.3-7.1.i586.rpm
    Reading installed packages...
    The following package is going to be upgraded:
    hardinfo
    Overall download size: 284,0 K. No additional space will be used or freed after the operation.
    Continue? [YES/no]: YES
    Downloading package hardinfo-0.4.2.3-7.1.i586 (1/1), 284,0 K (607,0 K unpacked)
    Installing: hardinfo-0.4.2.3-7.1 [done]

    linux-dvgz:/home/mirek # zypper in http://download.opensuse.org/repositories/home:/keypl/openSUSE_11.0/i586/hardinfo-0.4.2.3-7.1.i586.rpm
    Reading installed packages...
    'hardinfo' providing 'hardinfo=0.4.2.3-7.1' is already installed.
    Nothing to do.

    Możemy zainstalować także znane z YaSTa wzorce. Żeby wyświetlić listę wzorców, wydajemy polecenie:

    linux-dvgz:/home/mirek # zypper pt
    Reading installed packages...
    S | Name | Version | Repository | Dependency
    --+----------------------+------------+-------------------------------+-----------
    | apparmor | 11.0-110.3 | openSUSE-11.0-FTP 11.0 |
    | apparmor | 11.0-110.3 | Repozytorium główne (OSS) |
    i | apparmor_opt | 11.0-110.3 | openSUSE-11.0-FTP 11.0 |

    Teraz możemy zainstalować wybrany wzorzec poleceniem:

    linux-dvgz:/home/mirek # zypper in -t pattern apparmor
    Reading installed packages...
    The following NEW package is going to be installed:
    apparmor

    Bardzo przydatną opcją jest instalacji potrzebnych bibliotek i źródeł do zbudowania pakietu:

    linux-dvgz:/home/mirek # zypper si -d kernel-pae
    Reading installed packages...
    The following NEW package is going to be installed:
    makedumpfile
    The following source package is going to be installed:
    kernel-pae
    Overall download size: 674,0 K. After the operation, additional 52,7 M will be used.
    Continue? [YES/no]: no

    Na koniec pozostaje aktualizowanie pakietów. Poleceniem:

    linux-dvgz:/home/mirek # zypper up

    zainstalujemy tylko łatki programów. Natomiast polecenie:

    linux-dvgz:/home/mirek # zypper dup

    służy do aktualizacji wszystkich pakietów do nowsze wersji, bądź aktualizacji całego systemu do wyższej wersji.

    Zarządzanie repozytoriami pakietów

    Tak jak wspomniałem, zypper umożliwia także zarządzanie repozytoriami pakietów. Poleceniem:

    linux-dvgz:/home/mirek # zypper lr
    uzyskamy listę wszystkich repozytoriów, jakie dodaliśmy, z wyszczególnieniem czy są uruchomione i odświeżane.

    Żeby dodać repozytorium, wydajemy polecenie:

    linux-dvgz:/home/mirek # zypper ar http://download.opensuse.org/repositories/home:/keypl/ pakiety
    Dodawanie repozytorium "pakiety" [done]
    Repository 'pakiety' successfully added
    Enabled: Yes
    Autorefresh: No
    URI: http://download.opensuse.org/repositories/home:/keypl/

    Usuwanie repozytorium odbywa się w podobny sposób:

    linux-dvgz:/home/mirek # zypper rr pakiety
    Usuwanie repozytorium 'pakiety' [done]
    Repository 'pakiety' has been removed.

    Zamiast usuwać repozytorium, możemy je po prostu zablokować:

    linux-dvgz:/home/mirek # zypper mr -d pakiety
    Repository 'pakiety' has been sucessfully disabled.

    Możemy także ustawić auto odświeżanie repozytorium:

    linux-dvgz:/home/mirek # zypper mr -r pakiety
    Autorefresh has been enabled for repository 'pakiety'.
    linux-dvgz:/home/mirek # zypper mr -R pakiety
    Autorefresh has been disabled for repository 'pakiety'.

    Tyle z podstaw, które na pewno przydadzą się każdemu użytkownikowi openSUSE.

    Parę dni temu AMD wydało nową wersję sterowników dla kart graficznych Ati. Oprócz dużej ilości poprawek, nowy sterownik zapewnia wsparcie dla technologi OverDrive (umożliwiającej podkręcanie karty graficznej) i CrossFire (umożliwiającej łączenie kart graficznych). Niestety CrossFire nie wspiera łączenia karty graficznej PCI-E z kartą zintegrowaną, tak jak ma to miejsce z kartami Nvidii, dlatego do przetestowania zostało mi OverDrive. Przed przystąpieniem do podkręcania, należy odblokować OverDrive poleceniem:

    mirek@linux-di0w:~> aticonfig --od-enable
    ATI Overdrive(TM) enabled

    Teraz możemy zabrać się za podkręcanie. Na początku przyjrzymy się opcji –od-getclocks:

    mirek@linux-di0w:~> aticonfig --od-getclocks
    Default Adapter - ATI Radeon HD 2600 XT
    Core (MHz) Memory (MHz)
    Current Clocks : 800 700
    Current Peak : 800 700
    Configurable Peak Range : [800-850] [700-750]
    GPU load : 0%

    Polecenie to wyświetla informacje o domyślnej karcie graficznej i jej parametrach (taktowanie, zakres taktowania i obciążenie GPU). “Configurable Peak Range” określa zakres częstotliwości, jakie możemy ustawić dla rdzenia i pamięci karty graficznej. Następną opcją, której powinniśmy się przyjrzeć, jest –od-gettemperature, wyświetlająca informacje o temperaturze rdzenia:

    mirek@linux-di0w:~> aticonfig --od-gettemperature
    Default Adapter - ATI Radeon HD 2600 XT
    Sensor 0: Temperature - 41.00 C
    mirek@linux-di0w:~>

    Teraz, możemy przystąpić do podkręcania. Służy do tego opcja –od-setclocks=x,y (x - nowa częstotliwość dla rdzenia, y dla pamięci):

    mirek@linux-di0w:~> aticonfig --od-setclocks=850,750
    Default Adapter - ATI Radeon HD 2600 XT
    New Core Peak : 850
    New Memory Peak : 750

    I po bólu:) Karta po ustawieniu wartości maksymalnych dla rdzenia i pamięci pracuje stabilnie, a w benchmarku Unigine v0.4 poprawiły się o 100 punktów. Na koniec pozostaje jeszcze opcja –od-restoredefaultclocks:

    mirek@linux-di0w:~> aticonfig --od-restoredefaultclocks
    Default clock values Restored
    Warning: X needs to be restarted before these changes take effect.

    Niestety opcje overclockingu są dostępne tylko z poziomu konsoli, przy użyciu polecenia aticonfig. Mam nadzieję, że w następnej wersji sterowników, opcje te pojawią się już w Catalyst Control Center.

    Jako, że już dawno nie przeprowadzałem testów wydajności aktualnych sterowników NVIDII, postanowiłem, że przyjrzę się dwóm ostatnim wydaniom beta - 177.13 i 177.67. Do testów użyłem benchmarków 3D Mark 2003 (odpalany z wykorzystanie DirectX 9.0c przez Wine, jak to opisałem tutaj), Unigine v0.4 (Sanctuary Demo) oraz render_bench. Środowiskiem testowym jest KDE 4.1 na systemie openSUSE 11.0. Testy robione były na laptopie Dell XPS M1330 (C2D 2.1 GHz T8100, 2048 RAM, GeForce 8400 GS). Oba sterowniki były odpalane przy użyciu identycznej konfiguracji xorg.conf, którą zamieszczam poniżej, oraz przy użyciu identycznych ustawień benchmarków:

    Section "Device"
    Identifier "Videocard0"
    Driver "nvidia"
    Option "Nologo" "True"
    Option "PixmapCacheSize" "300000"
    Option "RenderAccel" "true"
    Option "UseEvents" "false"
    Option "TripleBuffer" "1"
    Option "DamageEvents" "1"
    Option "BackingStore" "1"
    Option "OnDemandVBlankInterrupts" "true"
    VendorName "NVIDIA Corporation"
    BoardName "GeForce 8400M GS"
    EndSection

    Section "Extensions"
    Option "Composite" "on"
    EndSection

    render_bench
    Na pierwszy ogień wybrałem benchmark render_bench. Wykresy prezentują czasy poszczególnych testów, im mniejszy czas tym lepiej:


    wykres1.png
    wykres2.png
    wykres3.png
    wykres4.png
    wykres5.png
    wykres6.png

    Jak widać po wykresie różnice w wydajności nie są duże, jednak 177.67 wypada lepiej w większości przypadków.

    3D Mark 2003

    Następnym benchmarkiem z jakiego skorzystałem był Windowsowy 3D Mark 03 uruchomiony przez Wine z zainstalowanym DirectX 9.0c. Benchmark wykonał wszystkie testy oprócz testów dźwięku. Oto wyniki:

    kde4beta1.png

    Sterownik 177.13

    kde4beta22.png

    Sterownik 177.67

    W tym przypadku widać już zdecydowaną poprawę wydajności nowego sterownika. Różnica dochodzi do ponad 300 punktów, co jest dość dobrym wynikiem. Należy jednak pamiętać, że 3D Mark 2003 uruchamiany przez Wine nie jest do końca wiarygodny, dlatego przeprowadziłem jeszcze jeden test z użyciem natywnego benchmarka.

    Unigine v0.4 (Sanctuary Demo)
    Ostatnim benchmarkiem, jaki wykorzystałem do porównania wydajności obu sterowników na KDE 4.1, jest Unigine. Poniżej przedstawiam wyniki:

    u1.png

    u2.png

    Jak widać i w tym przypadku sterownik 177.67 osiągnął dużo lepszy wynik od swojego poprzednika. Wydajność OpenGL w tym przypadku wzrosła o ponad 2 klatki na sekundę, co przy wyświetlaniu kilkunastu klatek na sekundę jest dość przyzwoitym wynikiem dla tej karty graficznej.

    Podsumowując należy przyznać, że NVIDIA solidnie zabrała się za poprawianie swoich sterowników, o czym mogą świadczyć powyższe wyniki oraz tempo wydawania sterowników. Także poprawiono nieco wydajność KDE 4, na którym da się już normalnie pracować przy wyłączonych efektach, a nawet przy włączonych, chociaż dalej jest to dość uciążliwe. Niestety uruchomione efekty znacznie spowalniają aplikacje 3D (wyniki przy włączonych efektach pulpitu były dużo gorsze, dlatego testy przeprowadzałem na pulpicie bez efektów). Nie jest to może to czego oczekiwaliśmy, jednak wszystko wskazuje, że NVIDIA jest na dobrej drodze do odzyskania zaufania użytkowników Linuksa.

  • 5 Comments
  • Filed under: KDE4, Linux, Nvidia, openSUSE