Other Displays

From the december 2016 versions, the graphics screens are scalable.
I have some questions around.

1/ Is anyone using a different screen size than H320-V240 ?
I am interested in how the problem is solved with the splash-screens.

2/ Is anyone using a display with an ID EEPROM
it has a 40P header instead of a 26P.
As far as I could ascertain, the OS expected just 1 HAT
the HIFIBberry-DAC’s are HAT’s with an ID EEPROM.
If that’s true, then there is much chance of a conflict on the I²C(0) bus!
Does anyone have more information on this ?

3/ HDMI-PITFT-HDMI mechanism
at boot time the HDMI screen is used.
Just before or at start of zynthian the screen is switched to PITFT
When selecting powerdown or reboot the opposite happens.
Where are these changeovers programmed ?

In /zynthian/zynthian-sys/sbin/ you find the startup scripts.

In splash-screen.sh you find

export FRAMEBUFFER=“/dev/fb1”

if [ -c $FRAMEBUFFER ]; then
cat $ZYNTHIAN_DIR/zynthian-ui/img/fb1_zynthian.raw > $FRAMEBUFFER
fi

Which outputs the splash screen to the PITFT

The output of the control interface is managed by the configuration of the x-server (also set the ouput to the right framebuffer).

So, no switching, just pointing the output to the right framebuffer…

Since the image is a raw image which is copied to the framebuffer, the only way to solve this is to create a raw image with a different size.

Currently the splash screens are implemented using a direct “framebuffer dump”. The most simple solution would be having different splash-screen versions for the typical screen sizes.
The perfect solution would be to have a configuration script that down-scale the splash-screens from high resolution versions and use a display utility (like “fbi”) to generate the frambuffer dumps.

As much as i know, almost all “hat-screens” use SPI bus and shouldn’t have any conflict with I2C bus.
I have no experience with displays using an ID EEPROM, but it should be considered when configuring the address for the MCP23xxx.

PiTFT’s framebuffer (/dev/fb1) is used for dumping the splash screens and as X11 display. It’s specified when starting X11 in:

/etc/systemd/systemd/system/zynthian.service

Display configuration should be improved and simplified. Added to the TODO list in the Wiki :wink:

Regards!

Hi all

typo H320-V240 an not H360-V240

Hallo,

1/ to be able to test a different format , that should be solved first !
splas-screens can have better a format of 240 x 240 (fit all)
and then with fbi be placed in the center of the screen.
Some choose Portrait- above Landscape format on larger displays !

2/ The MCP’s use I²C(1) headerpins 3-5 and not I²C(0) headerpins 27-28
I²C(0) is only for the ID-EEPROM and the Raspberry Pi 7" Touch Screen Display
https://github.com/raspberrypi/hats

3/ What needs to be changed to not go to the PITFT?
I want to do a test with the Raspberry Pi 7" Touch Screen Display
who uses the framebuffer(0) same as the HDMI screen.

OK! But i’m not sure of the result when using portrait orientation. I’ve never test it :wink:

OK! So, no conflicts between “normal” I2C devices and ID-EEPROM hats.

You have to change the framebuffer in the next files:

/etc/systemd/system/zynthian.service
/zynthian/zynthian-sys/sbin/splash-screen.sh
/zynthian/zynthian-ui/zynthian.sh

After changing this files you won’t be allowed to update from the admin menu. Sorry ;-(
I know. This is far from optimal. I will move this to a unique configuration file ASAP. It’s in the TODO list.

Regards!

one question can you use a small HDMI monitor instead of a PITFT?

@john

Yes, you can use HDMI display with Zynthian. It needs a few tweeks of the configuration. The best thing is that the GUI is now scalable, so you can match resolution of your monitor.

Can you also tell us what?

As Jofemodo said above:-

You have to change the framebuffer in the next files:

/etc/systemd/system/zynthian.service
/zynthian/zynthian-sys/sbin/splash-screen.sh
/zynthian/zynthian-ui/zynthian.sh

Look for the references to /dev/fb1 and change them to /dev/fb0

The screen resolution is available at the begining of zynhian_gui.py

#-------------------------------------------------------------------------------

Define some Constants and Parameters for the GUI

#-------------------------------------------------------------------------------

width=320
height=240

Just adjust these value to match your screen resolution & the GUI will scale itself.

I’m building a Zynthian with a 800 x 480 HDMI display. This is a non standard resolution so I needed to add some lines to config.txt to force this. I followed the instructions on the manufacturer’s website.

Let us know how you get on!

Hi @Andy!

My 5 cents :wink:
If you put to “None” the width and height variables in the config file, the UI will autodetect the screen size.
This wont work in a “fresh” Gorgona, but it should work after updating.

Regards!

Oh… I’ll give it a try. :wink:

Trying with the raspberry pi standard 7" touchscreen .
Set the fb0 as per file details set the width and height to 800 * 480
I get the prompt start up I see a distorted zynthian logo then just a white cursor line top/left.
No response to qwerty keyboard
No knobs connected, with & without AudioInjector.

Sadly I can’t see the ip address so I can’t get to it over ssh . . .
Any thoughts?
following suggestions from here also

nano /zynthian/zynthian-sys/etc/systemd/zynthian.service

Find and modify the following line

Environment=FRAMEBUFFER=/dev/fb0
Which does at least give you a prompt…

Hello 192.168.1.13 !!!

It seems to be that makes the difference.

5. Configure X11

cd /etc/X11/xorg.conf.d/

remove all files except 99-pitft.conf

edit the config

nano 99-pitft.conf

the file should look like this

Section “Device”
Identifier “HDMI”
Driver “fbdev”
Option “fbdev” “/dev/fb0”
EndSection

Touch display back function working …?
I can navigate New Layer Remove All but can’t select either of them.

2 Likes

This works with touch screen :-)…
Once the /boot/config.txt is performed.

I’ve upgraded the software from the shell script, and of course the zynthian files were cleared down so I had to re-edit some.