I'm super happy to share, that the #Fairphone (Gen. 6) was just announced, and we've been able to already publish a lot of code for it!

* #postmarketOS support is submitted
* 59(!) patches were sent to bring up upstream #Linux on the SM7635 SoC and enable the device.
* The stock Android source code is public on code.fairphone.com

This has been a lot of work over the last couple of months so it's awesome to finally be able to share it!

@z3ntu give us the 120hz GNOME mobile demo!!!!!

fr though congrats! it is frankly incredible how you manage to get all of this working and orchestrate all the patches to be ready to go during the launch 🚀

@cas Uhm, mdss not working yet so simple-framebuffer + softpipe is more laggy than not. But Phosh is still surprisingly usable haha
@z3ntu
Out of curiosity:
Could vrr work and how hard would it be to get it running?
@cas

@homo_particeps Variable refresh rate? I honestly don't know. For FP5 I know that at least the panel can switch between 60 Hz and 90 Hz but we just hardcode the sequence in the upstream driver to 90 Hz. Not sure if all the plumbing exists already to support this variable refresh rate.

@cas do you have any idea?

@z3ntu @homo_particeps i think it's panel specific, on the Galaxy S23 all you have to do is change the timings and the panel will follow afaict, but idk to what precision

not sure what the kernel API is but i assume we could at least expose modes for all the supported refresh rates, then there's probably a flag to indicate that the mode can be changed without blanking

@drakulix knows how that works on the DRM side, maybe we can experiment with it on the S23

@cas @z3ntu @homo_particeps @drakulix this is already done upstream in the driver for Spacewar iirc
@cas @z3ntu @homo_particeps @drakulix though I think that still blanks (?) not sure

@adrianyyy @z3ntu @homo_particeps @drakulix i think you need to somehow inform the drm subsystem that you can do non-blanking mode switches, and it might need support at the DSI controller layer to actually do such switches dynamically

INADRMDEV but it's possible that the default flow for mode switches involves resetting the panel and the non-blanking flow needs different code, also cc @lumag for that