# flash player fullscreen auf dual head

## wuesti

Moin Moin,

mit einer nvidia-Karte habe ich dual head wie folgt konfiguriert:

```
cat /etc/X11/xorg.conf

Section "Device"

    Identifier   "Card0"

    Driver   "nvidia"

    Option "TwinView" "on"

    Option "TwinViewOrientation" "DFP-0 LeftOf DFP-1"

    Option "TwinViewXineramaInfoOrder"   "DFP-1, DFP-0" 

EndSection
```

DFP-1 ist head1 und ein 16:9 Monitor

DFP-0 ist head2 und ein 4:3 Monitor

Ich benutze

x11-wm/fluxbox-1.3.2 

www-plugins/adobe-flash-11.2.202.275

Klicke ich in einem Flash-Video auf Vollbild, erscheint es auf head2 in richtiger 4:3 Auflösung evtl. mit schwarzen Balken. Es soll aber auf head1 laufen.

Die Idee die 

```
cat ~/.fluxbox/apps

[app] (name=plugin-container)

  [Head]   {1}

  [Dimensions]   {1920 1080}

[end]
```

zu nutzen, führt nicht zum Ziel. Die Fullscreen erscheint zwar auf head1, aber in 4:3-Auflösung auf einem Teil des Bildschirms. [Dimensions] wird ignoriert.

Kann jemand helfen?

----------

## Max Steel

Unter fluxbox (und auch unter KDE) kannst du den Flash-Vollbild-Applet einfach mit ALT+[LinkeMT] nehmen und auf den anderen Bildschirm ziehen

Wie du es allerdings schaffst den Vollbildmodus an die neuen Dimensions anzupassen, kann ich dir momentan nicht sagen. Könnte auch eine Eigenart von Flash sein, sich an den gemeinsamen Nenner anzupassen. (Kann ich nicht nachprüfen, da ich hier 2 gleiche Bildschirme betreibe)

(zumindest von KDE weiß ich, das das Video auf dem Bildschirm maximiert wird, auf dem der Browser auch läuft. Unter Fluxbox habe ich bei meinem kurzen Test dasselbe beobachtet.)

----------

## wuesti

 *Max Steel wrote:*   

> Unter fluxbox (und auch unter KDE) kannst du den Flash-Vollbild-Applet einfach mit ALT+[LinkeMT] nehmen und auf den anderen Bildschirm ziehen

 Darauf kann man auch selber kommen. *Quote:*   

> Wie du es allerdings schaffst den Vollbildmodus an die neuen Dimensions anzupassen, kann ich dir momentan nicht sagen.

  Du hast es erfasst. Die Größe des Fenster bleibt gleich. Schiebe ich das Vollblid wieder auf den 4:3-Bildschirm verschiebt sich der gesamte 16:9-Bildschirminhalt virtuell bis zum Loslassen.

 *Quote:*   

> Könnte auch eine Eigenart von Flash sein, sich an den gemeinsamen Nenner anzupassen. (Kann ich nicht nachprüfen, da ich hier 2 gleiche Bildschirme betreibe)
> 
> (zumindest von KDE weiß ich, das das Video auf dem Bildschirm maximiert wird, auf dem der Browser auch läuft. Unter Fluxbox habe ich bei meinem kurzen Test dasselbe beobachtet.)

 Dieses Verhalten habe ich in youtube, auf anderen Seiten aber nicht. Auf mediathek.daserste.de und anderen Seiten aber doch.

Im Zusammenhang mit der ~/.fluxbox/apps vermute ich ein Problem mit XGetGeometry ähnlich http://al.robotfuzz.com/workaround-for-flash-on-linux-multihead-desktops/, weil im Kontextmenü des flash players "Vergrößern" und "Verkleinern" nicht zu den richtigen Ergebnissen führt. Hier spielen nvidia-Karte und -Treiber wohl auch eine Rolle.

----------

## wuesti

Eine etwas unbefriedigende Lösung des Problems habe ich gefunden. Ich schalte den 4:3 Bildschirm mit xrandr ab. Dann wird kann ich das Video auf dem 16:9 Bildschirm sehen.

----------

## arfe

Du brauchst das:

https://github.com/ali1234/fullscreenhack

----------

## wuesti

 *arfe wrote:*   

> Du brauchst das:
> 
> https://github.com/ali1234/fullscreenhack

 

Vielen Dank für den Tipp!

Leider funktioniert es nicht.

```
env LD_PRELOAD=/home/shared/software/linux/gentoo/fullscreenhack-master/libfshack-npapi.so firefox 

--- firefox  ---

fullscreen hack loaded... running under flash = 0

--- /usr/lib64/firefox/plugin-container /opt/Adobe/flash-player/flash-plugin/libflashplayer.so -greomni /usr/lib64/firefox/omni.ja 4209 plugin  ---

Cursor location: 2661x431

screen[0]: 1920x1080+1280+0

Using: screen[0] 1920x1080+1280+0

#firefox nach links verschoben und Seite neu geladen

Cursor location: 495x435

screen[0]: 1920x1080+1280+0

screen[1]: 1280x1024+0+0

Using: screen[1] 1280x1024+0+0
```

Der Hack interpretiert die Werte richtig, gibt sie aber nicht korrekt weiter.

Also habe ich mir die Xorg.0.log angesehen und folgendes gefunden:

```
[  4888.066] (--) NVIDIA(0): Valid display device(s) on GeForce 9600 GT at PCI:1:0:0

[  4888.066] (--) NVIDIA(0):     CRT-0

[  4888.066] (--) NVIDIA(0):     CRT-1

[  4888.066] (--) NVIDIA(0):     Acer AL1715 (DFP-0) (connected)

[  4888.066] (--) NVIDIA(0):     Ancor Communications Inc ASUS VS229 (DFP-1) (connected)

[  4888.066] (--) NVIDIA(0): CRT-0: 400.0 MHz maximum pixel clock

[  4888.066] (--) NVIDIA(0): CRT-1: 400.0 MHz maximum pixel clock

[  4888.066] (--) NVIDIA(0): Acer AL1715 (DFP-0): 330.0 MHz maximum pixel clock

[  4888.066] (--) NVIDIA(0): Acer AL1715 (DFP-0): Internal Dual Link TMDS

[  4888.066] (--) NVIDIA(0): Ancor Communications Inc ASUS VS229 (DFP-1): 330.0 MHz maximum pixel clock

[  4888.066] (--) NVIDIA(0): Ancor Communications Inc ASUS VS229 (DFP-1): Internal Dual Link TMDS

[  4888.066] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display

[  4888.066] (**) NVIDIA(0):     device Acer AL1715 (DFP-0) (Using EDID frequencies has

[  4888.066] (**) NVIDIA(0):     been enabled on all display devices.)

[  4888.068] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display

[  4888.068] (**) NVIDIA(0):     device Ancor Communications Inc ASUS VS229 (DFP-1) (Using

[  4888.068] (**) NVIDIA(0):     EDID frequencies has been enabled on all display

[  4888.068] (**) NVIDIA(0):     devices.)

[  4888.073] (==) NVIDIA(0): 

[  4888.073] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"

[  4888.073] (==) NVIDIA(0):     will be used as the requested mode.

[  4888.073] (==) NVIDIA(0): 

[  4888.073] (II) NVIDIA(0): Validated MetaModes:

[  4888.073] (II) NVIDIA(0):     "DFP-0:nvidia-auto-select,DFP-1:nvidia-auto-select"

[  4888.073] (II) NVIDIA(0): Virtual screen size determined to be 3200 x 1080

[  4888.074] (WW) NVIDIA(0): Unable to find all display devices requested in MetaMode

[  4888.074] (WW) NVIDIA(0):     Orientation string "DFP-0 LeftOf DFP-1".

[  4888.108] (--) NVIDIA(0): DPI set to (95, 96); computed from "UseEdidDpi" X config

[  4888.108] (--) NVIDIA(0):     option

[  4888.108] (--) Depth 24 pixmap format is 32 bpp

[  4888.108] (II) NVIDIA: Using 768.00 MB of virtual memory for indirect memory access.

[  4888.112] (II) NVIDIA(0): Setting mode "DFP-0:nvidia-auto-select,DFP-1:nvidia-auto-select"

[  4888.218] Loading extension NV-GLX

[  4888.325] (==) NVIDIA(0): Disabling shared memory pixmaps

[  4888.325] (==) NVIDIA(0): Backing store disabled

[  4888.325] (==) NVIDIA(0): Silken mouse enabled

[  4888.326] (==) NVIDIA(0): DPMS enabled

[  4888.326] Loading extension NV-CONTROL

[  4888.326] Loading extension XINERAMA

[  4888.326] (WW) NVIDIA(0): Option "TwinView" is not used
```

Die (WW)-Warnungen sind schon interessant und recht unerwartet, weil xorg.conf das macht, was ich will. Also habe ich sie wie folgt geändert:

```
cat /etc/X11/xorg.conf

Section "Device"

    Identifier   "Card0"

    Driver   "nvidia"

    Option "TwinView" "off"

    Option "TwinViewOrientation" "RightOf"

    Option "TwinViewXineramaInfoOrder"   "DFP-1, DFP-0" 

    Option "Xinerama" "off"

EndSection
```

Nun habe ich nur noch folgende Warnungen:

```
[  6403.211] (WW) NVIDIA(0): Option "TwinView" is not used

[  6403.211] (WW) NVIDIA(0): Option "Xinerama" is not used
```

An der Funktion ändert sich nichts.

Irgendwie widerspricht es dem, was ich von TwinView und Xinerama verstanden habe.

----------

## arfe

TwinView und Xinerama bitte immer mit nvidia-settings erstellen.

Das funktioniert bei mir einwandfrei!

```
[I] media-video/nvidia-settings

     Available versions:  ~173.14.31 260.19.29 ~275.43 ~290.10 295.20 ~295.40 (~)302.11 ~304.51[1] 304.60 ~304.60[1] ~310.19 ~313.26 {{examples}}

     Installed versions:  304.60(03:46:55 18.12.2012)(examples)

     Homepage:            http://www.nvidia.com/

     Description:         NVIDIA Linux X11 Settings Utility

```

----------

## wuesti

 *arfe wrote:*   

> TwinView und Xinerama bitte immer mit nvidia-settings erstellen.
> 
> Das funktioniert bei mir einwandfrei!
> 
> 

 

Davon rate ich ab, weil die Tastatur- und Mauseinstellungen auf vom Driver "evdev" auf die veralteten Treiber umgestellt werden. Also nicht direkt in die /etc/X11/xorg.conf speichern. Sondern die entsprechenden Einstellungen manuell einarbeiten.

Meine sieht jetzt so aus:

```
Section "ServerLayout"

    Identifier     "Layout0"

    Screen      0  "Screen0" 0 0

    Option         "Xinerama" "0"

EndSection

Section "Device"

    Identifier     "Device0"

    Driver         "nvidia"

    VendorName     "NVIDIA Corporation"

    BoardName      "GeForce 9600 GT"

EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid

    Identifier     "Monitor0"

    VendorName     "Unknown"

    ModelName      "Acer AL1715"

    HorizSync       30.0 - 82.0

    VertRefresh     56.0 - 76.0

    Option         "DPMS"

EndSection

Section "Screen"

    Identifier     "Screen0"

    Device         "Device0"

    Monitor        "Monitor0"

    DefaultDepth    24

    Option         "Stereo" "0"

    Option         "nvidiaXineramaInfoOrder" "DFP-1"

    Option         "metamodes" "DFP-0: nvidia-auto-select +0+0, DFP-1: nvidia-auto-select +1280+0"

    SubSection     "Display"

        Depth       24

    EndSubSection

EndSection

Section "InputClass"

        Identifier "Tastatur"

        Driver "evdev"

        Option "xkbLayout"  "de"

        MatchIsKeyboard "on"

        MatchDevicePath "/dev/input/event*"

EndSection
```

Option         "Xinerama" "0" ist allerdings wirkungslos:

```
cat /var/log/Xorg.0.log | grep XINERAMA

[  3574.940] Initializing built-in extension XINERAMA

[  3575.943] Loading extension XINERAMA
```

An der Funktion und dem ursprünglichen Problem ändert sich nichts.

----------

## arfe

 *wuesti wrote:*   

> 
> 
> Davon rate ich ab, weil die Tastatur- und Mauseinstellungen auf vom Driver "evdev" auf die veralteten Treiber umgestellt werden. Also nicht direkt in die /etc/X11/xorg.conf speichern. Sondern die entsprechenden Einstellungen manuell einarbeiten.
> 
> 

 

Das ist falsch, weil das Laden des evdev-Treibers modular ausgelagert werden soll, nämlich hier:

/etc/X11/xorg.conf.d/10-evdev.conf:

```
Section "InputClass"

        Identifier "evdev pointer catchall"

        MatchIsPointer "on"

        MatchDevicePath "/dev/input/event*"

        Driver "evdev"

#

        MatchIsPointer "on" 

EndSection

Section "InputClass"

        Identifier "evdev keyboard catchall"

        MatchIsKeyboard "on"

        Option      "XkbLayout" "de"

#
```

Den Rest machst Du dann mit nvidia-settings.   :Wink: 

----------

