Linux bietet nur eingeschränkte Auswahl an Auflösungen und Bildraten?

Skidrow

Lt. Commander
Registriert
Aug. 2006
Beiträge
1.176
Hallo Leute,

mein Problem betrifft wahrscheinlich nicht die große Masse. Und doch ist es für mich ein fundamentales weil wichtiges Thema. Und vielleicht gibt es hier den einen oder anderen Linux-Crack, der mir weiterhelfen kann.

Ich nutze meinen Desktop-PC (i5-4690k, 16 GB RAM, Geforce GTX 1060) u. a. als Videoplayer, und zwar spiele ich ausschließlich lokale mkv-VIdeodateien ab. Angeschlossen ist er an einen Sony 4K TV (KD-43XE70). Seit gut einem halben Jahr nutze ich WIndows 10 und Linux Mint 20.1 Cinnamon im Dual Boot. MIttelfristig war eigentlich geplant, dass ich mich weiter von Windows löse und vermehrt Linux nutze. Als Abspielsoftware nutze ich aktuell Kodi.

So, und nun zum Hauptproblem: Offensichtlich bietet Linux Mint nicht alle Auflösungs- und Bildwiederholratenkombinationen an. Denn das Ziel ist, die Bildrate des Vdeos an die Bildwiederholfrequenz des TVs anzupassen, ansonsten ruckelt das Bild, läuft unruhig usw. Bei Kodi heißt diese Funktion "Adjust display refresh rate". Das heißt, wenn ich ein 23,976 FPS VIdeo abspiele, schaltet Kodi die Bildwiederholrate um auf 23.98 Hz, bei 25.000 FPS auf 25.00 Hz und bei 24.000 FPS auf 24.00 Hz usw.

Mit Kodi unter Windows funktioniert das wunderbar. Unter Linux grundsätzlich auch, allerdings steht EINE Bildwiederholfrequenz nicht zur Verfügung, und zwar 24.00 Hz, zumindest nicht bei 4K (3840x2160) und nicht bei FullHD (1920x1080). Wenn ich in Kodi in den Systemeinstellungen (Expert) auf Whitelist gehe, sehe ich alle verfügbaren Auflösungen und Bildwiederholraten, und 24.00 Hz taucht dort nicht auf (nur bei 4096x2160, das bringt mir aber nichts). Das bedeutet: Spiele ich ein 24.000 FPS Video ab, ruckelt das Bild (und zwar ziemlich deutlich), weil Kodi die entsprechende Kombi nicht findet. Der Log von Kodi spuckt folgendes aus:

Code:
2021-07-04 15:47:58.783 T:10107    INFO <general>: [WHITELIST] Searching the whitelist for: width: 1920, height: 1038, fps: 24.000, 3D: false
2021-07-04 15:47:58.783 T:10107   DEBUG <general>: [WHITELIST] Using the default whitelist because the user whitelist is empty
2021-07-04 15:47:58.783 T:10107   DEBUG <general>: [WHITELIST] Searching for an exact resolution with an exact refresh rate
2021-07-04 15:47:58.783 T:10107   DEBUG <general>: [WHITELIST] No match for an exact resolution with an exact refresh rate
2021-07-04 15:47:58.783 T:10107   DEBUG <general>: [WHITELIST] Searching for an exact resolution with double the refresh rate
2021-07-04 15:47:58.783 T:10107   DEBUG <general>: [WHITELIST] No match for an exact resolution with double the refresh rate
2021-07-04 15:47:58.783 T:10107   DEBUG <general>: [WHITELIST] Searching for an exact resolution with a 3:2 pulldown refresh rate
2021-07-04 15:47:58.783 T:10107   DEBUG <general>: [WHITELIST] Matched an exact resolution with a 3:2 pulldown refresh rate HDMI-0: 1920x1080 @ 60.00Hz (16)
2021-07-04 15:47:58.783 T:10107    INFO <general>: Skipped 1 duplicate messages..
2021-07-04 15:47:58.783 T:10107    INFO <general>: Display resolution ADJUST : HDMI-0: 1920x1080 @ 60.00Hz (16) (weight: 0.000)

Unter Windows, wo wie gesagt insgesamt ca drei mal so viele Varianten in der Whitelist in Kodi auftauchen, gibt der Log folgendes aus:
Code:
    2021-07-05 19:25:11.311 T:624      INFO <general>: [WHITELIST] Searching the whitelist for: width: 1920, height: 1038, fps: 24.000, 3D: false
    2021-07-05 19:25:11.311 T:624     DEBUG <general>: [WHITELIST] Using the default whitelist because the user whitelist is empty
    2021-07-05 19:25:11.311 T:624     DEBUG <general>: [WHITELIST] Searching for an exact resolution with an exact refresh rate
    2021-07-05 19:25:11.311 T:624     DEBUG <general>: [WHITELIST] No match for an exact resolution with an exact refresh rate
    2021-07-05 19:25:11.311 T:624     DEBUG <general>: [WHITELIST] Searching for a desktop resolution with an exact refresh rate
    2021-07-05 19:25:11.311 T:624     DEBUG <general>: [WHITELIST] Matched a desktop resolution with an exact refresh rate Generic PnP Monitor #1: 3840x2160 @ 24.00Hz (110)
    2021-07-05 19:25:11.311 T:624      INFO <general>: Display resolution ADJUST : Generic PnP Monitor #1: 3840x2160 @ 24.00Hz (110) (weight: 0.000)

Man sieht: Unter Linux werden die 24.00 Hz nicht gefunden, unter Windows schon.

Jetzt wäre die erste Vermutung, es liege en Linux Mint. Allerdings habe ich es schon mit einem LibreELEC live Boot Stick probiert, und dort stehen exakt die selben Kombinationen zur Verfügung, wie unter Linux Mint.

Also meine Frage: Wie kommt es, dass unter Linux nur eine abgespeckte Anzahl an Kombinationen von Auflösung/Bildwiederholfreqenzen verfügbar sind? Ich hab keinen blassen Schimmer, ob das an Nvidia liegt, an Linux oder an Kodi. Wobei ich Kodi eigentlich ausschließe, weil 24 Hz generell nicht verfügbar zu sein scheinen bei den beiden Auflösungen:
Code:
randr
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DVI-D-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 1600mm x 900mm
   3840x2160     60.00 +  59.94    50.00    29.97    25.00    23.98    23.98 
   4096x2160     59.94    50.00    24.00    23.98 
   1920x1080     60.00*   59.94    50.00    29.97    23.98    60.00    50.04 
   1680x1050     59.95 
   1600x900      60.00 
   1280x1440     60.00 
   1280x1024     60.02 
   1280x720      59.94    50.00    29.97    23.98 
   1152x864      75.00 
   1024x768      60.00 
   800x600       60.32 
   720x576       50.00 
   720x480       59.94 
   640x480       59.94    59.93

Hier noch was grundsätzliches:
Code:
 inxi -Fz
System:
  Kernel: 5.4.0-77-generic x86_64 bits: 64 Desktop: Cinnamon 4.8.6
  Distro: Linux Mint 20.1 Ulyssa
Machine:
  Type: Desktop Mobo: ASRock model: Z97 Anniversary serial: <filter>
  UEFI: American Megatrends v: P2.10 date: 03/08/2018
CPU:
  Topology: Quad Core model: Intel Core i5-4690K bits: 64 type: MCP
  L2 cache: 6144 KiB
  Speed: 998 MHz min/max: 800/3900 MHz Core speeds (MHz): 1: 998 2: 998
  3: 998 4: 998
Graphics:
  Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] driver: nvidia v: 465.27
  Display: x11 server: X.Org 1.20.9 driver: nvidia
  resolution: 1920x1080~60Hz
  OpenGL: renderer: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2
  v: 4.6.0 NVIDIA 465.27
Audio:
  Device-1: Intel 9 Series Family HD Audio driver: snd_hda_intel
  Device-2: NVIDIA GP106 High Definition Audio driver: snd_hda_intel
  Device-3: C-Media CMI8788 [Oxygen HD Audio] driver: snd_oxygen
  Sound Server: ALSA v: k5.4.0-77-generic
Network:
  Device-1: Intel Ethernet I218-V driver: e1000e
  IF: enp0s25 state: up speed: 1000 Mbps duplex: full mac: <filter>
Drives:
  Local Storage: total: 1.48 TiB used: 115.21 GiB (7.6%)
  ID-1: /dev/sda vendor: Samsung model: SSD 860 EVO 500GB size: 465.76 GiB
  ID-2: /dev/sdb vendor: Samsung model: HD103SJ size: 931.51 GiB
  ID-3: /dev/sdc vendor: Crucial model: M4-CT128M4SSD2 size: 119.24 GiB
Partition:
  ID-1: / size: 143.19 GiB used: 115.18 GiB (80.4%) fs: ext4 dev: /dev/sda4
Sensors:
  System Temperatures: cpu: 26.0 C mobo: N/A gpu: nvidia temp: 30 C
  Fan Speeds (RPM): N/A gpu: nvidia fan: 0%
Info:
  Processes: 216 Uptime: N/A Memory: 15.59 GiB used: 1.12 GiB (7.2%)
  Shell: bash inxi: 3.0.38

Wäre echt toll, wenn hier jemand weiter wüßte.
 
Über xrandr die gewünschte Auflösung und Bildwiederholfrequenz hinzufügen.

Ich war zu faul für den Link.
Screenshot_20210707-203454564.jpg
 
Achja, auf die Seite war ich gestern auch schon gestoßen, aber irgendwie hab ich das nicht gerafft. Wenn ich xrandr --output HDMI-0 --mode 1920x1080 --rate 24
eingebe, schaltet der Bildschirm zwar um, aber zum einen weiß ich nicht genau, ob es 23.98 Hz oder 24.00 Hz sind (für Filme ja sehr wichtig) und zum anderen hilft das Kodi noch nicht.
Bei mir kommt zum Beispiel das:
Code:
cvt 1920 1080
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
Kann damit aber ehrlich gesagt wenig anfangen.
Was ist denn mit "Modeline" gemeint?
 
Die Ausgabe von cvt.
Anleitung liest sich doof, einfach die grünen und lila Kästchen ignorieren.
 
Da bekomme ich dann das:
Code:
xrandr --newmode "1920x1080_24.00" 173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  16 (RRCreateMode)
  Serial number of failed request:  43
  Current serial number in output stream:  43
 
Ok, damit scheint es zu gehen, zumindest gibts keine Fehlermeldungen.
Code:
$ xrandr --newmode "1920x1080-24.00" 173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
$ xrandr --addmode HDMI-0 1920x1080-24.00
$ xrandr --output HDMI-0 --mode 1920x1080-24.00
Allerdings sollte am Ende ja die gewünschte Refresh Rate dann auch eingestellt werden, der Bildschirm wird kurz schwarz, als würde er umstellen. Aber es läuft dann immer noch mit 60 Hz.
 
Dann bin ich überfragt. Vielleicht weiß jemand anderes weiter.
Welchen Treiber verwendest du denn?
 
Graphics:
Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] driver: nvidia v: 465.27
Display: x11 server: X.Org 1.20.9 driver: nvidia
resolution: 1920x1080~60Hz
OpenGL: renderer: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2
v: 4.6.0 NVIDIA 465.27
 
Ich würde aus Neugier mal den offenen Treiber verwenden um das Problem eingrenzen zu können.
 
Donnerwetter. Tatsächlich funktioniert es damit! In der Whitelist bei Kodi sind jetzt 220 EInträge und 24 Hz ist auch dabei, und Kodi schaltet auch automatisch um zu der Frequenz.
Leider hab ich jetzt natürlich die Nachteile des quelloffenen Treibers: Alles ist ziemlich träge, im Browser ruckelts usw
 
Okay, dann würde ich mal weiter in Richtung NV-Treiber gucken.
Gucke mal ob durch meinen Link bei #7 vielleicht so der Modus angenommen wird.
Mich würde aber mal interessieren, ob bei NV-Treiber mit "Blinken, dann wieder 60Hz" auch was in den Logfiles steht.

EDIT: Passende Logfiles habe ich jetzt nicht gefunden, ich würde aber mal das Setzen des Modus mit --verbose schmücken.

EDIT 2: Ich würde mal in /var/log/ gucken, ob irgendwas mit xorg da drin ist. Da würden dann entsprechende Einträge beim Wechselversuch drin stehen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Skidrow
TriggerThumb87 schrieb:
EDIT: Passende Logfiles habe ich jetzt nicht gefunden, ich würde aber mal das Setzen des Modus mit --verbose schmücken.
Du meinst, --verbose dranhängen hinter den --newmode Befehl?
 
Nö, beim Wechsel des Modus. Da flackert es ja.
Kannst es aber durchweg durch die Bank mal streuen, vielleicht kommt ja etwas interessantes bei raus.
 
Bin jetzt erst zu gekommen.
--verbose hat nichts bewirkt.
in /var/log gibt ein xorg.0.org. Und darin steht tatsächlich folgendes:
Code:
[   206.404] (II) NVIDIA(0): Setting mode "HDMI-0: 1920x1080_24.00 @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}"
[   210.597] (--) NVIDIA(GPU-0): DFP-0: disconnected
[   210.597] (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
[   210.597] (--) NVIDIA(GPU-0): DFP-0: 330.0 MHz maximum pixel clock
 
Das wäre wahrscheinlich möglich.
Ich muss aber gestehen, dass ich langsam linuxmüde werde...
Ich sitze jetzt schon seit 4 Tagen jeden Abend nach Feierabend bis zum Schlafengehen an diesem Thema.

Ich glaube, ich muss mir etwas grundlegend anderes überlegen, wie ich Filme gucke.

Ich danke dir auf jeden Fall für deine Hilfe.
 
Kein Problem, das denke ich mir auch manchmal.
Allerdings führe ich kein Protokoll, wann mir (mal wieder) Windows so auf den Keks geht.

Das Problem ist hier weniger Linux, als dass sich NV weigert, Linux vernünftig zu unterstützen.
 
  • Gefällt mir
Reaktionen: Skidrow
Zurück
Oben