Twinview uitdaging (apps centeren verkeerd)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • HTT-Thalan
  • Registratie: Juni 2004
  • Laatst online: 22:51

HTT-Thalan

technically, I'm not pedantic.

Topicstarter
Beste Tweakers,

al sinds een tijdje 'worstel' ik met dit probleem, maar begin te begrijpen waar het mis gaat. Ik weet alleen nog niet hoe ik het op moet lossen :+

Ik draai Karmic 9.10 met de Nvidia Display drivers die meegeleverd worden. Daarin draai ik Twinview in plaats van 'Seperate X windows' omdat ik apps heen en weer moet kunnen schuiven tussen mijn twee schermen. Dit werkt als een droom: apps kunnen gewoon fullscreen op 1 scherm draaien en ik kan vrijelijk schuiven.

Nu werkt twinview met een soort overlay modus, hij telt de resoluties van beide schermen op (in de breedte in mijn geval) en gebruikt een offset. Aangezien mijn eerste scherm 1680*1050 is, begint mijn 'offset' dus bij 1680 pixels, en bij pixel nummer 1681 'begint' scherm nummer 2, welke 1280 breed is.

So far, so good.

Ga ik echter een fullscreen applicatie draaien, rapporteert de x-server de resolutie in zijn geheel, te weten 1680+1280 = 2960 pixels in de breedte. Een fullscreen app zoals OpenArena, Wormux of iets anders, stretcht zichzelf dus uit over beide schermen, en da's niet handig natuurlijk.

Het is wel logisch dat het zo werkt, maar het alternatief (seperate x screens) kan ik niet gebruiken, dan is het hele nut van 2 schermen gewoon weg.


Nu heb ik zelf bedacht dat de oplossing moet zitten in die offset. Als ik een applicatie kan dwingen een offset van, ik noem maar wat, 200 pixels te gebruiken, 'begint' hij dus 200 pixels naar rechts. Of een offset van 0, zodat hij aansluit op de linkerzijde van het linkerscherm. Als ik de resolutie van de app vervolgens kan dwingen naar 1680 of minder, draait hij dus volledig in scherm 1.


Na wat gegoogle met de keywords 'offset, twinview, dual screen, ubuntu, application, center' en nog een paar, kom ik niet veel verder. Het lijkt een weinig gekend probleem te zijn. Er word wel de optie genoemd die je aan een commandregel toevoegt in de launcher van een programma: Display=0,1 om een app te laten starten op scherm 2 bijvoorbeeld.

Dit werkt bij mij echter niet, omdat twinview ervoor zorgt dat mijn twee schermen als één worden gezien... Een "-offset=0' toevoegen aan de commandoregel heeft echter niet gewerkt.

Zijn er andere optie die ik kan aanwenden? Als ik ervanuit ga dat mijn gerapporteerde resolutie 2960 breed is, moet ik mijn applicatie dus dwingen op offset 0 te beginnen (in het geval van een niet-fullscreen reso app) of de app eerst dwingen naar 1680 reso en alsnog naar offset 0 dwingen.

Linux native games zoals Wormux zijn helemaal (nog) een ramp - die accepteren geen eigen input en forceren zichzelf dus naar 2960 toe.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:47

Hero of Time

Moderator LNX

There is only one Legend

Heb je ook al gedacht aan Twinview de deur uit te gooien en via xrandr de boel aan de praat te krijgen? Daarmee kan je namelijk prima meerdere monitoren aangeven met elk een eigen resolutie. Dat heb ik iig gebruikt met m'n laptop toen ik een presentatie moest geven, laptop scherm zelf is 1440x900, beamer 1024x768. Presentatie kwam netjes op de beamer in full screen. Het is handig om de manpage van xrandr te lezen ;).

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

Verwijderd

Ik weet niet of je installatie nog een xorg.conf heeft, maar dit heb ik er destijds in gezet om fullscreen apps goed op één scherm werkend te krijgen icm twinview:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Section "Screen"
        Identifier     "Default Screen"
        Device         "Generic Video Card"
        Monitor        "Generic Monitor"

        Option          "AddARGBGLXVisuals"     "true"
        Option          "AllowSHMPixmaps"       "0"

        Option          "TwinView"              "true"
        Option          "SecondMonitorHorizSync" "30-70"
        Option          "SecondMonitorVertRefresh" "50-120"
        Option          "MetaModes" "1280x1024,1280x1024;1280x1024,NULL;800x600,NULL"
        Option          "TwinViewOrientation" "RightOf"
        # http://www.nvnews.net/vbulletin/showthread.php?t=85604&page=3
        Option          "TwinViewXineramaInfoOverride" "1280x1024+0+0,1280x1024+1280+0"

(er zullen misschien wat overbodige/depecrated opties bij zitten, maar met MetaModes kom je al heel ver)

Met deze xorg.conf meldt xrandr mij:
code:
1
2
3
4
5
6
xrandr
Screen 0: minimum 800 x 600, current 1280 x 1024, maximum 2560 x 1024
default connected 1280x1024+0+0 0mm x 0mm
   2560x1024      50.0
   1280x1024      51.0*
   800x600        52.0


(die 2560x1024 is (zoals bij jou) twinview die de resoluties optelt)

Acties:
  • 0 Henk 'm!

Verwijderd

Voor zover ik weet is _dat_ TwinView. X applicaties die stretchen over 2 of meerdere displays. Ik gebruik zelf dit: http://us.download.nvidia...09/README/chapter-15.html Overigens is daar alles i te vinden.