# Flaga VDPAU i Nvidia Optimus (Intel vs Nvidia)

## Xywa

Witam,

Chciałem włączyć flagę VDPAU i wyskoczył mi komunikat jak na listingu poniżej.

Był już podobny post na forum angielski Gentoo:

https://forums.gentoo.org/viewtopic-t-911298-view-previous.html?sid=06c50587cc3d76defe034e5bbe86d860

Ponoć mam wybrać albo vdpau albo g3dvl, ale co mam zrobić jak mam to cholersto zwane Nvidia Optiumus, która działa jako Intel do grafiki 2D i ma wspracie od Nvidi przy 3D.

```
The following REQUIRED_USE flag constraints are unsatisfied:

    vdpau? ( g3dvl )

  The above constraints are a subset of the following complete expression:

    d3d? ( gallium ) g3dvl? ( gallium ) llvm? ( gallium ) openvg? ( egl gallium ) gbm? ( shared-glapi ) g3dvl? ( any-of ( vdpau xvmc ) ) vdpau? ( g3dvl ) xa? ( gallium ) xvmc? ( g3dvl ) video_cards_intel? ( any-of ( classic gallium ) ) video_cards_i915? ( any-of ( classic gallium ) ) video_cards_i965? ( classic ) video_cards_nouveau? ( any-of ( classic gallium ) ) video_cards_radeon? ( any-of ( classic gallium ) ) video_cards_r100? ( classic ) video_cards_r200? ( classic ) video_cards_r300? ( gallium ) video_cards_r600? ( gallium ) video_cards_vmware? ( gallium )

(dependency required by "media-video/nvidia-settings-295.40" [installed])

(dependency required by "x11-drivers/nvidia-drivers-295.40[gtk]" [installed])

(dependency required by "@selected" [set])

(dependency required by "@world" [argument])
```

----------

## SlashBeast

Wlacz obie flagi. dostaniesz dodatkowe wyjscie do mplayera. Pewnie bedziesz musial to odpalic w stylu 'optirun mplayer -vo vdpau foo.mkv'.

Ja mam w package.use:

```
media-*/* alsa mp3 vdpau vorbix x264 xvid flac vorbis g3dvl

virtual/ffmpeg alsa mp3 vdpau vorbix x264 xvid flac vorbis g3dvl
```

I wszystko smiga.

----------

## Xywa

 *SlashBeast wrote:*   

> Pewnie bedziesz musial to odpalic w stylu 'optirun mplayer -vo vdpau foo.mkv'.

 

A co zrobić z programem typu kdenlive, który nie ma tej flagi, ale podczas renderowania korzysta z ffmpeg i mlt, które oba korzystają z vdpau? czy to automatyczne włączy tą opcje dla tych programów.

----------

## c0oba

Nvidia Optimus z tego co rozumiem przy pierwszym odwołaniu się do akceleracji 3D przełącza się z intelowskiej karty na Nvidię. Tak to działa na pewno na windowsach, ale pamiętam że na linuksach były z tym problemy. Jeśli faktycznie działają ci aplikacje OpenGLowe ładnie na Nvidii, to pewnie z tym też nie będzie problemu i zadziała automagicznie.

----------

## Xywa

 *c0oba wrote:*   

> Nvidia Optimus z tego co rozumiem przy pierwszym odwołaniu się do akceleracji 3D przełącza się z intelowskiej karty na Nvidię. Tak to działa na pewno na windowsach, ale pamiętam że na linuksach były z tym problemy. Jeśli faktycznie działają ci aplikacje OpenGLowe ładnie na Nvidii, to pewnie z tym też nie będzie problemu i zadziała automagicznie.

 

No właśnie jest problem - jak skompilowałem kdenlive z flagą vdpau to program "wywalał się" bez względu czy uruchomiłem do jak $ kdenlive czy $ otpirun kdenlive. czy switcheroo działa automatycznie - tzn. zawsze domyślnie uzywa nvidia bez wspierania się komendą optirun dla każdego programu z osobna?

----------

## Xywa

Gdy uruchamiam mplayer z flagą vdpau mam taki błąd:

```
Xlib:  extension "NV-GLX" missing on display ":0".

Xlib:  extension "NV-GLX" missing on display ":0".

[vdpau] Error when calling vdp_device_create_x11: 1
```

pdpbnie jest np. z mlt:

```
$ optirun melt DSC_4387.MOV 

 xauth: (argv):1: unable to read any entries from file "/etc/VirtualGL/vgl_xauth_key"

 Xlib: extension "NV-GLX" missing on display ":0".

 Xlib: extension "NV-GLX" missing on display ":0".

```

----------

## Xywa

Na stronie Ubuntu jest info jak ugryźć Optimusa i Vdpau:

http://askubuntu.com/questions/102508/hybrid-dump-for-vdpau-accelerated-video-playing-on-ubuntu-11-10-with-bumblebee-3

Ponoć potrzebny jest hybrid-windump, tylko nie wiem czy jest na Gentoo (na Ubuntu tak).

Tutaj owo cudo w akcji:

http://www.youtube.com/watch?v=pxziIAPFIFY

----------

## Xywa

Kolejny dzień walki z vdpau pod Bumblebee.

Ktoś mi doradził żeby przełączyć ekran (Intel uzywa 0 a Nvidia 8 )

```
$ export DISPLAY=:8
```

i teraz wygląda że np. Mplayer działa z Vdpau, ale ponieważ przełączyłem na 8 nic nie widze:

```
$ optirun mplayer2 -vo vdpau /mnt/video/kdenlive/robocze/DSC_4387.MOV 

xauth: (argv):1:  unable to read any entries from file "/etc/VirtualGL/vgl_xauth_key"

MPlayer2 2.0-467-ga816810 (C) 2000-2012 MPlayer Team

Playing /mnt/video/kdenlive/robocze/DSC_4387.MOV.

Detected file format: QuickTime/MPEG-4/Motion JPEG 2000 format (libavformat)

[lavf] stream 0: video (h264), -vid 0

[lavf] stream 1: audio (pcm_s16le), -aid 0, -alang eng

VIDEO:  [H264]  1920x1080  24bpp  25.000 fps  19393.6 kbps (2367.4 kbyte/s)

Clip info:

 major_brand: qt  

 minor_version: 537331968

 compatible_brands: qt  niko

 creation_time: 2012-05-19 08:31:49

Load subtitles in /mnt/video/kdenlive/robocze/

==========================================================================

Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family

Asking decoder to use 2 threads if supported.

Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)

==========================================================================

==========================================================================

Opening audio decoder: [pcm] Uncompressed PCM audio decoder

AUDIO: 48000 Hz, 2 ch, s16le, 0.0 kbit/0.00% (ratio: 0->192000)

Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)

==========================================================================

AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)

Starting playback...

A:  -9.0 V:   0.0 A-V:  0.000 ct:  0.000   0/  0 ??% ??% ??,?% 0 0 

Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.

VO: [vdpau] 1920x1080 => 1920x1080 Planar YV12 

[vdpau] Got display refresh rate 60.004 Hz.

[vdpau] If that value looks wrong give the -vo vdpau:fps=X suboption manually.

A:  15.2 V:  15.2 A-V: -0.000 ct: -0.000   0/  0 90%  9%  0.1% 182 0 

Exiting... (End of file)

```

----------

## Xywa

Aby podsumować - mamy 2 opcje na 2 ekrany - łącznie 4 opcje

Jak widać OPCJA nr4 działa z VDPAU, tylko że z racji że przłączylismy na DISPLAY 8 nic nie widać np. pod Mplayer jako że ekran Intela to 0 a Nvidi to 8, a to co widzimy na monitorze to 0, ale dla mnie ważniejsze jest użycie wsparcia VDPAU i karty Nvidia przy renderowaniu filmów pod Kdenlive - potestuje - dam Wam znać.

OPCJA NR1 (Display 0)

```
 $ vdpauinfo 

 display: :0 screen: 0

 NVIDIA: could not open the device file /dev/nvidiactl (No such file or directory).

 Error creating VDPAU device: 1

```

OPCJA NR2 (Display 0)

```
 $ optirun vdpauinfo 

 xauth: (argv) unable to read any entries from file "/etc/VirtualGL/vgl_xauth_key"

 display: :0 screen: 0

 Xlib: extension "NV-GLX" missing on display ":0".

 Xlib: extension "NV-GLX" missing on display ":0".

 Error creating VDPAU device: 1
```

I 2 kolejne opcje po przełaczeniu na DISPALY 8 :

```
 $ export DISPLAY=:8
```

OPCJA NR3 (Display 8 )

```
 $ vdpauinfo 

 vdpauinfo: cannot connect to X server :8
```

OPCJA NR4 (Display 8 ) - wygląda na to że działa

```
 $ optirun vdpauinfo 

 xauth: (argv) unable to read any entries from file "/etc/VirtualGL/vgl_xauth_key"

 display: :8 screen: 0

 API version: 1

 Information string: NVIDIA VDPAU Driver Shared Library 295.53 Fri May 11 23:53:42 PDT 2012

Video surface:

name width height types

420 4096 4096 NV12 YV12 

 422 4096 4096 UYVY YUYV 

Decoder capabilities:

name level macbs width height

MPEG1 0 8192 2048 2048

 MPEG2_SIMPLE 3 8192 2048 2048

 MPEG2_MAIN 3 8192 2048 2048

 H264_MAIN 41 8192 2048 2048

 H264_HIGH 41 8192 2048 2048

 VC1_SIMPLE 1 8190 2048 2048

 VC1_MAIN 2 8190 2048 2048

 VC1_ADVANCED 4 8190 2048 2048

 MPEG4_PART2_SP 3 8192 2048 2048

 MPEG4_PART2_ASP 5 8192 2048 2048

 DIVX4_QMOBILE 0 8192 2048 2048

 DIVX4_MOBILE 0 8192 2048 2048

 DIVX4_HOME_THEATER 0 8192 2048 2048

 DIVX4_HD_1080P 0 8192 2048 2048

 DIVX5_QMOBILE 0 8192 2048 2048

 DIVX5_MOBILE 0 8192 2048 2048

 DIVX5_HOME_THEATER 0 8192 2048 2048

 DIVX5_HD_1080P 0 8192 2048 2048

Output surface:

name width height nat types

B8G8R8A8 16384 16384 y Y8U8V8A8 V8U8Y8A8 

 R10G10B10A2 16384 16384 y Y8U8V8A8 V8U8Y8A8 

Bitmap surface:

name width height

B8G8R8A8 16384 16384

 R8G8B8A8 16384 16384

 R10G10B10A2 16384 16384

 B10G10R10A2 16384 16384

 A8 16384 16384

Video mixer:

feature name sup

DEINTERLACE_TEMPORAL y

 DEINTERLACE_TEMPORAL_SPATIAL y

 INVERSE_TELECINE y

 NOISE_REDUCTION y

 SHARPNESS y

 LUMA_KEY y

 HIGH QUALITY SCALING - L1 y

 HIGH QUALITY SCALING - L2 -

 HIGH QUALITY SCALING - L3 -

 HIGH QUALITY SCALING - L4 -

 HIGH QUALITY SCALING - L5 -

 HIGH QUALITY SCALING - L6 -

 HIGH QUALITY SCALING - L7 -

 HIGH QUALITY SCALING - L8 -

 HIGH QUALITY SCALING - L9 -

parameter name sup min max

VIDEO_SURFACE_WIDTH y 1 4096

 VIDEO_SURFACE_HEIGHT y 1 4096

 CHROMA_TYPE y

 LAYERS y 0 4

attribute name sup min max

BACKGROUND_COLOR y

 CSC_MATRIX y

 NOISE_REDUCTION_LEVEL y 0.00 1.00

 SHARPNESS_LEVEL y -1.00 1.00

 LUMA_KEY_MIN_LUMA y

 LUMA_KEY_MAX_LUMA y
```

----------

## Xywa

Potential Good News For NVIDIA Optimus On Linux

http://www.phoronix.com/scan.php?page=news_item&px=MTEyOTQ

----------

## Belliash

Czyzby palec Torvaldsa podzialal   :Cool: 

----------

## Jacekalex

 *Belliash wrote:*   

> Czyzby palec Torvaldsa podzialal  

 

A Tobie się zdaje, że Linus ten palec pokazał, żeby Ludzie o tym dyskutowali?

Kiedy przebojem wchodzi na rynek Android w smartphonach i tabletach, ewentualne kłótnie  z developerami kernela mogłyby Nvidię kosztować całkiem konkretne pieniądze.  :Smile: 

Więc taniej jest umożliwić działanie optimusa pod Linuxem.  :Cool: 

----------

## joi_

Nvidia zainteresowała się wsparciem Optimusa tylko dlatego, że cała czarna robota potrzebna Optimusowi - wykonana przez społeczność - właśnie dobiega końca. Nvidia nie kiwnęła palcem żeby w czymkolwiek pomóc.

----------

## SlashBeast

Optimus to jest porazka, cala ta idea muxless, przepisywanie calej pamieci buffera ramki z karty nvidia do fb intela, tyle samo tez transferu musi byc uzyte by wyslac pamiec z karty do odswiezenia ekranu, w praktyce optimus bardzo traci na wydajnosci wzgledem nie-optimusowego rozwiazania.

----------

## Xywa

 *Belliash wrote:*   

> Czyzby palec Torvaldsa podzialal  

 

Igrali i się doigrali...

To za to że mam Nvidie 630M, której w ogóle nie używam (bo nie mam wsparcia vdpau), mogłem zamówić lapka bez tej karty za to z i7...

Nvidia loses 10 million GPU order due to poor Linux support

http://www.geek.com/articles/chips/nvidia-loses-order-due-to-poor-linux-support-20120628/

----------

## Jacekalex

A ja się w konteście Optimusa zastanawiam, dlaczego żaden "wybitny" producent, nie wpadł na to, żeby zamiast pierzyć się z jakimś kopiowaniem bufora, czy czymś podobnym, po prostu nie dał przełącznika, na obudowie, zebym sobie mógł przełączyć wyjście między kartami, i drugiego, żeby Nivdia poszla przez hdmi, a Intel na matrycę.

Proste jak konstrukcja cepa, a na 100% ludziom by się to bardziej spodobało, niż pieprzenie z jakimś muxless.

Ewentualnie, jak karty mają dzialać równocześnie, to niech sobie jakiś mądrala poszuka w piwnicy Pentium 200 z kartą graficzna S3 i dodatkową VooDoo, wtedy jakoś dało się to połączyć, żeby jedno robilo 2D, drugie 3D, i działało, i nawet Windows 95 wiedzial, o co biega.

Tylko pewnie w Nvidii nikt tego nie pamięta, bo to było przed pojawieniem się karty Riva 128, pierwszej Nvidii.  :Wink: 

----------

## Xywa

A czy ktoś sie orientuje czy flaga CUDA (skoro nie mogę uzywać VDPAU) wspomoże mi jakoś renderowanie grafiki?

----------

## Garrappachc

Na pewno CUDA nie wspomoże renderowania grafiki.

----------

## Xywa

Rewelacyjny news!

NVIDIA w końcu potwierdziła, że pracuje nad wsparciem dla technologi Optimus dla Linuksa w swoich własnościowych sterownikach. Ogromną zasługą jest tutaj praca Davida Airlie (RedHat) nad rozszerzeniem RandR 1.4 oraz wprowadzenie infrastruktury DMA-BUF.

http://www.wykop.pl/ramka/1251755/nvidia-pracujemy-nad-technologia-optimus-dla-linuksa/

----------

## SlashBeast

Poki co to ledwo te sterowniki ogarniaja xrandr 1.2/1.3, pewnie minie z pol roku zanim wypuszcza cos dzialajacego.

----------

## Xywa

 *SlashBeast wrote:*   

> Poki co to ledwo te sterowniki ogarniaja xrandr 1.2/1.3, pewnie minie z pol roku zanim wypuszcza cos dzialajacego.

 

Niech będzie i rok, na chwilę obecną moja Nvidia 630M służy raz na pół roku jak jakąś grę testuje pod bumblebee. A miało być tak pięknie, bo liczyłem na wsparcie przy renderowaniu filmów HD. Mogłem w zamian za Nvidie zamówic i7...

----------

## Xywa

Czyżby dobry news:

Initial Optimus Support For Linux Available With Nvidia Graphics Drivers 319.12 Beta

 :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy: 

http://www.webupd8.org/2013/04/nvidia-releases-linux-graphics-drivers.html

----------

## Jacekalex

Jak widać palec prawej ręki pomógł, teraz będzie trzeba palca lewej, jak Nvidia będzie psioczyła lub warczała na Waylanda (kiedy będzie gotowy WaylandGL - pełny OpenGL dla Waylanda.) .   :Very Happy: 

----------

