Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only native resolution listed for internal panel #949

Open
marmarek opened this issue Jul 12, 2024 · 19 comments
Open

Only native resolution listed for internal panel #949

marmarek opened this issue Jul 12, 2024 · 19 comments
Labels

Comments

@marmarek
Copy link

Component

Dasharo firmware

Device

NovaCustom V54 14th Gen

Dasharo version

0.9.0-rc7

Dasharo Tools Suite version

No response

Test case ID

No response

Brief summary

xrandr lists only 2880x1800 resolution

How reproducible

always

How to reproduce

Boot Linux on v540tu with 2880x1800 panel and call xrandr.

Expected behavior

A wide range of resolutions available, similar to other models.
For example on v560tu with 1920x1200 panel I get:

eDP-1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 344mm x 215mm
   1920x1200    165.00*+  60.00    59.88    59.95  
   1920x1080     60.01    59.97    59.96    59.93  
   1600x1200     85.00    75.00    70.00    65.00    60.00  
   1680x1050     59.95    59.88  
   1400x1050     74.76    59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     85.02    75.02    60.02  
   1400x900      59.96    59.88  
   1280x960      85.00    60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1280x800      59.99    59.97    59.81    59.91  
   1152x864      75.00  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      85.00    75.05    60.04    85.00    75.03    70.07    60.00  
   1024x768i     86.96  
   960x720       85.00    75.00    60.00  
   928x696       75.00    60.05  
   896x672       75.05    60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   832x624       74.55  
   960x540       59.96    59.99    59.63    59.82  
   800x600       85.00    75.00    70.00    65.00    60.00    85.14    72.19    75.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   700x525       74.76    59.98  
   800x450       59.95    59.82  
   640x512       85.02    75.02    60.02  
   700x450       59.96    59.88  
   640x480       85.09    60.00    85.01    72.81    75.00    59.94  
   720x405       59.51    58.99  
   720x400       85.04  
   684x384       59.88    59.85  
   640x400       59.88    59.98    85.08  
   576x432       75.00  
   640x360       59.86    59.83    59.84    59.32  
   640x350       85.08  
   512x384       85.00    75.03    70.07    60.00  
   512x384i      87.06  
   512x288       60.00    59.92  
   416x312       74.66  
   480x270       59.63    59.82  
   400x300       85.27    72.19    75.12    60.32    56.34  
   432x243       59.92    59.57  
   320x240       85.18    72.81    75.00    60.05  
   360x202       59.51    59.13  
   360x200       85.04  
   320x200       85.27  
   320x180       59.84    59.32  
   320x175       85.27  

EDID for this one is:

00ffffffffffff000dae161600000000
22200104a522167803ee95a3544c9926
0f505400000001010101010101010101
01010101010126ae80a070b063403020
a60058d71000001826ae80a070b04449
3020a60058d710000018000000fd003c
a5d7d72d010a202020202020000000fe
004e3136304a4d452d4754310a2001df
70207902002b000627003ca400008100
13721a000003013ca5000000000000a5
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000008390

Actual behavior

eDP-1 connected 2880x1800+1024+0 (normal left inverted right x axis y axis) 300mm x 190mm
   2880x1800    120.00*+  60.00 +

EDID for this panel looks like this:

00ffffffffffff0051b8042000000000
28200104a51e13780766e5a3534c9824
10505400000001010101010101010101
010101010101978640a0b00859703020
36002cbe10000018000000fd003c78fc
fc55000a20202020202000000010000a
202020202020202020202020000000fc
00544c3134304144585032342d300190
70127900000301142e0d01853f0b9f00
2f001f0007075800020005002b000627
003c78000081001ee3058000e6060701
606023721a000003033c780004602360
23780000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000004690

Screenshots

No response

Additional context

This breaks mirroring screen to external display (or a projector) of any other resolution.

Solutions you've tried

No response

@marmarek marmarek added bug Something isn't working needs review labels Jul 12, 2024
@github-actions github-actions bot added firmware novacustom_v54_mtl NovaCustom V54 Series labels Jul 12, 2024
@aker256
Copy link

aker256 commented Sep 6, 2024

I don't seem to have this issue on stable firmware release (v0.9.0 for V54).

Screen 0: minimum 16 x 16, current 2880 x 1800, maximum 32767 x 32767
eDP-1 connected primary 2880x1800+0+0 (normal left inverted right x axis y axis) 300mm x 190mm
   2880x1800     59.97*+
   2048x1536     59.95  
   1920x1440     59.97  
   1600x1200     59.87  
   1440x1080     59.99  
   1400x1050     59.98  
   1280x1024     59.89  
   1280x960      59.94  
   1152x864      59.96  
   1024x768      59.92  
   800x600       59.86  
   640x480       59.38  
   320x240       59.52  
   2560x1600     59.99  
   1920x1200     59.88  
   1680x1050     59.95  
   1440x900      59.89  
   1280x800      59.81  
   1152x720      59.97  
   960x600       59.63  
   928x580       59.88  
   800x500       59.50  
   768x480       59.90  
   720x480       59.71  
   640x400       59.95  
   320x200       58.96  
   2880x1620     59.96  
   2560x1440     59.96  
   2048x1152     59.90  
   1920x1080     59.96  
   1600x900      59.95  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.92  
   720x400       59.55  
   640x350       59.77

@marmarek
Copy link
Author

marmarek commented Sep 6, 2024

Can you provide more details about your setup? I re-checked with final 0.9.0 and still can see only 2800x1800. What distribution, which kernel version? In my case I tried Qubes OS, with Linux 6.10.3, and also the same kernel without Xen underneath.

@aker256
Copy link

aker256 commented Sep 6, 2024

I am using Fedora Linux with 6.10.7 kernel.

@marmarek
Copy link
Author

marmarek commented Sep 7, 2024

I tried 6.10.7 on Qubes OS, and still only native resolution is available.
Then I installed Fedora 40 (Xfce spin), installed all updates (including 6.10.7-200.fc40 kernel) and (after reboot) I still see only 2880x1800 resolution...

Maybe it's about specific panel model? It should be the same in all V540TU but who knows... It can be found in /var/log/Xorg.0.log, mine is Monitor name: TL140ADXP24-0.

@aker256
Copy link

aker256 commented Sep 7, 2024

I see. Maybe it is an issue with X Window System, since I am using KDE desktop environment, and the file you mentioned is not on my system.

@marmarek
Copy link
Author

marmarek commented Sep 7, 2024

In KDE indeed I see more resolutions available. I wonder what is the difference compared to V560TU...

@marmarek
Copy link
Author

marmarek commented Sep 8, 2024

Ok, so I have two findings:

  1. It seems like "resolution" setting in Wayland is done differently. Specifically, it doesn't really change resolution in the driver, but does appropriate scaling in userspace (likely asking GPU to do actual computation). I guess for the LCD panel it makes sense, the physical pixel layout is static after all :) So, regardless of what resolutions are reported by the driver, software will see all of them anyway. Apparently this functionality isn't available in Xorg modeset driver (or at least not always is enabled).
  2. It is definitely about EDID. When I take EDID from V560TU and give it to the driver in V540TU (using drm.edid_firmware= kernel option), the it does list multiple resolutions (not very useful as timings and native one doesn't match, but still).

@marmarek
Copy link
Author

marmarek commented Sep 9, 2024

@aker256 are you able to set 120Hz refresh rate? The panel seems to support that, but I don't see it on your listing.

@aker256
Copy link

aker256 commented Sep 9, 2024

Yes, but I must do so through the settings application. Here is the output of xrandr after doing so:

Screen 0: minimum 16 x 16, current 2880 x 1800, maximum 32767 x 32767
eDP-1 connected primary 2880x1800+0+0 (normal left inverted right x axis y axis) 300mm x 190mm
   2880x1800    119.96*+
   2048x1536    119.95  
   1920x1440    119.97  
   1600x1200    119.82  
   1440x1080    119.92  
   1400x1050    119.90  
   1280x1024    119.83  
   1280x960     119.89  
   1152x864     119.77  
   1024x768     119.80  
   800x600      119.85  
   640x480      119.52  
   320x240      117.34  
   2560x1600    119.93  
   1920x1200    119.90  
   1680x1050    119.89  
   1440x900     119.94  
   1280x800     119.85  
   1152x720     119.73  
   960x600      119.74  
   928x580      119.55  
   800x500      119.47  
   768x480      119.71  
   720x480      119.65  
   640x400      119.64  
   320x200      117.55  
   2880x1620    119.95  
   2560x1440    119.95  
   2048x1152    119.96  
   1920x1080    119.93  
   1600x900     119.95  
   1368x768     119.83  
   1280x720     119.86  
   1024x576     119.85  
   864x486      119.69  
   720x400      119.54  
   640x350      119.24

@pietrushnic
Copy link

Maybe it's about specific panel model? It should be the same in all V540TU but who knows... It can be found in /var/log/Xorg.0.log, mine is Monitor name: TL140ADXP24-0

I have the same model and the same issue.

It is definitely about EDID. When I take EDID from V560TU and give it to the driver in V540TU (using drm.edid_firmware= kernel option), the it does list multiple resolutions (not very useful as timings and native one doesn't match, but still).

How do you set that? Is it according to the EDID you enumerated? It would be great to know how to set that up so I could use it for screen sharing and decrease resolution since it is very hard to read anything.

@marmarek
Copy link
Author

Modified edid:
edid.zip

So, this is how to do it:

  1. Take the attached edid and copy to /lib/firmware/edid (create the dir)
  2. Add drm.edid_firmware=eDP-1:edid/v540tu_rangeonly60.bin to linux options (/etc/default/grub)
  3. Regenerate grub config: grub2-mkconfig -o /boot/grub2/grub.cfg
  4. Add /etc/dracut.conf.d/edid.conf with install_items+=" /lib/firmware/edid/* " (be careful about spaces - do exactly like here)
  5. Regenerate initramfs: dracut -f
  6. Reboot

Now you should be able to set 2880x1800 with 120Hz and any other resolution with 60Hz (some are listed also with other refresh rates, but those will not work).

@pietrushnic
Copy link

@marmarek yes, it works thank you. Couple small corrections if one would like to follow the same.

  • sha256sum of the files is:
07393931ef6a7f2538fba3be242c6b1cca2e9d3bf0f50f0772d61ccb63df8e7a  edid_v540tu_rangeonly60.bin
  • correct command for /etc/default/grub is drm.edid_firmware=eDP-1:edid/edid_v540tu_rangeonly60.bin unless you change file from zip
  • vt540tu seem to care only about 16:10 resolutions, other does not make much sense

I still have to test that with external projector/tv to see how it works and it doesn't cause additional issues.

@marmarek
Copy link
Author

vt540tu seem to care only about 16:10 resolutions, other does not make much sense

You may need other resolutions (even if result in some areas on your screen being black) if you want for example to mirror with 16:9 projector or so.

@marmarek
Copy link
Author

Since the issue happens in Xorg but not in Wayland, I've reported it at https://gitlab.freedesktop.org/xorg/xserver/-/issues/1761

marmarek added a commit to QubesOS/qubes-builderv2 that referenced this issue Dec 7, 2024
Add a package with a patch for NovaCustom V54 resolution issue

Dasharo/dasharo-issues#949
marmarek added a commit to QubesOS/qubes-xorg-x11-server that referenced this issue Dec 8, 2024
Dasharo/dasharo-issues#949

This also needs a backport to correctly calculate refresh rate.
@marmarek
Copy link
Author

marmarek commented Dec 8, 2024

@pietrushnic I have an update that hopefully fixes this issue without extra user changes. Can you check if it works for you too?

  1. Install updates from current-testing (if you don't want all of them, just pull xorg-* packages: qubes-dom0-update --action=update --enablerepo=qubes-dom0-current-testing 'xorg-*').
  2. Remove the current workaround (drop the drm.edid_firmware option)
  3. Reboot

@marmarek
Copy link
Author

marmarek commented Dec 8, 2024

As for the "fix", it isn't clean fix unfortunately (see commit linked to this issue above). But with the help from upstream and few more people from the community, I found the right place to put "if Novacustom V54" check...

@pietrushnic
Copy link

I confirmed it works correctly. What I did:

  1. Made the update from current testing of all packages it recommended
  2. Removed line from grub config in etc. and regenerated grub.cfg, removed dracut edid config and regenerated dracut, then rebooted
  3. Additional resolutions are still present in the display configuration.

@marmarek
Copy link
Author

marmarek commented Dec 9, 2024

@wessel-novacustom do you have list of all display models used in V54? Currently in the patch I hardcoded the check to "TMX 8196" (vendor, model number) - that's how the one I have is presented. Is that the only model, or maybe there are some others too?

@wessel-novacustom
Copy link

@wessel-novacustom do you have list of all display models used in V54? Currently in the patch I hardcoded the check to "TMX 8196" (vendor, model number) - that's how the one I have is presented. Is that the only model, or maybe there are some others too?

@marmarek The only panel we are currently offering for this laptop series is: TIANMA TL140ADXP24-00

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants
@marmarek @pietrushnic @macpijan @wessel-novacustom @aker256 and others