I have figured out a config for Torvalds upstream kernel on the pi4 and I have tested it on my pi4 4G & 8G booting on a sdcard and my usb M.2 usb adapter. I am providing this so one can see where upstream is at with the pi4 64bit kernel so if you like to test; try it out.
Notes:
Although my usb MSD booted ok I have no clue how others will do like some use quirks= in /boot/cmdline.txt for example. your old cmdline.txt will be saved as cmdline.txt.pacsave if you need to reference it. Also the old config.txt will be saved as config.txt.pacsave if you need to find your custom monitor settings.
Upstream does not have V3D yet so there is not gpu acceleration but the performance is not really all that bad.
Upstream does not build overlays so if you have been enabling any overlays in config.txt they will not work.
I have never been able to boot on my pi4 with the RPi kernel with out specifying a custom config for my VIZIO tv but with this upstream kernel It will boot with out the custom config but it boots with 1920x1080 which I do not like so I still use my custom config so I can have 1366x768. There is no option in the Monitor Settings to change it in the desktop. When I get time I will create a custom edid.dat file and load it at boot and see if I get any choices to change the resolution. If and when they have V3d then this may not be an issue.
My second monitor died so I am not able to test to see if or how 2 monitors work but with out V3d if they do work it may not work in extended mode like our current RPi kernels do.
This package will provide new /boot config.txt and cmdline.txt files and remove the /boot/overlays directory and of course will provide the new kernel/modules and bcm2711-rpi4.dtb. You can edit /boot/config.txt and provide your overclocking. I have my overclocking there but have it disabled. It works but I have no clue if higher values will work with this upstream kernel.
Install (DO NOT LEAVE OUT ANY STEPS BELOW):
Download tarball and unpack and install the kernel and headers.
DO NOT REBOOT!
sudo pacman -S xf86-video-fbturbo-git
As of right now the upstream will not recognize root=LABEL=ROOT_MNJRO at boot so it needs to be changed to root=PARTUUID=. As a place holder I have my
root=PARTUUID=81435af5-02 as a place holder but it has to be changed to what your
PARTUUID for your root device. To get it run:
sudo blkid /dev/mmcblk0p2 for sdcard or sudo blkid /dev/sda2 for usb drive
Look for the PARTUUID="???" value and replace my value with it in /boot/comdline.txt. (with out the quotes)
Reboot the pi and at boot you should see 4 penguins instead of 4 raspberry’s
To go back to what kernel you had previously just reinstall the kernel you were running.
ADDED: Uninstall xf86-video-fbturbo-git and reboot.
This upstream kernel is the latest they committed last Sunday.
md5sum:
02b34d2fb4c05307c7a2838e7f413631 linux-rpi4-upstream_590-rc5.tar
https://drive.google.com/file/d/1N4ILAIOlVwpiSWYOAjKRX0tOfmzggENP/view?usp=sharing