Sida 1 av 1

Tvout snabbt!

Postat: 07 dec 2010, 22:05
av RicchiH
Har länge fixat tvout med nvidia-settings efter att jag kopplat in tv:n via s-video.

min fråga är nu om man skulle kunna fixa ett script för tv:n ansluten och ett script när tv:n inte är ansluten.

alltså lite snabbare till/frånkoppling.

Re: Tvout snabbt!

Postat: 09 dec 2010, 09:24
av ubot
Jag tycker att det borde gå med cli-programmet xrandr om inte annat. Med xrandr går det att skicka bilden till en extern bildskräm, typ en TV. Hur det fungerar med ditt nVidia-grafikkort/drivrutiner vet jag inte. Kör kommandot xrandr i Terminalen för att se vilka upplösningar som stöds. Därefter så skickar du bilden till TV från Terminalen med:

Kod: Markera allt

xrandr --output HDMI0 --mode 1024X768
eller något åt det hållet. När du har listat ut vilken xrandr rad du behöver så lägger du det i ett skript, typ:

Kod: Markera allt

#!/bin/bash
xrandr --output HDMI0 --mode 1024X768
Koppla skriptet till en tangentbordsgenväg (Keyboard Shortcuts), t.ex. SuperKey+T eller något.

Glöm inte ge din användare exekveringsrättigheter till skriptet med chmod +x tv.sh och se till att sökvägen i Keyboard Shortcuts är helt rätt.

Om inte xrandr listar rätt upplösning så får du testa att skapa ett nytt "mode" men jag skippar det så länge för upplösningen finns "säkert" om du nu har skickat bilden till TV:n i nVidias inställningar.

Re: Tvout snabbt!

Postat: 11 dec 2010, 21:50
av RicchiH
Har provat med:

Kod: Markera allt

xrandr --addmode S-video 800x600
men får då som svar:

Kod: Markera allt

xrandr: Failed to get size of gamma for output default
xrandr: cannot find output "S-vide
på xrandr får jag (med S-videokabeln inkopplad ) :

Kod: Markera allt

xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1280 x 800, current 1280 x 800, maximum 2080 x 800
default connected 1280x800+0+0 0mm x 0mm
   2080x800       50.0     51.0  
   1280x800       51.0* 

Re: Tvout snabbt!

Postat: 12 dec 2010, 12:23
av ubot
Dubbelpost. Sorry.

Re: Tvout snabbt!

Postat: 12 dec 2010, 12:23
av ubot
Jag är inte någon expert på xrandr. Har du satt på TV:n efter att du har kopplat in S-video-kabeln och innan du kör kommandot xrandr?

Det verkar ju inte som om xrandr inte hittar TV:n. Konstigt. Felmeddelandet om gamma vet jag inte vad det betyder men jag tycker att man borde se TV:n när du kör kommandot xrandr. :|

Här är info om hur man sätter en upplösning om den inte finns från början: https://wiki.ubuntu.com/X/Config/Resolu ... esolutions

Jag tycker dock att xrandr borde "se" TV:n när du kör kommandot xrandr. :(

Edit:

Jag sökte lite efter felmeddelandet och hittade det här:
Why are you trying to use xrandr? nvidia's drivers don't support anything past xrandr1.1. You should use nvidia-settings instead (it can be run as command-line), or the helper apps disper and auto-disper.
Det kanske inte går att använda xrandr med nVidias drivrutiner? :| Programmet nvidia-settings går att köra från Terminalen så det kanske går att göra motsvarande sak i nvidia-settings som jag försökte få till i xrandr:
4. Commandline Interface
nvidia-settings has a rich commandline interface: all attributes that
can be manipulated with the GUI can also be queried and set from the
command line. The commandline syntax for querying and assigning
attributes matches that of the .nvidia-settings-rc configuration file.

The --query option can be used to query the current value of
attributes. This will also report the valid values for the attribute.
You can run nvidia-settings --query all for a complete list of
available attributes, what the current value is, what values are valid
for the attribute, and through which target types (e.g., X screens,
GPUs) the attributes can be addressed. Additionally, individual
attributes may be specified like this:

nvidia-settings --query CursorShadow

Attributes that may differ per display device (for example,
DigitalVibrance can be set independently on each display device when in
TwinView) can be appended with a "display device name" within brackets;
e.g.:

nvidia-settings --query DigitalVibrance[CRT-0]

If an attribute is display device specific, but the query does not
specify a display device, then the attribute value for all display
devices will be queried.

An attribute name may be prepended with an X Display name and a forward
slash to indicate a different X Display; e.g.:

nvidia-settings --query localhost:0.0/DigitalVibrance[DFP-1]

An attribute name may also just be prepended with the screen number and
a forward slash:

nvidia-settings --query 0/DigitalVibrance[DFP-1]

in which case the default X Display will be used, but you can indicate
to which X screen to direct the query (if your X server has multiple X
screens). If no X screen is specified, then the attribute value will
be queried for all X screens.

Attributes can be addressed through "target types". A target type
indicates the object that is queried when you query an attribute. The
default target type is an X screen, but other possible target types are
GPUs, Frame Lock devices, Visual Computing Systems, SDI Input Devices,
and fans.

Target types give you different granularities with which to perform
queries and assignments. Since X screens can span multiple GPUs (in
the case of Xinerama, or SLI), and multiple X screens can exist on the
same GPU, it is sometimes useful to address attributes by GPU rather
than X screen.

A target specification is contained within brackets and consists of a
target type name, a colon, and the target id. The target type name can
be one of screen, gpu, framelock, vcs, gvi, or fan; the target id is
the index into the list of targets (for that target type). Target
specifications can be used wherever an X screen is used in query and
assignment commands; the target specification can be used either by
itself on the left side of the forward slash, or as part of an X
Display name.

For example, the following queries address X screen 0 on the localhost:

nvidia-settings --query 0/VideoRam
nvidia-settings --query localhost:0.0/VideoRam
nvidia-settings --query [screen:0]/VideoRam
nvidia-settings --query localhost:0[screen:0]/VideoRam

To address GPU 0 instead, you can use either of:

nvidia-settings --query [gpu:0]/VideoRam
nvidia-settings --query localhost:0[gpu:0]/VideoRam

See the output of

nvidia-settings --query all

for what targets types can be used with each attribute. See the output
of

nvidia-settings --query screens --query gpus --query framelocks --query vcs --query gvis --query fans

for lists of targets for each target type.

The --assign option can be used to assign a new value to an attribute.
The valid values for an attribute are reported when the attribute is
queried. The syntax for --assign is the same as --query, with the
additional requirement that assignments also have an equal sign and the
new value. For example:

nvidia-settings --assign FSAA=2
nvidia-settings --assign 0/DigitalVibrance[CRT-1]=9
nvidia-settings --assign [gpu:0]/DigitalVibrance=0

Multiple queries and assignments may be specified on the commandline
for a single invocation of nvidia-settings.

If either the --query or --assign options are passed to
nvidia-settings, the GUI will not be presented, and nvidia-settings
will exit after processing the assignments and/or queries.

Re: Tvout snabbt!

Postat: 12 dec 2010, 12:42
av ubot
min fråga är nu om man skulle kunna fixa ett script för tv:n ansluten och ett script när tv:n inte är ansluten.

alltså lite snabbare till/frånkoppling.
Vad jag försöker säga är att det borde gå att skicka bilden till TV:n med nvidia-settings i Terminalen och sedan koppla kommandot till en Keyboard Shortcut. Det gäller alltså att hitta vilket kommando i Terminalen som i nvidia-settings gör samma sak som du gör i det grafiska gränssnittet när du gör det nu.

Vad får du om du kör:

Kod: Markera allt

nvidia-settings --query screens

Re: Tvout snabbt!

Postat: 13 dec 2010, 20:48
av RicchiH
svaret blir då:

Kod: Markera allt

Mia:~$ nvidia-settings --query screens

1 X Screen on Mia:0

    [0] Mia:0.0 (GeForce 8600M GT)
jag har alltså bara en skärm men den är förlängd med tv:ns display till höger.

Re: Tvout snabbt!

Postat: 13 dec 2010, 21:54
av ubot
Jag vet inte hur nvidia-settings fungerar. Jag har aldrig använt det. Men eftersom det ska gå att göra samma sak med nvidia-settings i CLI som i GUI så borde det ju gå att skicka bilden till TV:n. Det är ju det du gör manuellt i GUI:t om jag har förstått saken rätt. Då borde det finnas ett nvidia-settings-kommando som gör samma sak.

Re: Tvout snabbt!

Postat: 13 dec 2010, 22:14
av RicchiH
Jag har lyckats få det att funka genom att man kopplar in tv:n och sen startar om X-servern med ALT+CTRL+BACKSPACE.
Det enda som stör lite är bara att man är tvungen att starta om X varje gång man kopplat in tv:n.

Man kan göra det grafiskt utan omstart av X via Nvidia-settings så då måste det ju gå även utan omstart av X via terminalen och därigenom sedan skapa ett script som man kan koppla ihop med en tangentbordskombination.

nu gäller bara att luska ut vad nvidia-settings spottar ur sig exakt när man trycker på apply.

Re: Tvout snabbt!

Postat: 13 dec 2010, 22:57
av ubot
Jo, jag tycker det men vet inte hur det fungerar.

Edit:

Jag har på ganska många ställen läst om Disper som är ett CLI-program för att göra det du önskar:
Disper is an on-the-fly display switch utility. It is intended to be used just before giving a presentation with a laptop, when all one wants is that the beamer, which has just been connected, is able to show whatever you prepared.
http://willem.engen.nl/projects/disper/

Kolla in det här skriptet (auto-disper.sh): http://askubuntu.com/questions/7292/is- ... 0089#10089

Här är lite mer info om hur Disper används: http://ubuntuforums.org/showpost.php?p= ... ostcount=5

Det här är ett projekt som använder Disper och som jag tycker verkar intressant: https://github.com/wertarbyte/autorandr
Auto-detect the connect display hardware and load the appropiate X11 setup using xrandr or disper — Read more
Det var bara lite tips om du inte får ordning på nvidia-settings.