Edit: I have two suggestions:1. Offer a wireless controller option as well (paired with your BT dongle). I presume you're reselling the controllers and that they are not an original build. You should test/recommend/sell a wireless variant as well2. You should test and maybe add an extra hole/detachable plastic clip so that one can add a noctua fan on top. You can do it as is, but I'm not sure how to lide the connector inside without breaking the plastic.

Last edited by mad_ady on Tue May 15, 2018 4:39 am, edited 1 time in total.

Lol this is awesome, I just hope Nintendo doesn't see this and say sease and desist @Odroid you may want to recommend removing "Nintendo" logos and the Mario kart screen shot. Even though your not making the means to have illegal ROMs your advertising that your device is a means use them. Which puts you kinda in the same realm as Kodi.

I have already played around with it a lot, the display mainly it can easily archive 44 fps ( not optimized ) on 3D graphics, i will release some tools soon to display shaders, OSD Messages, videos and pictures on it.

Some preview videos, the video quality is not the best, sorry for that

Here's a wild idea. While its main purpose is to run ogst, it could also be a multiboot system with the user button acting as a toggle between linux/android on boot. Maybe the lcd will never work with android, but it shouldn't be a problem as long as the controller can be used for most android games. This way you can have a retro console and a fairly modern android play system.

mad_ady wrote:Here's a wild idea. While its main purpose is to run ogst, it could also be a multiboot system with the user button acting as a toggle between linux/android on boot. Maybe the lcd will never work with android, but it shouldn't be a problem as long as the controller can be used for most android games. This way you can have a retro console and a fairly modern android play system.

the LCD board with user button needs the complete USB kernel drivers to be loaded + the tft kernel driver but if that is loaded displaying an image is as easy as cat image.raw > /dev/fb1

if you wonder why i delete /dev/fb1 in the first place, this is because there seems to be an issue, when the driver is loaded it takes >2min after the device is booted before /dev/fb1 will show up, i canbypass this by creating the node manually but i have to delete a already created device node first in case it takes <2min (sometimes this happens too)

I have ported that tool from the oShaderToy which can display shaders from the https://www.shadertoy.com/ webside you can just search there for a nice shader you want for your DIY console project, there are thousands of shadersbut be aware that a lot of them are to GPU intensive to run on our ODROID's, some of them are drawing a complete jungle terrain with mountains only with a shader, no 3D Model nothing, you will see how GPU intensive this will be if you browse the website only.

You can display starting from a clock to terrain, creative art drawings, ps3 like sinwave, game intros, demo intros a.s.o, just browse the webside, i will soon add a tut how to get the shaders from the webside inside the Shader2LCD toolThere are also 35 shaders included on github, the screenshots shows some of them. Running those shaders the same time a game is running is a bad (6-8fps drop) idea but running them the same time a GUI is active, it's no problem ( RetroArch, Attract Mode, EmulationStation GUI etc. ).

stmicro wrote:by the way, can we create an EGL surface on the tiny LCD framebuffer? If it is feasible, we can play games on it.

The trick is, you are creating the EGL Surface on an X11 window like you always do, but you skip doing a eglSwapBuffers() it's off screen rendering, instead you download the rendered frame from the mali gpu and copy it over to the /dev/fb1the X11 is therefor only used as a dummy window, nothing will be draw'd there ever.

short answer... yes with only small modification on RetroArch we could draw the frames on the LCD Display to play games there

mad_ady wrote:This case could also be used/marketed as a viable cloudshell 1 replacement if you could fit the usb-sata adapter + small cable inside the case. There are still people demanding for a CS1 alternative.

I have been kicking around ideas for a Cloudshell 1 style case. When the N1 was announced, it practically begged for Cloudshell 1 inspired case. This is partly why I was excited to see the Console Kit case with a display.

Its becoming increasingly cost effective to outfit a small display in a case. In addition to color LCD, you can also get small OLED displays. I would be cool if a display could be a standard option for future product cases. For example, a C1/C2 size case could have the option for a monochrome 0.96" OLED display while a N1 size case could have an option for a 2.4" LCD display. For the larger case, I would like to add directional buttons for menu navigation making headless use simpler. These displays could be configured in uboot so they also serve a diagnostic purpose.

If I somehow mange to find some free time this summer, I will attempt to prototype and 3D print some designs. Until then, the Console Kit case is perfect for one of my 'pet projects'.

I agree. Having at least a button in uboot can make multiboot less of a pain. Having display as well - it would be perfect.

Edit - one extra question. If one chose not to plug in the microusb-to-usb cable that connects the display board would you still be able to use the display? E.g. is power fed from USB or from the ribbon cable? I understand that you would loose the USB hub, but for a cloudshell 1 replacement it might be more convenient to have an extra usb3 port available.

you can switch desktop language and keyboard layout to frensh, but some emulators and other frontends do not exist in french.using bluetooth to play should work, depending on what you do.. I use a PS3 controller with the bluetooth dongle from HardKernel and it''s working fine for me.

Hardkernel made a nice Family Computer finally. I'm going to build one for my kids

by the way, is there anybody who tested gamesir G3S wireless contollers? G3W seems to be a very affordable joystick. But I prefer to use wireless controllers.Do it support four players mode?Should I plug four wireless USB dongles?

@streetboy you only need one Bluetooth adapter to use multiple Bluetooth controllers. The gamesir G3S controller is a Bluetooth controller and should work the same as any other Bluetooth controller. I should note that I don't own any of the G3S controllers. I have however had 4 Bluetooth controllers from other manufactures in use at once. As for playing 4 player games, some emulators support 4 players, some don't, but that has nothing to do with what type of controller or how it's connected.

streetboy wrote:by the way, is there anybody who tested gamesir G3S wireless contollers? G3W seems to be a very affordable joystick. But I prefer to use wireless controllers.Do it support four players mode?Should I plug four wireless USB dongles?

GameSir G2S should work fine, they even worked before the G3W and in fact are just slightly better as they have an Xinput mode that mimics a XBox 360 controller which are more widely supported than the GameSir G3W.4 player mode should work fine as long as the game/system supports it.I'm not 100% sure about the number of dongles you need per controller.The bluetooth function was made for Android and is not officially supported by other OS systems (not sure if they work anyway).The Wireless dongle of the G3S does not use bluetooth but uses another wireless technology to pair the controller, similar as the original XBox 360 controller.For the wireless dongle that comes with the controller it's one controller per dongle.

crashoverride wrote:It appears the OGST Console Kit is sold out everywhere. Any ETA on the next batch?

As far as I know Ameridroid should have some available soon, unless they are already out "pre-ordered" or something.

First a search for a perfect shader is advisable with does only has one shader program like this one for example https://www.shadertoy.com/view/4tlSzl, shaders with multible programs have more then one tab on top of the text editor( see https://www.shadertoy.com/view/lsK3D1 ), they are not supported, however you can generate a video of a more complex shader by simply press on the record button on the preview window of the shadertoy website and playback it with mplayer.

Ok back to our Combustible Voronoi algorithm shader, first we create a new text document in the shader folder and name it voronoi.f.glsl, then we copy the contains of the shader input from the shadertoy websiteto the new created file, after that we change the main function to look like this:

from

void mainImage( out vec4 fragColor, in vec2 fragCoord )

to

void main()

then we change all occurrences of:

iResolution to resolutioniTime to timefragCoord to gl_FragCoord.xy --> depending on the implementation fragCoord.x or y to gl_FragCoord.x or yfragColor to gl_FragColor

mad_ady wrote:Regarding video on the lcd - is it better with regards to resource/gpu utilisation to play a video (with reduced fps) instead of doing gpu rendering?

Sure it is better, it is very common using video instead of GPU rendering, you see this especially on game trailers, you never know if this is real Gameplay or rendered on a very powerful machine and then exported to videoeven shaders with low GPU resource usage take more calculation power compared to play videos. On the other hand you can simply display a real time clock with a shader program, or render dynamic scroll text from a websiteit's way more dynamic !

thanks for the tools linked the user should have a wide source of tools he could use

RG

Edit: i will try to bring this https://www.shadertoy.com/view/Mlj3WV spectrum visualizer hooked up to pulseaudio client to the LCD display ---> you can't do something with video, that's the fun about it.

Only the Power Buttons is registered as a input/event device, the user button has to be read via gpiomem or /sys/class/gpio/

mad_ady wrote:Regarding video on the lcd - is it better with regards to resource/gpu utilisation to play a video (with reduced fps) instead of doing gpu rendering?

if you use something like mplayer to display the video it's directly drawn to the framebuffer, the video is "rendered" via software, so only on cpu, and as the video is rather tiny it's rendered on the small cores only not affecting any emulator.If the video would be rendered with the help of SDL2 (color conversion and such) the GPU might be affected and performance might decrease slightly, although unlikely as we have a 6 core GPU this shouldn't matter much.

Regarding the button - I know that the power button is handled by a gpio_keys module. Perhaps the new button could be added to that driver. Otherwise one would either poll or set up an interrupt handler to read it.

Regarding video - you could use ffplay to play software accelerated video, though ogst uses kernel 3.10, so no vpu support for ffplay...

mad_ady wrote:Regarding the button - I know that the power button is handled by a gpio_keys module. Perhaps the new button could be added to that driver. Otherwise one would either poll or set up an interrupt handler to read it.

i have tried to add the right button the same way the power button is configured in the device tree file but i failed, then i was giving up and i used the gpio method which is also an interrupt handler ( blocked read ) no CPU usage at all

mad_ady wrote:Regarding video - you could use ffplay to play software accelerated video, though ogst uses kernel 3.10, so no vpu support for ffplay...

i was more thinking about to be able to display OSD over the preview videos like i do with the bitmap picture, for that i was about to use ffmpeg libraries in an c or c++ application, if you know a method to display videos with ffplay onframebuffer device with OSD let me know i was not investigating in this by now.

My LCD won't display anything. It's completely blank and I followed all the directions when setting it up. It could be the cable but I have no way of knowing as I don't have another one. Anybody else have this issue?

ind1fference wrote:My LCD won't display anything. It's completely blank and I followed all the directions when setting it up. It could be the cable but I have no way of knowing as I don't have another one. Anybody else have this issue?

ind1fference wrote:My LCD won't display anything. It's completely blank and I followed all the directions when setting it up. It could be the cable but I have no way of knowing as I don't have another one. Anybody else have this issue?

@ind1ference: can you run sudo /etc/rc.local and post the output? It should be noted that:1. if a command inside rc.local returns non-zero, the following commands will not be executed.2. The startup sequence is duplicated multiple times and this may cause issues from repeated modprobe/rmmod3. The contents of /etc/rc.local should not be needed. The parameters can be added to /etc/modprobe.d/modulename.conf, and modules to be loaded should go into /etc/modules-load.d/modules.conf

mad_ady wrote:@ind1ference: can you run sudo /etc/rc.local and post the output? It should be noted that:1. if a command inside rc.local returns non-zero, the following commands will not be executed.2. The startup sequence is duplicated multiple times and this may cause issues from repeated modprobe/rmmod3. The contents of /etc/rc.local should not be needed. The parameters can be added to /etc/modprobe.d/modulename.conf, and modules to be loaded should go into /etc/modules-load.d/modules.conf

Running it results in nothing. It just places in another prompt. Full disclosure: I rarely use Linux