I edited /etc/x11/xinit/xinitrc and added that code there. Nothing started up.
Here is how the folder looks with my regular autostart entries:
$ ls -al ~/.config/autostart
total 36
drwxr-xr-x 2 user user 4096 Sep 30 13:57 .
drwxr-xr-x 144 user user 12288 Sep 30 13:57 ..
-rw-r--r-- 1 user user 244 Jun 4 15:00 com.nextcloud.desktopclient.nextcloud.desktop
-rw-r--r-- 1 user user 1661 Jul 11 02:37 lxpolkit.desktop
-rw------- 1 user user 110 Sep 30 03:18 'PipeWire Media System.desktop'
-rw------- 1 user user 109 Sep 30 03:19 pipewire-pulse.desktop
-rw------- 1 user user 103 Sep 30 03:19 wireplumber.desktop
Here is how it looks with startup script:
$ ls -al ~/.config/autostart
total 28
drwxr-xr-x 2 user user 4096 Sep 30 14:02 .
drwxr-xr-x 144 user user 12288 Sep 30 14:07 ..
-rw-r--r-- 1 user user 244 Jun 4 15:00 com.nextcloud.desktopclient.nextcloud.desktop
-rw-r--r-- 1 user user 1661 Jul 11 02:37 lxpolkit.desktop
-rw------- 1 user user 117 Sep 30 14:02 startup.desktop
Here is what happens if I run the startup script in terminal (it works):
$ sh ~/startup
[0:01:06.525906760] [4741] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:01:06.525921985] [4741] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:01:06.525950131] [4741] INFO Camera camera_manager.cpp:284 libcamera v0.1.0
M 14:05:34.532637 m-lua-scripting ../wireplumber/modules/module-lua-scripting/api/api.c:376:object_activate_done: <WpSiAudioAdapter:0x55e6cefbc960> Object activation aborted: proxy destroyed
M 14:05:34.532683 script/create-item create-item.lua:80:chunk: <WpSiAudioAdapter:0x55e6cefbc960> failed to activate item: Object activation aborted: proxy destroyed
Made ~/.xprofile with this:
/usr/bin/pipewire &
/usr/bin/pipewire-pulse &
/usr/bin/wireplumber
at reboot, this did nothing.