#1 25.08.2012 14:19:12

_nico
Mitglied

[WORKAROUND] NVIDIA 304.37 - kein Ton nach Suspend-to-RAM

Hi ArchLinux-Community,

letzte Woche habe ich Arch Linux auf meinen Media-PC mit Intel Atom und NVIDIA 9400 geupdatet.
Dabei wurde auch der NVIDIA-Treiber von 295.53-1 zu 304.37 aktualisiert.

Jedoch habe ich jetzt das Problem, dass wenn der Media-PC aus dem Suspend to RAM (pm-suspend) aufwacht, kein Ton mehr über HDMI ausgegeben wird.

Beendet ich den X-Server und starte ihn mit "startx" wieder neu, funktioniert es wieder. Also kann es meiner Meinung nach nicht an einem hängenden Dienst (/etc/rc.d) liegen.

Gibt es einen Befehl, den ich ausführen könnte, damit der XServer sich im laufenden Betrieb neu initialisiert?
Hat jemand noch eine andere Idee?


Viele Grüße aus Oberfranken,
Nico

Beitrag geändert von _nico (30.08.2012 13:17:03)

Offline

#2 30.08.2012 13:15:52

_nico
Mitglied

Re: [WORKAROUND] NVIDIA 304.37 - kein Ton nach Suspend-to-RAM

Auch die erneute Aktualisierung vom Paket "nvidia" hat mein Problem nicht gelöst. (304.43-1)

Allerdings habe ich mich dann dazu entschlossen den letzten funktionierenden NVIDIA-Treiber händisch nach zu installieren, um die neuere Version zu überschreiben. Das hat funktioniert, ich habe auch wieder Ton nach dem Suspend to RAM (pm-suspend)!

Workaround 64-Bit

pacman -S base-devel linux-headers
wget ftp://download.nvidia.com/XFree86/Linux-x86_64/295.71/NVIDIA-Linux-x86_64-295.71-no-compat32.run
chmod 700 NVIDIA-Linux-x86_64-295.71-no-compat32.run
# X-Server beenden
./NVIDIA-Linux-x86_64-295.71-no-compat32.run
# Neustart

Workaround 32-Bit

pacman -S base-devel linux-headers
wget ftp://download.nvidia.com/XFree86/Linux-x86_64/295.71/NVIDIA-Linux-x86_64-295.71.run
chmod 700 NVIDIA-Linux-x86_64-295.71.run
# X-Server beenden
./NVIDIA-Linux-x86_64-295.71.run
# Neustart

Gruß Nico

Beitrag geändert von _nico (31.08.2012 13:09:07)

Offline

#3 30.08.2012 15:00:40

mannohneschuh
Mitglied

Re: [WORKAROUND] NVIDIA 304.37 - kein Ton nach Suspend-to-RAM

Wieso hast du den nvidia-Treiber an unserem geliebten Paketmanager vorbei installiert? Das könnte noch unangenehm werden…

Downgrades lassen sich besser mit den Binaries aus dem pacman-cache machen, oder wenn man dort nichts (mehr) hat dann gabs da ein paar server (sorry die Adresse hab ich grad nicht parat) die auch ältere Pakete anbieten.

Offline

#4 30.08.2012 15:29:44

_nico
Mitglied

Re: [WORKAROUND] NVIDIA 304.37 - kein Ton nach Suspend-to-RAM

mannohneschuh schrieb:

Wieso hast du den nvidia-Treiber an unserem geliebten Paketmanager vorbei installiert? Das könnte noch unangenehm werden…

Downgrades lassen sich besser mit den Binaries aus dem pacman-cache machen, oder wenn man dort nichts (mehr) hat dann gabs da ein paar server (sorry die Adresse hab ich grad nicht parat) die auch ältere Pakete anbieten.

Hi mannohneschuh, darum:

pacman -U http://arm.konnichi.com/extra/os/x86_64/nvidia-utils-295.53-1-x86_64.pkg.tar.xz http://arm.konnichi.com/extra/os/x86_64/nvidia-295.53-2-x86_64.pkg.tar.xz
...
:: nvidia: benötigt linux<3.5
uname -a
Linux elfriede 3.5.3-1-ARCH #1 SMP PREEMPT Sun Aug 26 09:14:51 CEST 2012 x86_64 GNU/Linux

Offline

#5 30.08.2012 16:30:13

mannohneschuh
Mitglied

Re: [WORKAROUND] NVIDIA 304.37 - kein Ton nach Suspend-to-RAM

auf http://arm.konnichi.com gibts doch aber auch mehr als nur 295.53-1.

Offline

#6 30.08.2012 17:06:18

_nico
Mitglied

Re: [WORKAROUND] NVIDIA 304.37 - kein Ton nach Suspend-to-RAM

mannohneschuh schrieb:

auf http://arm.konnichi.com gibts doch aber auch mehr als nur 295.53-1.

Was willst du mir damit sagen? Der letzte der funktionierte, war nun mal 295.53. Es gibt dort nunmal nur 295.53-1 und 295.53-2, beide wollen den Kernel kleiner 3.5.

Beitrag geändert von _nico (30.08.2012 17:07:54)

Offline

#7 30.08.2012 17:42:55

mannohneschuh
Mitglied

Re: [WORKAROUND] NVIDIA 304.37 - kein Ton nach Suspend-to-RAM

OK, irgendwie habe ich dich wohl falsch verstanden. Ich hatte nicht bemerkt das 295.53 der letzte funktionierende Treiber war, und du die Versionen danach bereits getestet hast. Aus deinem OP schloß ich das du von 295.53-1 gleich zu 304.37 gekommen bist… dazwischen liegen ja noch ein paar (mindestens eine) Versionen.  Hast du bereits den LTS-Kernel mit den nvidia-lts getestet?

AFAIR kann man noch was an den hooks der pm-utils drehen. Also bestimmte Treiber vor dem suspend entladen und wieder laden wenn der Rechner aufwacht. ich habe das aber noch nie gebraucht und mich daher nie damit beschäftigt.

Offline

#8 30.08.2012 18:10:37

portix
Mitglied

Re: [WORKAROUND] NVIDIA 304.37 - kein Ton nach Suspend-to-RAM

_nico schrieb:
mannohneschuh schrieb:

auf http://arm.konnichi.com gibts doch aber auch mehr als nur 295.53-1.

Der letzte der funktionierte, war nun mal 295.53. Es gibt dort nunmal nur 295.53-1 und 295.53-2, beide wollen den Kernel kleiner 3.5.

Ist jetzt zwar ohnehin zu spät, aber du hättest dir auch mit dem originalen PKGBUILD für nvidia-295.53 (etwas angepasst) ein nvidia-paket bauen können, das angepasste PKGBUILD:

# $Id$
# Maintainer : Thomas Baechler <thomas@archlinux.org>

pkgname=nvidia
pkgver=295.53
_extramodules=extramodules-3.5-ARCH
pkgrel=1
pkgdesc="NVIDIA drivers for linux."
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
depends=('linux>=3.5' 'linux<3.6' "nvidia-utils=${pkgver}")
makedepends=('linux-headers>=3.5' 'linux-headers<3.6')
conflicts=('nvidia-96xx' 'nvidia-173xx')
license=('custom')
install=nvidia.install
options=(!strip)

if [ "$CARCH" = "i686" ]; then
    _arch='x86'
    _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
    source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
    md5sums=('af353274ab078cb90aba428ca1f00f0e')
elif [ "$CARCH" = "x86_64" ]; then
    _arch='x86_64'
   _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
    source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
    md5sums=('c974ee20fc016c9fa9ef39fc2e298f8a')
fi

build() {
    _kernver="$(cat /lib/modules/${_extramodules}/version)"
    cd "${srcdir}"
    sh "${_pkg}.run" --extract-only
    cd "${_pkg}/kernel"
    make SYSSRC=/lib/modules/"${_kernver}/build" module
}

package() {
    install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
        "${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
    install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
    echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
    sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install"
    gzip "${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
}

die install-Datei für nvidia gibt es hier und das PKGBUILD für nvidia-utils ist hier. Vielleicht ist es ja beim nächsten Kernel-update hilfreich.

Offline

#9 30.08.2012 18:24:40

fs4000
Mitglied

Re: [WORKAROUND] NVIDIA 304.37 - kein Ton nach Suspend-to-RAM

Hier gibts auch neuere Versionen von der 295 Sparte: http://www.nvidia.com/object/linux_amd6 … chive.html
In dem ist auch diese Lücke geschlossen: http://heise.de/-1658115

Offline

#10 31.08.2012 13:07:58

_nico
Mitglied

Re: [WORKAROUND] NVIDIA 304.37 - kein Ton nach Suspend-to-RAM

Ich habe mir das Problem noch mal genauer angeschaut:

  • nvidia <= 295.71 - keine Probleme

  • nvidia >= 302.07 - Ton-Problem nach dem Bereitschaftsmodus (Suspend-to-RAM)

Media-PC > HDMI (Ton u. Video) > AVR/Verstärker > HDMI (Video) > Fernseher
                                                            |
                                                            |--- 5.1 Soundsystem


Ein- und ausgeschaltet wird die Anlage über eine Harmony, der Media-PC brauch beim Ausschalten ca. 5 Sekunden länger - da er ja erst die PM-Hooks ausführen muss. AVR und TV sind logischerweise sofort aus!

  • Beim NVIDIA-Treiber <= 295.71 ist es egal in welcher Reihenfolge man die Anlage ausschaltet (Media-PC, TV, AVR) - der Media-PC brauch ca. 5 Sekunden, bis er aus ist (wie oben beschrieben).

  • Beim NVIDIA-Treiber >= 302.07 ist Reihenfolge relevant! Wenn man zuerst den Media-PC ausschaltet und die ca. 5 Sekunden wartet, bis er aus ist und erst dann den AVR und Fernseher ausschaltet, gibt es keine Ton-Probleme beim nächsten (gleichzeitigen) Einschalten über die Harmony.

Ich vermute, dass der NVIDIA-Treiber >= 302.07 irgendwie erkennt, dass der Verstärker nicht mehr eingeschaltet ist und dann so in den Bereitschaftsmodus geht. Nachdem Aufwachen aus dem Bereitschaftsmodus erkennt er dann nicht mehr automatisch, dass der Verstärker eingeschaltet ist ... o_0

Vielleicht sollte mal irgendwer, der dieses Problem in Englisch gut und verständlich beschreiben kann, einen Bug-Report bei NVIDIA erstellen - dazu bin ich leider nicht in der Lage.


mannohneschuh schrieb:

OK, irgendwie habe ich dich wohl falsch verstanden. Ich hatte nicht bemerkt das 295.53 der letzte funktionierende Treiber war, und du die Versionen danach bereits getestet hast. Aus deinem OP schloß ich das du von 295.53-1 gleich zu 304.37 gekommen bist… dazwischen liegen ja noch ein paar (mindestens eine) Versionen.  Hast du bereits den LTS-Kernel mit den nvidia-lts getestet?

AFAIR kann man noch was an den hooks der pm-utils drehen. Also bestimmte Treiber vor dem suspend entladen und wieder laden wenn der Rechner aufwacht. ich habe das aber noch nie gebraucht und mich daher nie damit beschäftigt.

  • nvidia <= 295.71 - keine Probleme

  • nvidia >= 302.07 - Ton-Problem nach dem Bereitschaftsmodus (Suspend-to-RAM)

Das mit dem LTS-Kernel und LTS-NVIDIA-Treiber macht wenig Sinn - da der LTS-NVIDIA-Treiber auch die Version 304.43 ist.

Mit Hooks von pm-utils kenne ich mich aus, habe, in diesem Fall, auch versucht etwas damit zuerreichen - ohne Erfolg.

portix schrieb:

Ist jetzt zwar ohnehin zu spät, aber du hättest dir auch mit dem originalen PKGBUILD für nvidia-295.53 (etwas angepasst) ein nvidia-paket bauen können, das angepasste PKGBUILD:

Vielleicht ist es ja beim nächsten Kernel-update hilfreich.

Danke für den Verschlag, vielleicht schaue ich mir die PKGBUILDs mal an oder vielleicht stellt auch jemand nvidia-295xx und nvidia-utils-295xx im AUR bereit. Bei einem Kernel-Update führe ich einfach das NVIDIA-Skript noch mal aus! ;-)

fs4000 schrieb:

Hier gibts auch neuere Versionen von der 295 Sparte: http://www.nvidia.com/object/linux_amd6 … chive.html
In dem ist auch diese Lücke geschlossen: http://heise.de/-1658115

Vielen Dank, das ist wirklich ein Grund 295.53 nicht zu verwenden. Ich habe den Workaround für 295.71 aktualisiert.

Beitrag geändert von _nico (31.08.2012 13:12:54)

Offline

#11 01.09.2012 10:35:13

fs4000
Mitglied

Re: [WORKAROUND] NVIDIA 304.37 - kein Ton nach Suspend-to-RAM

Nvidia hat die Version 295.75 veröffentlicht. Mir verschließt sich allerdings der Sinn, denn auf der eigentlichen Downloadseite bieten sie den völlig veralteten 302.17 vom 15. Juni zum Download an.

Offline

#12 09.11.2012 12:03:33

_nico
Mitglied

Re: [WORKAROUND] NVIDIA 304.37 - kein Ton nach Suspend-to-RAM

Hallo Community,

ich habe das Problem mit den neuen NVIDIA-Treibern nun mit einer PM-Hook bzw. SystemD-Hook gelöst.
Dazu habe ich einen langen Artikel auf meinem Blog geschrieben - ich hoffe es hilft.

Gruß Nico

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums