raspberrypi/noobs

Screen resolution can not be set with vc4-kms-v3d

audas opened this issue · 15 comments

audas commented

Newest driver vc4-kms-v3d and latest OS distribution and firmware remove the ability to set the resolution via the Screen resolution on the main drop down, and also via the raspi-config.

Happy to provide information about the issues if anyone interested.

lurch commented

I assume you mean Raspberry Pi OS, rather than NOOBS? (NOOBS is basically just the OS "installer")

audas commented

Oh ok - I tried raising this on raspberry/linux but they just closed the thread. I am unsure where to raise it sorry - it deals with both the firmware and operating system. The new firmware when dealing with the new driver is handled by the kernel - so the old firmware people have no interest - but the new kernel people don't think its their issue either - or more specifically not being able to set the resolution is a problem.

Newest driver vc4-kms-v3d and latest OS distribution and firmware remove the ability to set the resolution via the Screen
resolution on the main drop down

Suggest that you are a little bit more specific what "main drop down" of what program no longer works.

"Pi icon" -> "Preferences" -> "Screen Configuration" ?
Think that lives in this repository: https://github.com/raspberrypi-ui/arandr

audas commented

Newest driver vc4-kms-v3d and latest OS distribution and firmware remove the ability to set the resolution via the Screen
resolution on the main drop down

Suggest that you are a little bit more specific what "main drop down" of what program no longer works.

"Pi icon" -> "Preferences" -> "Screen Configuration" ?
Think that lives in this repository: https://github.com/raspberrypi-ui/arandr

Yes - this is the one. Also if you go into raspi-config there is normally the ability to set resolution there as well - this is also removed.

I will post this on the above link thanks.

Edit:

Turns out there is no support for changing the resolution with the new driver. Ok. Fair enough.

Turns out there is no support for changing the resolution with the new driver. Ok. Fair enough.

Don't really know what you mean by that. "Pi icon" -> "Preferences" -> "Screen Configuration" (internally arandr)
is a standard linux tool for changing display resolution and refresh rate. I used it regularly for fkms and kms drivers and it works as expected.

Apparently Simon thinks it is broken as well though: raspberrypi-ui/arandr#1

@popcornmix

Broken for me as well.
With fkms I can change my screen to 800x600 through arandr:

20210305_135724

With kms after selecting new resolution and pressing apply, no signal:

20210305_135954

/sys/class/drm/card0/card0-HDMI-A-2/edid in case relevant: edid.zip

@maxnet that really is a different issue.
You are able to set the screen resolution, but a specific one (800x600) is not producing the correct timings on kms vs fkms.
An issue here would be more suitable.

You are able to set the screen resolution, but a specific one (800x600) is not producing the correct timings on kms vs fkms.

That was not the case.
Occurred on multiple resolutions, and my monitor is known to give "Input not supported" instead of "No signal" if it receives data with unsupported timings.

Anyway.
Problem is present in the kernel you ship with your January 2021 RPI OS image, but no longer in 5.10.20 which you get when you "sudo rpi-update".

You don't need rpi-update for 5.10 kernel. apt contains that. kms has never been considered usable on the 5.4 kernel.

audas commented

For me this is on the latest kernel, latest os with kms. I can change the driver in the config, reboot and it dissapears, reappears. (Did a full update upgrade).

I am able to use arandr via python calls to extract screen resolutions.

Not sure if tvservice is used anywhere but this no longer works at all with new driver.

I am able to use arandr via python calls to extract screen resolutions.

I am assuming you mean xrandr here.
arandr is what is under "Pi icon" -> "Preferences" -> "Screen Configuration", and you claimed that did not work. Right?

Not sure if tvservice is used anywhere but this no longer works at all with new driver.

What happens if you type "arandr" on the terminal?
Nothing starts? No console output either?

audas commented

Ok that brings it straight up - showing the GUI with screen/s and resolution options.

And also you are correct regarding python -

from Xlib import display
from Xlib.ext import randr

Ok that brings it straight up - showing the GUI with screen/s and resolution options.

And it did not do that when you tried to start it through the menu?

audas commented

Screen configuration used to appear - now screen saver appears (I can't remember what iterations this was) - here is a url which shows how it used to appear on the panel.

https://pimylifeup.com/raspberry-pi-screen-resolution/

If you notice further down it also shows the raspi-config tool being used - this no longer appears either.

The raspi-config tool appears to show CEA in that image to my mind it may have been using the tvservice -l (I have no idea and very limited experience on these things).

Edit:

As noted ? tvservice does not work with the new driver (kms)