Hi Cameron,

I didn't go upstream yet. I suppose upstream bugs should be filed to the
Intel Open Source Technology Center (https://01.org/), but I'm not sure.
Or maybe to the Linux kernel since it's an in-tree module after all...

From what I understand, the Intel module fails to switch to anything
else than the refreshing rate that's on the preferred (i.e. first
mentioned on EDID) DTD.

However, it seems to me the first DTD usually has the highest refresh
rate, which makes your problem strange. Could that mean the 60 Hz DTD is
the preferred one on your laptop's panel, despite it being able to go up
to 135 Hz ?

Also, are you sure you're using true Xorg, not Xorg on Wayland ? Bcos on
any readings on the latter would be mostly irrelevant as they don't
necessary reflect the reality (Xorg on Wayland being only a
compatibility layer). From what I've seen, when asking for a reduced
refresh rate, even if it fails, Wayland seems to try to near the target
refresh rate by syncing frames to a factor of the effective refresh
rate. That's why on a previous post, when trying to get 60Hz on my
144Hz-capable monitor, I was getting 72 fps with glxgears... But in your
case of trying to get 135 from an effective 60, Wayland surely can't do
this trick.

Anyway, you can get the EDID from sysfs easily. On my current config,
mine is in /sys/class/drm/card0-eDP-1/edid. You should have something
similar. To quicky decode the EDID, you can use edid-decode (from the
edid-decode package), most basically like this :

edid-decode /sys/class/drm/card0-eDP-1/edid

Then you can create a modified, hex-edited EDID file, with the two DTDs 
swapped, put it somewhere under the /lib/firmware directory and add the 
following in a file inside /etc/modprobe.d :
options drm edid_firmware=eDP-1:mydir/myedid.bin

eDP-1 is your connector name, for me it's eDP-1 but for you it can be
something else. You can also omit "eDP-1:", in which case the EDID will
apply to all connectors. While I didn't check myself, I suppose it will
be a problem if you plug your laptop on an external monitor.

Also, if the module is loaded while the system is still on the initramfs, it 
won't work since your modified EDID won't be there, hence you will have to add 
it with an initramfs hook in /etc/initramfs-tools/hooks. The file should look 
like this :
--- File starts after this line -----
#!/bin/sh

PREREQ=""

prereqs () {
        echo "$PREREQ"
}

case "$1" in
        prereqs)
                prereqs
                exit 0
                ;;
esac

. /usr/share/initramfs-tools/hook-functions

copy_file edid /lib/firmware/mydir/myedid.bin
----- File ends before this line -----

Make the file belong to root:root and mode 555 (readable/executable by
all). You should then update your initramfs with update-initramfs -u (to
update the initramfs for the current running kernel) or update-initramfs
-u -k all (to update for all installed kernels, or you can specify a
kernel). And reboot...

Hope this helps !

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1848746

Title:
  Refresh rate change requests to 40Hz are "adjusted" back to 60Hz

Status in linux package in Ubuntu:
  Confirmed

Bug description:
  Dear Launchpad readers,

  Changes to a 40Hz-based mode are adjusted back to a 60Hz display mode
  by KMS, as can be seen in the logs with the drm.debug=4 option :

  oct. 18 16:27:24 NovHak-P2 kernel: [drm:intel_dump_pipe_config [i915]] 
requested mode:
  oct. 18 16:27:24 NovHak-P2 kernel: [drm:drm_mode_debug_printmodeline [drm]] 
Modeline 0:"" 0 92450 1920 1968 2000 2080 1080 1083 1088 1111 0x0 0x9
  oct. 18 16:27:24 NovHak-P2 kernel: [drm:intel_dump_pipe_config [i915]] 
adjusted mode:
  oct. 18 16:27:24 NovHak-P2 kernel: [drm:drm_mode_debug_printmodeline [drm]] 
Modeline 0:"1920x1080" 60 140490 1920 1972 2007 2094 1080 1083 1089 1118 0x48 
0x9

  I managed to have 40Hz through EDID modification, swapping the two
  DTDs it contains, one being 60Hz, the other 40Hz, hence placing the
  40Hz DTD first, but then it remains sticked to 40Hz and unable to
  switch to a 60Hz mode.

  I suppose the bug is i915-related rather than Xorg-related, since the
  modelines seem correctly sent for KMS.

  I can provide additional information if needed.

  ProblemType: Bug
  DistroRelease: Ubuntu 19.04
  Package: linux-image-generic 5.0.0.32.33
  ProcVersionSignature: Ubuntu 5.0.0-32.34-generic 5.0.21
  Uname: Linux 5.0.0-32-generic x86_64
  ApportVersion: 2.20.10-0ubuntu27.1
  Architecture: amd64
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/controlC2:  olivier   12097 F.... pulseaudio
   /dev/snd/controlC0:  olivier   12097 F.... pulseaudio
   /dev/snd/controlC1:  olivier   12097 F.... pulseaudio
  CurrentDesktop: ubuntu:GNOME
  Date: Fri Oct 18 16:43:01 2019
  InstallationDate: Installed on 2019-09-22 (26 days ago)
  InstallationMedia: Ubuntu 19.04 "Disco Dingo" - Release amd64 (20190416)
  MachineType: Notebook P17SM-A
  ProcEnviron:
   TERM=xterm-256color
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=fr_FR.UTF-8
   SHELL=/bin/bash
  ProcFB: 0 inteldrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.0.0-32-generic 
root=UUID=788f8a5e-9667-4cfb-abf4-bc76ebcb86bb ro quiet splash 
mtrr_spare_reg_nr=0 vt.handoff=1
  RelatedPackageVersions:
   linux-restricted-modules-5.0.0-32-generic N/A
   linux-backports-modules-5.0.0-32-generic  N/A
   linux-firmware                            1.178.3
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 03/27/2014
  dmi.bios.vendor: American Megatrends Inc.
  dmi.bios.version: 4.6.5
  dmi.board.asset.tag: Tag 12345
  dmi.board.name: P17SM-A
  dmi.board.vendor: Notebook
  dmi.board.version: Not Applicable
  dmi.chassis.asset.tag: To Be Filled By O.E.M.
  dmi.chassis.type: 3
  dmi.chassis.vendor: To Be Filled By O.E.M.
  dmi.chassis.version: To Be Filled By O.E.M.
  dmi.modalias: 
dmi:bvnAmericanMegatrendsInc.:bvr4.6.5:bd03/27/2014:svnNotebook:pnP17SM-A:pvrNotApplicable:rvnNotebook:rnP17SM-A:rvrNotApplicable:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
  dmi.product.family: Not Applicable
  dmi.product.name: P17SM-A
  dmi.product.sku: Not Applicable
  dmi.product.version: Not Applicable
  dmi.sys.vendor: Notebook

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1848746/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to