ejolson
Posts: 8581
Joined: Tue Mar 18, 2014 11:47 am

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 3:21 pm

karrika wrote:
Fri Nov 20, 2020 2:13 pm
The result: A Finnish localized Pi 400.
Congratulations! Was it difficult to open the two keyboards? Do they simply snap apart or are there screws that need to be removed first?

User avatar
karrika
Posts: 1317
Joined: Mon Oct 19, 2015 6:21 am
Location: Finland

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 3:28 pm

ejolson wrote:
Fri Nov 20, 2020 3:21 pm
karrika wrote:
Fri Nov 20, 2020 2:13 pm
The result: A Finnish localized Pi 400.
Congratulations! Was it difficult to open the two keyboards? Do they simply snap apart or are there screws that need to be removed first?
You need a fairly thin metal piece. When you look at the plastic you see small red "nails" about 4cm apart around the entire keyboard. When you press directly inwards the keypad snaps away from the bottom. Once the lower part is done you can just use your finders for the rest.

There are no screws on Pi 400. On the keyboard/USB hub module you need to open 3 small screws to detach the ribbon cable.

trejan
Posts: 3840
Joined: Tue Jul 02, 2019 2:28 pm

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 3:38 pm

karrika wrote:
Fri Nov 20, 2020 2:13 pm
The result: A Finnish localized Pi 400.
I'm guessing that it still thinks it is a UK Pi 400 though? What does "hexdump /proc/device-tree/chosen/rpi-country-code" say?

User avatar
HermannSW
Posts: 4806
Joined: Fri Jul 22, 2016 9:09 pm
Location: Eberbach, Germany
Contact: Website Twitter YouTube

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 4:40 pm

I received my Pi400 German keyboard kit 1 day after having learned that German beginners guide is late, and the option of getting German kit with English beginners guide exists.

viewtopic.php?f=140&t=289934&start=525#p1757025
HermannSW wrote:
Sun Nov 08, 2020 10:54 pm
Now putting header over Pi400 GPIO pins is easy, as well as removing -- just pull the Lego piece in middle:
Image
Fits perfectly:
20201120_172156.15%.jpg
20201120_172156.15%.jpg
20201120_172156.15%.jpg (47.62 KiB) Viewed 4067 times

Btw, I had no expectation on the keyboard size -- but it is so small (28.5cm, including a Pi computer), I like it.
(my Logitech keyboard is 47cm long)
Last edited by HermannSW on Fri Nov 20, 2020 4:56 pm, edited 1 time in total.
https://github.com/Hermann-SW/memrun
https://stamm-wilbrandt.de/2wheel_balancing_robot
https://stamm-wilbrandt.de/en#raspcatbot
https://github.com/Hermann-SW/Raspberry_v1_camera_global_external_shutter
https://stamm-wilbrandt.de/en/Raspberry_camera.html

User avatar
pi3g
Authorised Reseller
Authorised Reseller
Posts: 291
Joined: Mon Nov 05, 2012 9:58 pm
Location: Germany
Contact: Website

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 4:49 pm

good idea with the header protection & Lego!
picockpit.com - tools to make your life with the Pi a little bit easier

User avatar
HermannSW
Posts: 4806
Joined: Fri Jul 22, 2016 9:09 pm
Location: Eberbach, Germany
Contact: Website Twitter YouTube

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 5:17 pm

HermannSW wrote:
Thu Nov 05, 2020 12:17 pm
In addition it should fit directly into Pi400 GPIO port as well.
Both products did cost 13$ in total on German amazon prime:
Image
Nice, left one fits perfectly, and now I have 3x40 GPIO pins accessible ...
Installation script found my 5GHz wireless network without issues.
But before doing the big installation I connected ethernet cable as well -- we have 1Gbps cable router here at home since few months ;-)
20201120_180939.15%.jpg
20201120_180939.15%.jpg
20201120_180939.15%.jpg (53.65 KiB) Viewed 4030 times
https://github.com/Hermann-SW/memrun
https://stamm-wilbrandt.de/2wheel_balancing_robot
https://stamm-wilbrandt.de/en#raspcatbot
https://github.com/Hermann-SW/Raspberry_v1_camera_global_external_shutter
https://stamm-wilbrandt.de/en/Raspberry_camera.html

User avatar
karrika
Posts: 1317
Joined: Mon Oct 19, 2015 6:21 am
Location: Finland

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 6:11 pm

trejan wrote:
Fri Nov 20, 2020 3:38 pm
karrika wrote:
Fri Nov 20, 2020 2:13 pm
The result: A Finnish localized Pi 400.
I'm guessing that it still thinks it is a UK Pi 400 though? What does "hexdump /proc/device-tree/chosen/rpi-country-code" say?

Code: Select all

pi@vulkan:~ $ hexdump /proc/device-tree/chosen/rpi-country-code
0000000 0000 0100                              
0000004
pi@vulkan:~ $ 
What does this mean? I did choose Finland as my country. Got WiFi setup to Finnish as well. And the keyboard layout is Finnish. Does the rpi-country-code mean something?

User avatar
FTrevorGowen
Forum Moderator
Forum Moderator
Posts: 6534
Joined: Mon Mar 04, 2013 6:12 pm
Location: Bristol, U.K.
Contact: Website

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 6:31 pm

karrika wrote:
Fri Nov 20, 2020 6:11 pm
trejan wrote:
Fri Nov 20, 2020 3:38 pm
karrika wrote:
Fri Nov 20, 2020 2:13 pm
The result: A Finnish localized Pi 400.
I'm guessing that it still thinks it is a UK Pi 400 though? What does "hexdump /proc/device-tree/chosen/rpi-country-code" say?

Code: Select all

pi@vulkan:~ $ hexdump /proc/device-tree/chosen/rpi-country-code
0000000 0000 0100                              
0000004
pi@vulkan:~ $ 
What does this mean? I did choose Finland as my country. Got WiFi setup to Finnish as well. And the keyboard layout is Finnish. Does the rpi-country-code mean something?
AIUI, the country code leads to "disablement" of (5GHz) WiFi channels that are restricted/illegal in the country specified (and may be other WiFi channel associated things too) as required by certification (of the WiFi module?) for use in the associated country. Totally separate from keyboard layout etc.
Trev.
Still running Raspbian Jessie or Stretch on some older Pi's (an A, B1, 2xB2, B+, P2B, 3xP0, P0W, 2xP3A+, P3B, B+, and a A+) but Buster on the P3B+, P4B's & P400. See: https://www.cpmspectrepi.uk/raspberry_pi/raspiidx.htm

User avatar
mahjongg
Forum Moderator
Forum Moderator
Posts: 14220
Joined: Sun Mar 11, 2012 12:19 am
Location: South Holland, The Netherlands

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 6:32 pm

The keyboard chip (USB keyboard chip inside the RPI400) "knows" what kind of keyboard it is, and will report that information to the Raspberry PI OS, the keyboard top itself only contains switches (in a matrix configuration) though, so if you take a Swedish keyboard (top) and transpose it onto an UK keyboard bottom (or RPI400) then the switches (keyboard layout) change, but NOT the "identity" contained in the USB keyboard scanner chip, so it will still report its an UK keyboard, NOT a Finnish keyboard. I'm not sure you can overrule that by changing software settings.

trejan
Posts: 3840
Joined: Tue Jul 02, 2019 2:28 pm

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 6:35 pm

karrika wrote:
Fri Nov 20, 2020 6:11 pm
Does the rpi-country-code mean something?
The firmware knows what country your Pi 400 is and the rpi-country-code node is how it exposes it to Linux. The piwiz first setup wizard uses that value to automatically select the country specific details like keyboard layout. Your one is still saying it is a UK model even with the Finnish keyboard top. It isn't a major problem since you can override the auto selection and pick Finnish instead.

I was just asking on the very remote chance that it would change when you swapped the keyboard top but it wasn't likely to be done by that. This leaves an OTP register to store it, encoded in pull ups/downs on spare GPIOs and reading the device description string from the keyboard controller which is how it did it on the standalone Pi USB keyboard. The device description string is unlikely as they added extra code to read rpi-country-code.

Code: Select all

/* Keyboard detection */

static int get_pi_keyboard (void)
{
    int val, ret = 0;
    char *res;

    res = get_string ("hexdump -n 1 -e '1/1 \"%d\"' /proc/device-tree/chosen/rpi-country-code 2> /dev/null");
    if (res)
    {
        if (sscanf (res, "%x", &val) == 1) ret = val;
        g_free (res);
        if (ret) return ret;
    }

    res = get_string ("lsusb -v -d 04d9:0006 | grep \"RPI Wired Keyboard\" | rev");
    if (res)
    {
        if (sscanf (res, "%x", &val) == 1) ret = val;
        g_free (res);
    }
    return ret;
}
Last edited by trejan on Fri Nov 20, 2020 6:46 pm, edited 1 time in total.

User avatar
karrika
Posts: 1317
Joined: Mon Oct 19, 2015 6:21 am
Location: Finland

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 6:38 pm

mahjongg wrote:
Fri Nov 20, 2020 6:32 pm
The keyboard chip (USB keyboard chip inside the RPI400) "knows" what kind of keyboard it is, and will report that information to the Raspberry PI OS, the keyboard top itself only contains switches (in a matrix configuration) though, so if you take a Swedish keyboard (top) and transpose it onto an UK keyboard bottom (or RPI400) then the switches (keyboard layout) change, but NOT the "identity" contained in the USB keyboard scanner chip, so it will still report its an UK keyboard, NOT a Finnish keyboard. I'm not sure you can overrule that by changing software settings.
Actually I set up my SSD drive about a week ago with proper WiFi country settings and Finnish keyboard. The Pi 400 just booted happily into this drive and everything just works.
20201120_160302.jpg
20201120_160302.jpg (189.57 KiB) Viewed 3978 times
I also found out that the keyboard has slightly more lag than my USB-gamepad. Playing pinball with the keyboard has perhaps a few more milliseconds lag.

trejan
Posts: 3840
Joined: Tue Jul 02, 2019 2:28 pm

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 6:45 pm

karrika wrote:
Fri Nov 20, 2020 6:38 pm
Actually I set up my SSD drive about a week ago with proper WiFi country settings and Finnish keyboard. The Pi 400 just booted happily into this drive and everything just works.
It is only the piwiz first setup wizard that checks.

User avatar
karrika
Posts: 1317
Joined: Mon Oct 19, 2015 6:21 am
Location: Finland

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 9:53 pm

The Pi 400 seems to run some things in Vulkan ok. But the support for shaders seems to be lacking.
Selected GPU does not support geometry shaders!
Selected GPU does not support tessellation shaders!
scenerender.png
scenerender.png (155.81 KiB) Viewed 3900 times
I was kind of hoping to port some on my retro stuff to the Pi and try my hand at Vulkan...

PS. All the Vulkan demos are really beautiful and the speed is amazing. Really great work. One of my favourites is the "instancing" demo and "texturecubemap". These would be great for some game engines.

Or what do you say about this cute Vulkan render at 47 fps on a Pi 400.
VulkanVenus.png
VulkanVenus.png (201.28 KiB) Viewed 3886 times

User avatar
HermannSW
Posts: 4806
Joined: Fri Jul 22, 2016 9:09 pm
Location: Eberbach, Germany
Contact: Website Twitter YouTube

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 10:59 pm

See this posting for details on my "easy to move anywhere" Pi400 laptop, powered by powerbank that delivers 5V/3A:
viewtopic.php?f=63&t=290622&p=1764745#p1764745
(bill of material at end of that posting, total price 139.50$)
20201120_231711.15%.jpg
20201120_231711.15%.jpg
20201120_231711.15%.jpg (38.99 KiB) Viewed 3880 times
https://github.com/Hermann-SW/memrun
https://stamm-wilbrandt.de/2wheel_balancing_robot
https://stamm-wilbrandt.de/en#raspcatbot
https://github.com/Hermann-SW/Raspberry_v1_camera_global_external_shutter
https://stamm-wilbrandt.de/en/Raspberry_camera.html

User avatar
Gavinmc42
Posts: 6286
Joined: Wed Aug 28, 2013 3:31 am

Re: The Raspberry Pi 400 thread!

Fri Nov 20, 2020 11:58 pm

The Pi 400 seems to run some things in Vulkan ok. But the support for shaders seems to be lacking.
Selected GPU does not support geometry shaders!
Selected GPU does not support tessellation shaders!
Those are coming, I think the guys at Igalia have talked about it?
VulkanSceneGraph works, the OpenGL predecessor OpenSceneGraph is used in some game engines.
So far vsg is the closest thing to a Vulkan game engine I have found that works.

Nice to see you got the demos working, it seems pretty stable.
Zink running on Pi4 is interesting, testing will get faster now?

A nice Pi Screen would be great, would rather use a Pi sourced one to make a portable Pi400 based PC.
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges

User avatar
karrika
Posts: 1317
Joined: Mon Oct 19, 2015 6:21 am
Location: Finland

Re: The Raspberry Pi 400 thread!

Sat Nov 21, 2020 12:02 am

Gavinmc42 wrote:
Fri Nov 20, 2020 11:58 pm
The Pi 400 seems to run some things in Vulkan ok. But the support for shaders seems to be lacking.
Selected GPU does not support geometry shaders!
Selected GPU does not support tessellation shaders!
Those are coming, I think the guys at Igalia have talked about it?
VulkanSceneGraph works, the OpenGL predecessor OpenSceneGraph is used in some game engines.
So far vsg is the closest thing to a Vulkan game engine I have found that works.

Nice to see you got the demos working, it seems pretty stable.
Zink running on Pi4 is interesting, testing will get faster now?

A nice Pi Screen would be great, would rather use a Pi sourced one to make a portable Pi400 based PC.
Getting the shaders is really good news! It opens up a lot of possibilities. Perhaps I should suscribe to some blog to keep myself up-to-date with Iglia? development.

User avatar
Gavinmc42
Posts: 6286
Joined: Wed Aug 28, 2013 3:31 am

Re: The Raspberry Pi 400 thread!

Sat Nov 21, 2020 12:09 am

http://planet.igalia.com/
Also watch the posts in the driver source code.
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges

User avatar
karrika
Posts: 1317
Joined: Mon Oct 19, 2015 6:21 am
Location: Finland

Re: The Raspberry Pi 400 thread!

Sat Nov 21, 2020 12:43 am

Gavinmc42 wrote:
Sat Nov 21, 2020 12:09 am
http://planet.igalia.com/
Also watch the posts in the driver source code.
Thanks! I tried getting into Unreal/Unity. But there is a lot of pre-defined details in the engines and it did not feel right for me. Vulcan on a Pi seems to be a good match for learning to use the primitives of the GPU. You may not need to understand all the special elements found in RTX 3090 or PS5 when you are learning the basics.

I have a simple game in my mind that I could use for learning Vulkan.

User avatar
Gavinmc42
Posts: 6286
Joined: Wed Aug 28, 2013 3:31 am

Re: The Raspberry Pi 400 thread!

Sat Nov 21, 2020 1:40 am

You might want to try compiling Godot 4.0.
I have not had any luck yet but it has Vulkan support.

I have been messing around with Blender 2.79 and Blender for Artists 1.0 for game content.
Come to the conclusion 3D models in glTF on Vulkan is where I want to start making games.
Anything else is too dated for me.
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges

User avatar
karrika
Posts: 1317
Joined: Mon Oct 19, 2015 6:21 am
Location: Finland

Re: The Raspberry Pi 400 thread!

Sat Nov 21, 2020 7:12 am

Gavinmc42 wrote:
Sat Nov 21, 2020 1:40 am
You might want to try compiling Godot 4.0.
I have not had any luck yet but it has Vulkan support.

I have been messing around with Blender 2.79 and Blender for Artists 1.0 for game content.
Come to the conclusion 3D models in glTF on Vulkan is where I want to start making games.
Anything else is too dated for me.
I really love the new GUI in Blender. It would benefit from Vulkan as well. At this point I don't know what kind of language to use. Things happen at the same time. So there is a need to manage things in parallell. The Blender approach with connecting dataflow to processes graphically may be the way to visualize the algorithms. Occam is the best design I know about. But it is dead. Google Go could work as well. I have to take a look at Godot.

Edit: The name Godot is a bit scary. There is a play called "Waiting for Godot" where two guys are waiting for Godot to arrive for the entire play. The audience never gets why they are waiting for him. And I won't spoil the play in telling if he comes or not.

See: https://en.wikipedia.org/wiki/Waiting_for_Godot

Edit2: I have spent some time reading about Godot 4.0. It really sounds as the best choice in the near future. But it really requires shaders support from Vulkan to work.

Edit3: Now I know why it is called Godot. The code is HUGE. I am still waiting for the compilation of the code to finish. This takes hours...

Edit4: I managed to compile Godot 4.0
But running it just throws errors:

Code: Select all

Godot Engine v4.0.dev.custom_build.48049b8d9 - https://godotengine.org
WARNING: v3dv is neither a complete nor a conformant Vulkan implementation. Testing use only.
DisplayServer::_create_window 0 want rect: 448, 240, 1024, 600 got rect 448, 240, 1024, 600
DisplayServer::_window_changed: 0 rect: 450, 270, 1024, 600
Failed to register allocate at 2 threads with any strategy.
Failed to allocate device memory for BO
failed to allocate memory for shader
ERROR: vkCreateComputePipelines failed with error -2.
   at: compute_pipeline_create (drivers/vulkan/rendering_device_vulkan.cpp:5476)
Failed to register allocate at 2 threads with any strategy.
Failed to allocate device memory for BO
failed to allocate memory for shader
ERROR: vkCreateComputePipelines failed with error -2.
   at: compute_pipeline_create (drivers/vulkan/rendering_device_vulkan.cpp:5476)
ERROR: Condition "p_rasterization_state.patch_control_points < 1 || p_rasterization_state.patch_control_points > limits.maxTessellationPatchSize" is true. Returning: RID()
   at: render_pipeline_create (drivers/vulkan/rendering_device_vulkan.cpp:5174)
If you want to replicate this. Then do:

Code: Select all

sudo apt install libvpx-dev clang
cd godot
scons -j4 arch=arm bits=32 platform=linuxbsd use_llvm=yes builtin_libvpx=no
And get a coffee. Or lunch.
Last edited by karrika on Sat Nov 21, 2020 2:13 pm, edited 1 time in total.

User avatar
HermannSW
Posts: 4806
Joined: Fri Jul 22, 2016 9:09 pm
Location: Eberbach, Germany
Contact: Website Twitter YouTube

Re: The Raspberry Pi 400 thread!

Sat Nov 21, 2020 2:03 pm

The Pi mouse cable is long, but I found a nice solution to positively make use of that for right hand side use.
Just one drop of superglue between mouse cable and Pi400 (top left in this photo) ...
mouse_left_drop_superglue.jpg
mouse_left_drop_superglue.jpg
mouse_left_drop_superglue.jpg (40.29 KiB) Viewed 3596 times

... makes cable easily pass through the free space between Pi400 and desk to right side.
Mouse cable could not have been shorter to allow for this:
mouse_left_drop_superglue.2.jpg
mouse_left_drop_superglue.2.jpg
mouse_left_drop_superglue.2.jpg (45.58 KiB) Viewed 3596 times
https://github.com/Hermann-SW/memrun
https://stamm-wilbrandt.de/2wheel_balancing_robot
https://stamm-wilbrandt.de/en#raspcatbot
https://github.com/Hermann-SW/Raspberry_v1_camera_global_external_shutter
https://stamm-wilbrandt.de/en/Raspberry_camera.html

User avatar
HermannSW
Posts: 4806
Joined: Fri Jul 22, 2016 9:09 pm
Location: Eberbach, Germany
Contact: Website Twitter YouTube

Re: The Raspberry Pi 400 thread!

Sat Nov 21, 2020 3:51 pm

Did a major rework of how displays, display controller and manual control are connected to wooden board.
Backside is very clean now, see:
viewtopic.php?f=140&t=290622&p=1765061#p1765061

Now the front of "easy to move anywhere" Pi400 laptop (photo captured in myGardenOffice) looks absolutely clean cable wise (with mouse cable hidden as described in previous posting). With Lego GPIO header protection described before, only unused connectors on Pi400 backside are 2nd HDMI connector, two USB3 connectors, ethernet connector and Kensington lock hole:
20201121_152136.15%.jpg
20201121_152136.15%.jpg
20201121_152136.15%.jpg (47.6 KiB) Viewed 3557 times
https://github.com/Hermann-SW/memrun
https://stamm-wilbrandt.de/2wheel_balancing_robot
https://stamm-wilbrandt.de/en#raspcatbot
https://github.com/Hermann-SW/Raspberry_v1_camera_global_external_shutter
https://stamm-wilbrandt.de/en/Raspberry_camera.html

ejolson
Posts: 8581
Joined: Tue Mar 18, 2014 11:47 am

Re: The Raspberry Pi 400 thread!

Sat Nov 21, 2020 5:44 pm

HermannSW wrote:
Sat Nov 21, 2020 3:51 pm
Did a major rework of how displays, display controller and manual control are connected to wooden board.
Backside is very clean now, see:
viewtopic.php?f=140&t=290622&p=1765061#p1765061

Now the front of "easy to move anywhere" Pi400 laptop (photo captured in myGardenOffice) looks absolutely clean cable wise (with mouse cable hidden as described in previous posting). With Lego GPIO header protection described before, only unused connectors on Pi400 backside are 2nd HDMI connector, two USB3 connectors, ethernet connector and Kensington lock hole:
20201121_152136.15%.jpg
Why are there near concentric circles drawn in black on the wood under the lower left corner of the screen?

gordon77
Posts: 6101
Joined: Sun Aug 05, 2012 3:12 pm

Re: The Raspberry Pi 400 thread!

Sat Nov 21, 2020 6:39 pm

I use a wireless mouse to reduce cables...works fine

https://cpc.farnell.com/trust/19522/mou ... -0EALw_wcB

User avatar
HermannSW
Posts: 4806
Joined: Fri Jul 22, 2016 9:09 pm
Location: Eberbach, Germany
Contact: Website Twitter YouTube

Re: The Raspberry Pi 400 thread!

Sat Nov 21, 2020 8:51 pm

ejolson wrote:
Sat Nov 21, 2020 5:44 pm
Why are there near concentric circles drawn in black on the wood under the lower left corner of the screen?
Two years ago I developed a payload drop mechanism for a drone, added ESP8266 with wireless channel that could be signaled to drop payload.

The concentric circles were my first attempt to create a payload drop target -- they were too ugly.
So I printed professional target on the backside of the wood and did my videos/tests with that.
Later I removed the printed paper and used that wood as basis for my WoodenBoardPi, later did cut in half for using one half with WoodenBoardPi, and the other for 9" 1024x600 HDMI display. So the circles are there for historical reasons only.

https://www.esp8266.com/viewtopic.php?f ... =20#p78604
Image


You can see leftover of that paper target along where I glued it 2 years ago on the backside of Pi400 laptop display:
Image
https://github.com/Hermann-SW/memrun
https://stamm-wilbrandt.de/2wheel_balancing_robot
https://stamm-wilbrandt.de/en#raspcatbot
https://github.com/Hermann-SW/Raspberry_v1_camera_global_external_shutter
https://stamm-wilbrandt.de/en/Raspberry_camera.html

Return to “Raspberry Pi 400”