Dwie kary Graficzne | Dual Graphics Card | Intel Nvidia

W tym miejscu zapraszamy Was do współpracy. Czekamy na propozycje, sugestie i rady.
Moderatorzy zatroszczą się o to, by najlepsze teksty trafiły do FAQ.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
webster
Użytkownik
Posty: 1269
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Dwie kary Graficzne | Dual Graphics Card | Intel Nvidia

Post autor: webster »

Dwie kary Graficzne | Dual Graphics Card | Intel Nvidia GeForce How To

Udało się uruchomić Xorg z pełną obsługą akceleracji dodatkowej karty graficznej NVidia -> Karta pracuje 7.5 razy szybciej niż poprzez bumblebee :!: :mrgreen:

Support Kernela dopiero w wersji 3.9 -> Stąd posiłkowałem się mainline 3.9-rc7 https://www.kernel.org/

Support pełnej akceleracji wraz z poprawnym wywołaniem karty graficznej GeForce jako podstawowa w Xorg -> w sterowniku od Nvidia w wersji Beta -> NVIDIA-Linux-x86_64-319.12.bin

Support Xorg na paczce -> xf86-video-modesetting-0.7.0-x86_64-1 -> Domyślnie w systemie

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Zainstalować xf86-video-nouveau-blacklist-noarch-1.txz dostępny w repo ftp slackware -> Wersja x64 -> http://ftp.slackware.pl/pub/slackware/s ... blacklist/

Jeśli uruchomiony

Kod: Zaznacz cały

rmmod nouveau
Instalacja sterownika NVidia. Proponuję skorzystać ze Slackbuild i zainstalować sterowniki przy jego pomocy. --> http://slackbuilds.org/repository/14.1/ ... ia-driver/ -> http://slackbuilds.org/repository/14.1/ ... ia-kernel/

Aby skonfigurować Xorga musimy najpierw poznać gdzie dokładnie leży nasza karta Geforce

Kod: Zaznacz cały

lspci |grep -i nvidia
01:00.0 VGA compatible controller: nVidia Corporation Device 0fd1 (rev a1)
U mnie znajduje się na pozycji 01:00.0 (pierwsza kolumna wyniku który otrzymaliśmy z komendy)

Konfiguracja Xorg.conf -> /etc/X11/xorg.conf

Kod: Zaznacz cały

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "nvidia" 0 0
    Inactive       "intel"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
    FontPath        "/usr/lib64/X11/fonts/misc/:unscaled"
    FontPath        "/usr/lib64/X11/fonts/100dpi/:unscaled"
    FontPath        "/usr/lib64/X11/fonts/75dpi/:unscaled"
    FontPath        "/usr/lib64/X11/fonts/misc/"
    FontPath        "/usr/lib64/X11/fonts/Type1/"
    FontPath        "/usr/lib64/X11/fonts/Speedo/"
    FontPath        "/usr/lib64/X11/fonts/100dpi/"
    FontPath        "/usr/lib64/X11/fonts/75dpi/"
    FontPath        "/usr/lib64/X11/fonts/cyrillic/"
    FontPath        "/usr/lib64/X11/fonts/TTF/"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"

#    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "nvidia"
    Driver         "nvidia"
    Option "TwinView"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:01:00:0"
EndSection

Section "Device"
    Identifier     "intel"
    Driver         "modesetting"
    Option         "eDP-0" "Monitor0"
    Option         "HDMI-0" "Monitor1"
EndSection

Section "Screen"
    Identifier     "nvidia"
    Device         "nvidia"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "AllowEmptyInitialConfiguration"
    Option         "eDP-0" "Monitor0"
    Option         "HDMI-0" "Monitor1"
    Option         "BaseMosaic" "True"
    Option         "MetaModes" "GPU-0.DFP-0: 1920x1200+0+0, GPU-1.DFP-0: 1920x1200+1920+0"
    Option         "ConstrainCursor" "0"
    Option         "nvidiaXineramaInfoOverride" "1920x1200+1920+0, 1920x1080+0+0+0+0"
    SubSection     "Display"
        Depth       24
        Modes      "nvidia-auto-select"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "intel"
    Device         "intel"
    Monitor        "Monitor0"
EndSection
Zaopiekujmy się, by system na startx nie wykrzaczył się -> Na początku w pliku defaultowym dla xinit -> /etc/X11/xinit/xinitrc musimy dodać dwie linijki

Kod: Zaznacz cały

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
Przykładowo, mój /etc/X11/xinit/xinitrc wygląda tak:

Kod: Zaznacz cały

#!/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
    xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi

# Start the window manager:
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
    ck-launch-session startkde
else
    startkde

fi
Pozbądźmy się starych / błędnych xinitrc z naszych profili

Kod: Zaznacz cały

rm ~/.xinitrc
Jeśli Macie Więcej Userów, Pamiętajcie by im również usunąć ten plik z katalogu domowego :!:

Finał!

Start X'ów i powinno wszystko hulać :)

Kod: Zaznacz cały

startx
<<< Dla zainteresowanych, odsyłam do dokumentacji którą się posiłkowałem -> ftp://download.nvidia.com/XFree86/Linux ... README.txt >>>

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problemy | Possible Trouble

1. inittab id:4:initdefault: KDE startx
Ogólnie problem jest przy wywołaniu X'ów z inittab na poziomie 4tym -> id:4:initdefault:
Sam korzystam z KDE. Znalazłem ominięcie problemu. W pliku /etc/kde/kdm/Xsetup dodać dwie linie

Kod: Zaznacz cały

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
Plansza logowania trochę się rozjeżdża, ale działa.

2. Obsługa wielu monitorów | TwinView Dual-Display Architecture
No właśnie... W samym sterowniku obsługa nie występuje. Znów można posiłkować się xrandr jednak działa tylko klonowanie ekranu. Mnie jednak to nie wystarcza -> Pracuję na rozszerzalnych pulpitach :( Miejmy nadzieję iż sterownik w wersji stable sobie z tym poradzi.
EDIT - Już działa. Kwestia dodania do xorg w sekcji Screen dla Nvidia dwóch linii

Kod: Zaznacz cały

    Option         "ConstrainCursor" "0"
    Option         "nvidiaXineramaInfoOverride" "1920x1200+1920+0, 1920x1080+0+0+0+0"
Linie dodane w powyższym xorg.conf[/b]

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Zapraszam do komentowania, podrzucania ciekawostek i możliwych konfiguracji.

Pozdr0

webster / Valheru

Tags: Dwie kary Graficzne | Linux Dual Graphics Card | Linux Intel Nvidia GeForce | Slackware Optimus Nvidia | Optirun | bumblebee | Linux Laptop dual Graphics Card
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook
Awatar użytkownika
sectt
Użytkownik
Posty: 139
Rejestracja: 2006-06-04, 12:15
Lokalizacja: Kraków

Re: Dwie kary Graficzne | Dual Graphics Card | Intel Nvidia

Post autor: sectt »

Witam,
Miałem problem z rozjechanym KDM przy starcie systemu z :

Kod: Zaznacz cały

id:4:initdefault
Znalazłem oto taki artykuł :
https://devtalk.nvidia.com/default/topi ... randr-1-4/

Jeżeli dodamy Opcje Virtual do xorg.conf w sekcji "screen" do sub sekcji display :

Kod: Zaznacz cały

    SubSection "Display"
        Virtual 1920 1080 
    EndSubSection
To rozwiąże nasz problem. Może komuś sie przyda.
Awatar użytkownika
webster
Użytkownik
Posty: 1269
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: Dwie kary Graficzne | Dual Graphics Card | Intel Nvidia

Post autor: webster »

Dzięki - zapewne się przyda.

Aktualnie na current w ogóle nvidia nie działa, czekam na poprawki :/
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook
ODPOWIEDZ