Lenovo Ideapad 5 Pro *APH8 Linuxthread

cbtaste420

Lieutenant Pro
Registriert
Dez. 2019
Beiträge
691
Da sich aktuell viele mit dem IdeaPad 5 Pro ohne OS eingedeckt haben, wäre aus meiner Sicht ein Linuxthread in Anlehnung an die Bestellaktion aus 2020 angebracht.
Die 14" und 16" Modelle haben ähnliche Hardware, daher schlage ich vor beide Modelle hier zu behandeln.
Erfahrungen, Einstellungen, Workarounds, etc. rund um die Phoenix Generation können wir hier bündeln, da sie sonst in den anderen Threads untergehen.

Im Netz habe ich von Problemen mit "modern standby" gelesen, kann das jemand bestätigen oder widerlegen? Falls Probleme auftreten bitte die getestete Kernelversion posten. Ich selber werde mich ab Mitte nächster Woche am 16APH8 mit Manjaro versuchen.

Knowledge Base
14APH8: 120hz stehen nicht zur Auswahl.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Hans_Dampfer
Ich zitiere mich Mal selbst:
Tenferenzu schrieb:
Getestet mit Fedora 38 Liveboot.. Ton, WLAN, BT, Tasten etc. funktioniert alles problemlos.
Code:
inxi -Fxz
System:
Kernel: 6.2.9-300.fc38.x86_64 arch: x86_64 bits: 64 compiler: gcc
v: 2.39-9.fc38 Desktop: GNOME v: 44.0 Distro: Fedora release 38 (Thirty
Eight)
Machine:
Type: Laptop System: LENOVO product: 83AM v: IdeaPad Pro 5 14APH8
serial: <superuser required>
Mobo: LENOVO model: LNVNB161216 v: No DPK serial: <superuser required>
UEFI: LENOVO v: MKCN25WW date: 06/26/2023
Battery:
ID-1: BAT0 charge: 50.8 Wh (65.7%) condition: 77.3/75.0 Wh (103.1%)
volts: 17.2 min: 15.6 model: SMP L22M4PF3 status: charging
CPU:
Info: 8-core model: AMD Ryzen 7 7840HS with Radeon 780M Graphics bits: 64
type: MT MCP arch: Zen 4 rev: 1 cache: L1: 512 KiB L2: 8 MiB L3: 16 MiB
Speed (MHz): avg: 2149 high: 3800 min/max: 1600/6680 boost: enabled cores:
1: 1600 2: 1600 3: 1600 4: 1600 5: 1597 6: 1600 7: 1600 8: 3800 9: 1600
10: 1600 11: 1600 12: 3800 13: 3800 14: 1600 15: 1600 16: 3800
bogomips: 121374
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
Device-1: AMD Phoenix1 vendor: Lenovo driver: amdgpu v: kernel arch: RDNA-3
bus-ID: 63:00.0 temp: 31.0 C
Device-2: Syntek Integrated Camera driver: uvcvideo type: USB
bus-ID: 3-1:2
Display: wayland server: X.Org v: 22.1.9 with: Xwayland v: 22.1.9
compositor: gnome-shell driver: dri: radeonsi gpu: amdgpu
resolution: 2880x1800~60Hz
API: OpenGL v: 4.6 Mesa 23.0.1 renderer: AMD Radeon Graphics (gfx1103_r1
LLVM 16.0.0 DRM 3.49 6.2.9-300.fc38.x86_64) direct-render: Yes
Audio:
Device-1: AMD Rembrandt Radeon High Definition Audio vendor: Lenovo
driver: snd_hda_intel v: kernel bus-ID: 63:00.1
Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Lenovo
driver: snd_pci_ps v: kernel bus-ID: 63:00.5
Device-3: AMD Family 17h/19h HD Audio vendor: Lenovo driver: snd_hda_intel
v: kernel bus-ID: 63:00.6
API: ALSA v: k6.2.9-300.fc38.x86_64 status: kernel-api
Server-1: PipeWire v: 0.3.67 status: active
Network:
Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
vendor: Lenovo driver: mt7921e v: kernel bus-ID: 01:00.0
IF: wlp1s0 state: up mac: <filter>
Bluetooth:
Device-1: Foxconn / Hon Hai Wireless_Device driver: btusb v: 0.8 type: USB
bus-ID: 1-5:2
Report: rfkill ID: hci0 rfk-id: 2 state: up address: see --recommends
Drives:
Local Storage: total: 505.59 GiB used: 6 GiB (1.2%)
ID-1: /dev/nvme0n1 vendor: Western Digital model: WD PC SN740
SDDPMQD-512G-1101 size: 476.94 GiB temp: 27.9 C
ID-2: /dev/sda vendor: SanDisk model: Ultra Fit size: 28.65 GiB type: USB
Partition:
ID-1: / size: 7.36 GiB used: 6 GiB (81.5%) fs: ext4 dev: /dev/dm-1
mapped: live-rw
Swap:
ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
Sensors:
System Temperatures: cpu: N/A mobo: N/A
Fan Speeds (RPM): N/A
Info:
Processes: 405 Uptime: 3m Memory: available: 27.08 GiB used: 2.08 GiB (7.7%)
Init: systemd target: graphical (5) Compilers: N/A Packages: N/A
note: see --rpm Shell: Bash v: 5.2.15 inxi: 3.3.27
Interessanterweise ist bei mir eine WD SN740 verbaut anstatt der üblichen SK Hynix. Die Mediatek WLankarte scheint auch ganz guten Support zu haben.

Mal kucken ob nach der Installation auch noch alles funktioniert.

P.s. Der Bildschirm ist Hammer. Im direkten Vergleich mit dem MacBook Pro M1 13 Zoll merke ich nicht viel Unterschied. Die Lautsprecher sind allerdings ziemlich grottig aber da das Ding bei mir eh 80% der Zeit am Dock haengt kann ich das verkraften.

Einzig die 120Hz scheinen nicht wirklich erkannt zu werden.

Edit: Auch nach der Installation scheint noch alles so zu funktionieren wie es soll
Fairerweise liegt das OS jetzt auf einer externen USB SSD und Standby etc. habe ich deshalb nicht getestet.

P.s. im Sammelthread ist dir sicher niemand böse wenn du über Linux sprichst. :)
 
  • Gefällt mir
Reaktionen: Faquarl1337, cbtaste420 und FCK_PTN
Fedora 38 war auch für mich bei einem zickigen Tablet von Lenovo die Lösung, es funktionierte alles out of the Box - während beispielsweise Ubuntu-Varianten nichtmal in die grafische Oberfläche starteten.
 
@Tenferenzu
Was gibt Dir dieses Kommando aus?
Bash:
ls /sys/class/drm/*/edid | xargs -i{} sh -c "echo {}; parse-edid < {}"

Und dieses?
Bash:
edid-decode < /sys/class/drm/card0-eDP-1/edid

Alternativ ginge noch hwinfo, müsstest Du aber vermutlich erst installieren.
Bash:
hwinfo --monitor
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Faquarl1337
Bisher läuft Manjaro ganz ok, s2idle ist nervig aber bei Heimgeräten leider nicht zu vermeiden.
Ein Paar mal wurde die WiFi Karte von MediaTek nicht erkannt, werde ich mal beobachten. Evtl. kann man durch Blacklisting die Erkennung verbessern.


Meine Ausstattung:
Code:
inxi -Fxz

System:
  Kernel: 6.5.0-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    Desktop: Xfce v: 4.18.1 Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 83AR v: IdeaPad Pro 5 16APH8
    serial: <filter>
  Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: <filter> UEFI: LENOVO
    v: MDCN27WW date: 07/20/2023
Battery:
  ID-1: BAT0 charge: 61.4 Wh (79.5%) condition: 77.2/75.0 Wh (102.9%)
    volts: 16.9 min: 15.6 model: SMP L22M4PF5 status: not charging
CPU:
  Info: 8-core model: AMD Ryzen 7 7840HS with Radeon 780M Graphics bits: 64
    type: MT MCP arch: Zen 4 rev: 1 cache: L1: 512 KiB L2: 8 MiB L3: 16 MiB
  Speed (MHz): avg: 2167 high: 3710
    min/max: 400/5137:6080:5764:5293:5449:5924:5608 cores: 1: 1614 2: 400
    3: 3710 4: 1881 5: 1582 6: 2078 7: 2334 8: 2393 9: 2809 10: 2276 11: 2839
    12: 1798 13: 2296 14: 2203 15: 1694 16: 2778 bogomips: 121419
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: AMD Phoenix1 vendor: Lenovo driver: amdgpu v: kernel arch: RDNA-3
    bus-ID: 64:00.0 temp: 36.0 C
  Device-2: Syntek Integrated Camera driver: uvcvideo type: USB
    bus-ID: 3-1:2
  Display: x11 server: X.Org v: 21.1.8 driver: X: loaded: amdgpu
    unloaded: modesetting dri: radeonsi gpu: amdgpu resolution: 2560x1600~120Hz
  API: OpenGL Message: Unable to show GL data. Required tool glxinfo
    missing.
Audio:
  Device-1: AMD Rembrandt Radeon High Definition Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel bus-ID: 64:00.1
  Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Lenovo
    driver: snd_pci_ps v: kernel bus-ID: 64:00.5
  Device-3: AMD Family 17h/19h HD Audio vendor: Lenovo driver: snd_hda_intel
    v: kernel bus-ID: 64:00.6
  API: ALSA v: k6.5.0-1-MANJARO status: kernel-api
  Server-1: JACK v: 1.9.22 status: off
  Server-2: PipeWire v: 0.3.77 status: n/a (root, process)
  Server-3: PulseAudio v: 16.1 status: active (root, process)
Network:
  Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    vendor: Lenovo driver: mt7921e v: kernel bus-ID: 01:00.0
  IF: wlp1s0 state: up mac: <filter>
Bluetooth:
  Device-1: Foxconn / Hon Hai Wireless_Device driver: btusb v: 0.8 type: USB
    bus-ID: 1-5:2
  Report: rfkill ID: hci0 rfk-id: 3 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: see --recommends
Drives:
  Local Storage: total: 476.94 GiB used: 8.62 GiB (1.8%)
  ID-1: /dev/nvme0n1 vendor: Samsung model: MZAL4512HBLU-00BL2
    size: 476.94 GiB temp: 28.9 C
Partition:
  ID-1: / size: 468.09 GiB used: 8.61 GiB (1.8%) fs: ext4 dev: /dev/dm-0
    mapped: luks-###########
  ID-2: /boot/efi size: 299.4 MiB used: 7.1 MiB (2.4%) fs: vfat
    dev: /dev/nvme0n1p1
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 38.9 C mobo: N/A gpu: amdgpu temp: 36.0 C
  Fan Speeds (RPM): N/A
Info:
  Processes: 359 Uptime: 2h 36m Memory: total: 16 GiB note: est.
  available: 14.91 GiB used: 3.58 GiB (24.0%) Init: systemd Compilers:
  gcc: 13.2.1 clang: 15.0.7 Packages: 1072 Shell: Bash v: 5.1.16 inxi: 3.3.28

Battery Conservation Mode lässt sich so aktivieren:
echo 1 > /sys/devices/pci0000:00/0000:00:14.3/PNP0C09:00/VPC2004:00/conservation_mode

Monitor Details:
Code:
edid-decode < /sys/class/drm/card0-eDP-1/edid

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: CSO
    Model: 5653
    Made in: 2021
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 10
    DisplayPort interface
    Maximum image size: 34 cm x 22 cm
    Gamma: 2.20
    Supported color formats: RGB 4:4:4
    First detailed timing includes the native pixel format and preferred refresh rate
    Display is continuous frequency
  Color Characteristics:
    Red  : 0.6386, 0.3300
    Green: 0.2998, 0.5996
    Blue : 0.1494, 0.0595
    White: 0.3164, 0.3320
  Established Timings I & II: none
  Standard Timings: none
  Detailed Timing Descriptors:
    DTD 1:  2560x1600  120.006164 Hz  16:10   203.290 kHz    552.950000 MHz (344 mm x 215 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol N
                 Vfront    3 Vsync   6 Vback   85 Vpol N
    DTD 2:  2560x1600   60.001997 Hz  16:10   101.643 kHz    276.470000 MHz (344 mm x 215 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol N
                 Vfront    3 Vsync   6 Vback   85 Vpol N
    Display Range Limits:
      Monitor ranges (Bare Limits): 48-120 Hz V, 204-204 kHz H, max dotclock 560 MHz
    Alphanumeric Data String: 'MNG007DA1-J'
Checksum: 0x89

Vermutlich mal wieder Panel-Lottery, dieses Modell unterstützt FreeSync.
Code:
xrandr --props|grep -A 1 vrr_capable:\ 1
    vrr_capable: 1
        range: (0, 1)


Screenshot_2023-08-16_18-29-00_1.png
 
Habe ein neues 14APH8 und 120 Hz stehen bei mir ebenfalls nicht zur Auswahl. Es scheint als kämen die 120 Hz Timings nur im DisplayID Extension Block vor, jedoch scheint dessen Checksumme falsch zu sein. Im dmesg sehe ich dadurch "[drm] DisplayID checksum invalid, remainder is 248".

Code:
edid-decode < /sys/class/drm/card1-eDP-1/edid
edid-decode (hex):

00 ff ff ff ff ff ff 00 0e 6f 16 14 00 00 00 00
00 20 01 04 b5 1e 13 78 03 21 15 a8 53 49 9c 25
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 ce 87 40 a0 b0 08 6a 70 30 20
36 00 2d bc 10 00 00 18 00 00 00 fd 00 28 78 e5
e5 46 01 0a 20 20 20 20 20 20 00 00 00 fe 00 43
53 4f 54 20 54 33 0a 20 20 20 20 20 00 00 00 fe
00 4d 4e 45 30 30 37 5a 41 31 2d 35 0a 20 01 af

70 13 79 00 00 03 01 14 9a 0f 01 05 3f 0b 9f 00
2f 00 1f 00 07 07 69 00 02 00 05 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0 98

----------------

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: CSO
    Model: 5142
    Made in: 2022
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 10
    DisplayPort interface
    Maximum image size: 30 cm x 19 cm
    Gamma: 2.20
    Supported color formats: RGB 4:4:4
    First detailed timing includes the native pixel format and preferred refresh rate
    Display is continuous frequency
  Color Characteristics:
    Red  : 0.6562, 0.3261
    Green: 0.2851, 0.6103
    Blue : 0.1445, 0.0595
    White: 0.3134, 0.3291
  Established Timings I & II: none
  Standard Timings: none
  Detailed Timing Descriptors:
    DTD 1:  2880x1800   60.000966 Hz  16:10   114.362 kHz    347.660000 MHz (301 mm x 188 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol N
                 Vfront    3 Vsync   6 Vback   97 Vpol N
    Display Range Limits:
      Monitor ranges (Bare Limits): 40-120 Hz V, 229-229 kHz H, max dotclock 700 MHz
    Alphanumeric Data String: 'CSOT T3'
    Alphanumeric Data String: 'MNE007ZA1-5'
  Extension blocks: 1
Checksum: 0xaf

----------------

Block 1, DisplayID Extension Block:
  Version: 1.3
  Extension Count: 0
  Display Product Type: Extension Section
  Video Timing Modes Type 1 - Detailed Timings Data Block:
    DTD:  2880x1800  120.000207 Hz  16:10   228.720 kHz    695.310000 MHz (aspect 16:10, no 3D stereo)
               Hfront   48 Hsync  32 Hback   80 Hpol N
               Vfront    3 Vsync   6 Vback   97 Vpol N
  Checksum: 0xf0 (should be 0xf8)
Checksum: 0x98

Code:
ls /sys/class/drm/*/edid | xargs -i{} sh -c "echo {}; parse-edid < {}"
/sys/class/drm/card1-DP-1/edid
Partial Read... Try again
/sys/class/drm/card1-DP-2/edid
Partial Read... Try again
/sys/class/drm/card1-DP-3/edid
Partial Read... Try again
/sys/class/drm/card1-DP-4/edid
Partial Read... Try again
/sys/class/drm/card1-DP-5/edid
Partial Read... Try again
/sys/class/drm/card1-DP-6/edid
Partial Read... Try again
/sys/class/drm/card1-eDP-1/edid
Checksum Correct

Section "Monitor"
        Identifier ""
        ModelName ""
        VendorName "CSO"
        # Monitor Manufactured week 0 of 2022
        # EDID version 1.4
        # Digital Display
        DisplaySize 300 190
        Gamma 2.20
        Option "DPMS" "false"
        Horizsync 229-229
        VertRefresh 40-120
        # Maximum pixel clock is 700MHz

        #Extension block found. Parsing...
I only know about extension blocks of type 02h. PLEASE email me!
Something strange happened. Please contact the author,
Matthew Kern at <pyrophobicman@gmail.com>
/sys/class/drm/card1-HDMI-A-1/edid
Partial Read... Try again

Code:
hwinfo --monitor
45: None 00.0: 10002 LCD Monitor
  [Created at monitor.125]
  Unique ID: rdCR.MUqBUvoVu28
  Parent ID: dxiq.5QuB8rpx1p3
  Hardware Class: monitor
  Model: "CSOT T3 LCD Monitor"
  Vendor: CSO "CSOT T3"
  Device: eisa 0x1416
  Serial ID: "0"
  Resolution: 2880x1800@60Hz
  Size: 301x188 mm
  Year of Manufacture: 2022
  Week of Manufacture: 0
  Detailed Timings #0:
     Resolution: 2880x1800
     Horizontal: 2880 2928 2960 3040 (+48 +80 +160) -hsync
       Vertical: 1800 1803 1809 1906 (+3 +9 +106) -vsync
    Frequencies: 347.66 MHz, 114.36 kHz, 60.00 Hz
  Driver Info #0:
    Max. Resolution: 2880x1800
    Vert. Sync Range: 40-120 Hz
    Hor. Sync Range: 229-229 kHz
    Bandwidth: 347 MHz
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #34 (VGA compatible controller)


System Info:
Code:
System:
  Kernel: 6.4.10-arch1-1 arch: x86_64 bits: 64 compiler: gcc v: 13.2.1 Console: pty pts/2
    Distro: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 83AM v: IdeaPad Pro 5 14APH8 serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: No DPK serial: <superuser required> UEFI: LENOVO
    v: MKCN25WW date: 06/26/2023
Battery:
  ID-1: BAT0 charge: 77.7 Wh (100.0%) condition: 77.7/75.0 Wh (103.5%) volts: 17.8 min: 15.6
    model: SMP L22M4PF3 status: full
CPU:
  Info: 8-core model: AMD Ryzen 7 7840HS with Radeon 780M Graphics bits: 64 type: MT MCP
    arch: Zen 4 rev: 1 cache: L1: 512 KiB L2: 8 MiB L3: 16 MiB
  Speed (MHz): avg: 462 high: 1397 min/max: 400/5137:6080:5608:5293:5924:5764:5449 cores: 1: 400
    2: 400 3: 1397 4: 400 5: 400 6: 400 7: 400 8: 400 9: 400 10: 400 11: 400 12: 400 13: 400 14: 400
    15: 400 16: 400 bogomips: 121429
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: AMD Phoenix1 vendor: Lenovo driver: amdgpu v: kernel arch: RDNA-3 bus-ID: 63:00.0
    temp: 29.0 C
  Device-2: Integrated Camera driver: uvcvideo type: USB bus-ID: 3-1:2
  Display: server: X.org v: 1.21.1.8 with: Xwayland v: 23.1.2 driver: X: loaded: amdgpu
    unloaded: modesetting dri: radeonsi gpu: amdgpu tty: 120x30 resolution: 2880x1800
  API: OpenGL Message: GL data unavailable in console. Try -G --display
 
@Faquarl1337 Du könntest für die fehlenden Auflösungen und Wiederholsungsraten eigene Modelines definieren.
https://en.wikibooks.org/wiki/Guide_to_X11/Define_new_resolution

Bspw. so. Nutzung auf eigene Gefahr.
Code:
Section "Monitor"
    Identifier "Monitor"
    Modeline "2880x1800_60.00"  442.00  2880 3104 3416 3952  1800 1803 1809 1865 -hsync +vsync
    Modeline "2880x1800_120.00"  934.00  2880 3136 3456 4032  1800 1803 1809 1931 -hsync +vsync
EndSection

Was gibt Dir xrandr --prop --screen 0 aus?
 
@cbtaste420 Danke! Werde ich heute Abend testen, wenn ich das Gerät wieder zur Hand habe.

Ich hatte nur für das Debugging auf X11 gewechselt. Ideal wäre es, wenn ich die eigene Modeline auch für Wayland Sessions setzen könnte. Scheint aber nicht ganz so straightforward zu sein wie unter X11.
Ergänzung ()

Eventuell ist für Wayland eine eigene EDID Datei die Lösung.
https://wiki.archlinux.org/title/Kernel_mode_setting#Forcing_modes_and_EDID
 
Zuletzt bearbeitet:
Das sollte nicht so schwer sein. Versuch doch erstmal die Prüfsummen zu ändern.

Habe das mal an Deinem Beispiel gemacht und muss feststellen (könne auch Zufall sein), das man 0 und 8 vertauscht hat. Statt f0 98 ist f8 90 korrekt.

Diesen Block speicherst Du in eine Datei (bspw. edid-b0rked):
Code:
00 ff ff ff ff ff ff 00 0e 6f 16 14 00 00 00 00
00 20 01 04 b5 1e 13 78 03 21 15 a8 53 49 9c 25
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 ce 87 40 a0 b0 08 6a 70 30 20
36 00 2d bc 10 00 00 18 00 00 00 fd 00 28 78 e5
e5 46 01 0a 20 20 20 20 20 20 00 00 00 fe 00 43
53 4f 54 20 54 33 0a 20 20 20 20 20 00 00 00 fe
00 4d 4e 45 30 30 37 5a 41 31 2d 35 0a 20 01 af

70 13 79 00 00 03 01 14 9a 0f 01 05 3f 0b 9f 00
2f 00 1f 00 07 07 69 00 02 00 05 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 f8 90

Dann führst Du xxd so aus, um wieder einen Binärdatei zu erhalten:
xxd -r -p edid-b0rked edid-fixed

Mit dieser Datei kannst Du nun den Schritten aus dem Arch-Wiki Artikel folgen.
 
  • Gefällt mir
Reaktionen: askibo und Faquarl1337
Das sollte nicht so schwer sein. Versuch doch erstmal die Prüfsummen zu ändern.
Funktioniert! Bin wie in deiner Beschreibung vorgegangen (originalen EDID Block genommen, Checksumme geändert, neue EDID Datei per Kernelparameter geladen) und die 120Hz lassen sich einstellen.

Danke!

Noch als Nachtrag der Output von xrandr "--prop --screen 0", vorher:

Code:
Screen 0: minimum 320 x 200, current 2880 x 1800, maximum 16384 x 16384
eDP connected primary 2880x1800+0+0 (normal left inverted right x axis y axis) 301mm x 188mm
        _KDE_SCREEN_INDEX: 1
        EDID:
                00ffffffffffff000e6f161400000000
                00200104b51e1378032115a853499c25
                0f505400000001010101010101010101
                010101010101ce8740a0b0086a703020
                36002dbc10000018000000fd002878e5
                e546010a202020202020000000fe0043
                534f542054330a2020202020000000fe
                004d4e453030375a41312d350a2001af
                70137900000301149a0f01053f0b9f00
                2f001f00070769000200050000000000
                00000000000000000000000000000000
                00000000000000000000000000000000
                00000000000000000000000000000000
                00000000000000000000000000000000
                00000000000000000000000000000000
                0000000000000000000000000000f098
        GAMMA_LUT_SIZE: 4096
                range: (0, -1)
        DEGAMMA_LUT_SIZE: 4096
                range: (0, -1)
        GAMMA_LUT: 0
                range: (0, 65535)
        CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
                0 1
        DEGAMMA_LUT: 0
                range: (0, 65535)
        TearFree: auto
                supported: off, on, auto
        HDCP Content Type: HDCP Type0
                supported: HDCP Type0, HDCP Type1
        Content Protection: Undesired
                supported: Undesired, Desired, Enabled
        vrr_capable: 1
                range: (0, 1)
        abm level: 0
                range: (0, 4)
        max bpc: 10
                range: (8, 16)
        underscan vborder: 0
                range: (0, 128)
        underscan hborder: 0
                range: (0, 128)
        underscan: off
                supported: off, on, auto
        scaling mode: None
                supported: None, Full, Center, Full aspect
        link-status: Good
                supported: Good, Bad
        CONNECTOR_ID: 83
                supported: 83
        non-desktop: 0
                range: (0, 1)
   2880x1800     60.00*+
   1920x1200     60.00
   1920x1080     60.00
   1600x1200     60.00
   1680x1050     60.00
   1280x1024     60.00
   1440x900      60.00
   1280x800      60.00
   1280x720      60.00
   1024x768      60.00
   800x600       60.00
   640x480       60.00
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
[Rest ausgelassen...]

und nachher:
Code:
Screen 0: minimum 320 x 200, current 2880 x 1800, maximum 16384 x 16384
eDP connected primary 2880x1800+0+0 (normal left inverted right x axis y axis) 301mm x 188mm
        _KDE_SCREEN_INDEX: 1
        EDID:
                00ffffffffffff000e6f161400000000
                00200104b51e1378032115a853499c25
                0f505400000001010101010101010101
                010101010101ce8740a0b0086a703020
                36002dbc10000018000000fd002878e5
                e546010a202020202020000000fe0043
                534f542054330a2020202020000000fe
                004d4e453030375a41312d350a2001af
                70137900000301149a0f01053f0b9f00
                2f001f00070769000200050000000000
                00000000000000000000000000000000
                00000000000000000000000000000000
                00000000000000000000000000000000
                00000000000000000000000000000000
                00000000000000000000000000000000
                0000000000000000000000000000f890
        GAMMA_LUT_SIZE: 4096
                range: (0, -1)
        DEGAMMA_LUT_SIZE: 4096
                range: (0, -1)
        GAMMA_LUT: 0
                range: (0, 65535)
        CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
                0 1
        DEGAMMA_LUT: 0
                range: (0, 65535)
        TearFree: auto
                supported: off, on, auto
        HDCP Content Type: HDCP Type0
                supported: HDCP Type0, HDCP Type1
        Content Protection: Undesired
                supported: Undesired, Desired, Enabled
        vrr_capable: 1
                range: (0, 1)
        abm level: 0
                range: (0, 4)
        max bpc: 10
                range: (8, 16)
        underscan vborder: 0
                range: (0, 128)
        underscan hborder: 0
                range: (0, 128)
        underscan: off
                supported: off, on, auto
        scaling mode: None
                supported: None, Full, Center, Full aspect
        link-status: Good
                supported: Good, Bad
        CONNECTOR_ID: 83
                supported: 83
        non-desktop: 0
                range: (0, 1)
   2880x1800     60.00 + 120.00*
   1920x1200     60.00
   1920x1080     60.00
   1600x1200     60.00
   1680x1050     60.00
   1280x1024     60.00
   1440x900      60.00
   1280x800      60.00
   1280x720      60.00
   1024x768      60.00
   800x600       60.00
   640x480       60.00

Klappt unter X11 und Wayland.
Mein Panel scheint ebenfalls Freesync zu unterstützen :)
 
  • Gefällt mir
Reaktionen: cbtaste420
Die Datei custom.bin habe ich nach /usr/lib/firmware/edid kopiert. Der passende Kernelparameter ist dann drm.edid_firmware=edid/custom.bin.

Wie man Kernelparameter festlegt hängt vom Bootloader ab, den man benutzt. In meinem Fall ist das systemd-boot und ich musste die den Boot Eintrag in /boot/loader/entries/arch.conf editieren.

Beispiel:
Code:
title   Arch Linux
linux   /vmlinuz-linux
initrd  /initramfs-linux.img
options root="LABEL=Arch OS" rw drm.edid_firmware=edid/custom.bin

Als das ging, habe ich dann noch den Displaynamen ergänzt

Code:
drm.edid_firmware=eDP-1:edid/custom.bin

Bei Grub z.B. sieht der Prozess wieder etwas anders aus, müsstest du mal spezifisch für dein OS schauen.
 
  • Gefällt mir
Reaktionen: fonkyflox
Linux Mint 21.2 - Kernel 6.4
Eine Anleitung für 120Hz beim internen Display für ein Lenovo IdeaPad 5 Pro 14APH8:


Das Problem: Die edid Prüfsummen vom internen Monitor sind vertauscht.

Diesen Block speicherst Du in eine Datei (bspw. edid-b0rked.txt):
Rich (BBCode):
00 ff ff ff ff ff ff 00 0e 6f 16 14 00 00 00 00
00 20 01 04 b5 1e 13 78 03 21 15 a8 53 49 9c 25
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 ce 87 40 a0 b0 08 6a 70 30 20
36 00 2d bc 10 00 00 18 00 00 00 fd 00 28 78 e5
e5 46 01 0a 20 20 20 20 20 20 00 00 00 fe 00 43
53 4f 54 20 54 33 0a 20 20 20 20 20 00 00 00 fe
00 4d 4e 45 30 30 37 5a 41 31 2d 35 0a 20 01 af

70 13 79 00 00 03 01 14 9a 0f 01 05 3f 0b 9f 00
2f 00 1f 00 07 07 69 00 02 00 05 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 f8 90

Dann führst Du xxd so aus, um wieder einen Binärdatei zu erhalten:
Rich (BBCode):
xxd -r -p edid-b0rked.txt edid.bin

Jetzt kopierst du diese neu generierte edid.bin Datei in folgenden Ordner
Rich (BBCode):
/usr/lib/firmware/edid
das schaut dann so aus: /usr/lib/firmware/edid/edit.bin

Dann lässt du die neue edid.bin Datei als Kernelparameter während dem Bootvorgang laden. Dazu änderst du die Datei
Rich (BBCode):
/etc/default/grub

Finde in der Datei /etc/default/grub folgende Zeile beginnend mit GRUB_CMDLINE_LINUX_DEFAULT und ergänze sie um drm.edid_firmware=edid/edid.bin
Das schaut dann so aus:
Rich (BBCode):
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash drm.edid_firmware=eDP-1:edid/edid.bin"

Danach führe folgenden Befehl aus:
Rich (BBCode):
sudo update-grub

Jetzt kopierst und speicherst du folgendes in die /etc/initramfs-tools/hooks/edid Datei
Rich (BBCode):
#!/bin/sh
if [ -d /lib/firmware/edid ]; then
  cp -r --parents /lib/firmware/edid ${DESTDIR}
fi

Dann änderst du die Rechte

Rich (BBCode):
sudo chmod +x /etc/initramfs-tools/hooks/edid

und dann führst du folgenden Befehl aus

Rich (BBCode):
sudo update-initramfs -u

Jetzt kannst du deinen Laptop neu starten und dann kannst du im Menü unter Display zwischen 60Hz und 120Hz wählen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: askibo, crc18 und Faquarl1337
fonkyflox schrieb:
Finde in der Datei /etc/default/grub folgende Zeile beginnend mit GRUB_CMDLINE_LINUX_DEFAULT und ergänze sie um drm.edid_firmware=edid/edid.bin
Das schaut dann so aus:
Rich (BBCode):
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash drm.edid_firmware=edid/edid.bin"
Bitte nur für den Bildschirm an eDP-1 die Firmware laden.
drm.edid_firmware=eDP-1:edid/edid.bin
 
  • Gefällt mir
Reaktionen: fonkyflox
fonkyflox schrieb:
Diesen Block speicherst Du in eine Datei (bspw. edid-b0rked.txt):
Rich (BBCode):
00 ff ff ff ff ff ff 00 0e 6f 16 14 00 00 00 00
00 20 01 04 b5 1e 13 78 03 21 15 a8 53 49 9c 25
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 ce 87 40 a0 b0 08 6a 70 30 20
36 00 2d bc 10 00 00 18 00 00 00 fd 00 28 78 e5
e5 46 01 0a 20 20 20 20 20 20 00 00 00 fe 00 43
53 4f 54 20 54 33 0a 20 20 20 20 20 00 00 00 fe
00 4d 4e 45 30 30 37 5a 41 31 2d 35 0a 20 01 af

70 13 79 00 00 03 01 14 9a 0f 01 05 3f 0b 9f 00
2f 00 1f 00 07 07 69 00 02 00 05 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 f8 90

Dann führst Du xxd so aus, um wieder einen Binärdatei zu erhalten:
Rich (BBCode):
xxd -r -p edid-b0rked.txt edid.bin
Den ganzen Block kannst Du mit diesem One-Liner einsparen: xxd -p /sys/class/drm/card0/card0-eDP-1/edid | sed -E 's/f098$/f890/g' | xxd -p -r > edid.bin

Achtung! Diese Modifikation setzt immer voraus, dass genau dasselbe Panel verbaut ist!
 
Zuletzt bearbeitet:
Mein Gerät läuft relativ rund unter Ubuntu 22.04. Läuft out of the Box ohne Probleme am Lenovo USB-C-Dock Gen2 mit zwei 1440p Displays@144Hz.

Jedoch habe ich das Problem, dass zu ~80% Suspend nicht funktioniert. Das Display wird schwarz, aber Lüfter laufen weiter und das Gerät freezt. Kann dann nur noch den Shutdown mit gedrücktem Powerbutton forcieren. Getestet habe ich es unter Kernel 6.2.0-26 (default) sowie den neusten Mainline (6.4.11).
 
fonkyflox schrieb:
Linux Mint 21.2 - Kernel 6.4
Eine Anleitung für 120Hz beim internen Display für ein Lenovo IdeaPad 5 Pro 14APH8:


Das Problem: Die edid Prüfsummen vom internen Monitor sind vertauscht.

Diesen Block speicherst Du in eine Datei (bspw. edid-b0rked.txt):
Rich (BBCode):
00 ff ff ff ff ff ff 00 0e 6f 16 14 00 00 00 00
00 20 01 04 b5 1e 13 78 03 21 15 a8 53 49 9c 25
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 ce 87 40 a0 b0 08 6a 70 30 20
36 00 2d bc 10 00 00 18 00 00 00 fd 00 28 78 e5
e5 46 01 0a 20 20 20 20 20 20 00 00 00 fe 00 43
53 4f 54 20 54 33 0a 20 20 20 20 20 00 00 00 fe
00 4d 4e 45 30 30 37 5a 41 31 2d 35 0a 20 01 af

70 13 79 00 00 03 01 14 9a 0f 01 05 3f 0b 9f 00
2f 00 1f 00 07 07 69 00 02 00 05 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 f8 90

Dann führst Du xxd so aus, um wieder einen Binärdatei zu erhalten:
Rich (BBCode):
xxd -r -p edid-b0rked.txt edid.bin

Jetzt kopierst du diese neu generierte edid.bin Datei in folgenden Ordner
Rich (BBCode):
/usr/lib/firmware/edid
das schaut dann so aus: /usr/lib/firmware/edid/edit.bin

Dann lässt du die neue edid.bin Datei als Kernelparameter während dem Bootvorgang laden. Dazu änderst du die Datei
Rich (BBCode):
/etc/default/grub

Finde in der Datei /etc/default/grub folgende Zeile beginnend mit GRUB_CMDLINE_LINUX_DEFAULT und ergänze sie um drm.edid_firmware=edid/edid.bin
Das schaut dann so aus:
Rich (BBCode):
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash drm.edid_firmware=eDP-1:edid/edid.bin"

Danach führe folgenden Befehl aus:
Rich (BBCode):
sudo update-grub

Jetzt kopierst und speicherst du folgendes in die /etc/initramfs-tools/hooks/edid Datei
Rich (BBCode):
#!/bin/sh
if [ -d /lib/firmware/edid ]; then
  cp -r --parents /lib/firmware/edid ${DESTDIR}
fi

Dann änderst du die Rechte

Rich (BBCode):
sudo chmod +x /etc/initramfs-tools/hooks/edid

und dann führst du folgenden Befehl aus

Rich (BBCode):
sudo update-initramfs -u

Jetzt kannst du deinen Laptop neu starten und dann kannst du im Menü unter Display zwischen 60Hz und 120Hz wählen.

Hallo ich habe alle schritte wie sie hier beschrieben sind durchgeführt und es hat nicht funktioniert.
In den System Settings steht "unknown Display default". Die refresh rate liegt bei 93 Hz.
Und es läst sich weder die Auflösung noch die Wiederholrate ändern.

Diesen Block speicherst Du in eine Datei (bspw. edid-b0rked.txt):
Dann führst Du xxd so aus, um wieder einen Binärdatei zu erhalten:
Das hat ohne probleme funktionert.

das schaut dann so aus: /usr/lib/firmware/edid/edit.bin
beim nähsten punkt gab es den Ordner (edid in firmware) und die datei nicht. Ich hatte diese dann erstellt.

Rich (BBCode):
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash drm.edid_firmware=eDP-1:edid/edid.bin"
Keine Probleme bei diesem Punkt.

Danach führe folgenden Befehl aus:
"
Rich (BBCode):
sudo update-grub
"

Hat glaube ich auch funktioniert.


"Jetzt kopierst und speicherst du folgendes in die /etc/initramfs-tools/hooks/edid Datei"

Die edid Datei gab es nicht. ich hatte sie erstellt und nur folgendes reinkopiert:

#!/bin/sh
if [ -d /lib/firmware/edid ]; then
cp -r --parents /lib/firmware/edid ${DESTDIR}
fi

Rich (BBCode):
sudo chmod +x /etc/initramfs-tools/hooks/edid
Rich (BBCode):
sudo update-initramfs -u
Die befehle wurden glaube ich ausgeführt.


Ich nehme an Das Problem liegt an den bei mir fehlenden edid datein? Woher bekomme ich diese?

Beim eingeben des befehls ~$ xrandr --prop --screen 0 kommt folgendes raus:

~$ xrandr --prop --screen 0
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 2560 x 1600, current 2560 x 1600, maximum 2560 x 1600
default connected primary 2560x1600+0+0 0mm x 0mm
_MUTTER_PRESENTATION_OUTPUT: 0
non-desktop: 0
supported: 0, 1
2560x1600 93.00*


Ich benutze zum ersten mal Linux (neuste version von Linux mint) und hab keine Ahnung von nichts.
 
Zurück
Oben