Hdmi to 1080i [solved]

I am waiting for my hdmi touch screen to come from china. I thought I would get my zynthian up and running on a Hdmi hd monitor.

changed all fb1 to fb0

when I boot the pi I get all the boot up info the display but when it runs zynthian all i get is on dash in the top left.
what am i missing?

Hi @john!

Try to change the screen size in this configuration file:

/zynthian/zynthian-ui/zynthian_gui_config.py

You should change the font sizes too :wink:

Anyway, the zynthian GUI is not designed for a big screen … probably you will get a lot of empy space everywhere. Please, send some screenshots and i will try make some adjustments.

Regards!

will take a look. not worried about the empty space just want to start figuring out functionality.

did that changed

framebuffer_width=1920
framebuffer_height=1080

did not change do i need to force the hdmi mode?

Have you tried commenting out the tft references in the config.txt file?

I don’t have the current config.txt to hand, but there are lines like this at the end that you could try commenting out:

PiTFT Config

#dtoverlay=pitft28-capacitive,rotate=90,speed=32000000,fps=20
#dtoverlay=pitft28-resistive,rotate=90,speed=32000000,fps=20

Hope it helps.

did that when I changed the fb from 1 to 0

frambuffer_width???
Can you send your “zynthian_gui_config.py” file? :wink:

wont let me up load will email them to you

I recived my 7" HDMI screen today (soundcard and other stuff still missing) - had a first try but encounter the exact same thing - just a dash on the top left.
Are there log files? Did not find them at /var/log … maybe it is not screen related because stuff is missing …

since i am using a touch display and no encoders. so is there things that need to be shut off in config files?
so have pi and hifiberry and hdmi screen (touch screen on order 2+ weeks comes from china) should come up i think.

I can report first progress:

What I have done:

# 0.5. I like nano ^^    

apt-get install nano

# 1. Update

cd /zynthian/zynthian-sys; git checkout .
cd /zynthian/zynthian-ui; git checkout .
cd /zynthian/zynthian-sys/scripts/
./update_zynthian.sh
./update_zynthian.sh #Yes twice - first run returns an error on a fresh installation
./update_zynthian_data.sh
./update_zynthian_recipes.sh
./update_zynthian_sys.sh

# 2. Edit fb1 to fb0 in all three files:
nano /etc/systemd/system/zynthian.service
nano /zynthian/zynthian-sys/sbin/splash-screen.sh
nano /zynthian/zynthian-ui/zynthian.sh

# 3. Also here:
nano /zynthian/zynthian-sys/etc/systemd/zynthian.service
# Find and modify the following line  
Environment=FRAMEBUFFER=/dev/fb0

# 4. Edit boot/config.txt

nano /boot/config.txt

# Edit the following lines according to your screen
framebuffer_width=1024
framebuffer_height=600

# comment out both lines
#dtoverlay=pitft28-capacitive,rotate=90,speed=32000000,fps=20
#dtoverlay=pitft28-resistive,rotate=90,speed=32000000,fps=20

# Add those lines at the end of the file (I have a 7" Waveshare display - the values below should be adjusted according to your screen)
max_usb_current=1
hdmi_goup=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 1024 600 60 6 0 0 0

# 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

# 6. Reboot
shutdown -r now 

Now the display shows the zynthian GUI and is also responding to touch BUT I am stuck in this screen and can not get anywhere from here.

UPDATE: After adding the Hifiberry, the 4 Knobs and 2in1 Module to the Zynthian the menue started working.

UPDATE 2: In order to increase font size:

nano /zynthian/zynthian-ui/zynthian_gui_config.py

Find and modify the following lines

topbar_height=48
font_topbar=(font_family,18)
font_listbox=(font_family,16)
font_ctrl_title_maxsize=18

ok look at what you have done and I think the key to make hdmi to work is this section add to config.txt

max_usb_current=1
changes the output voltage on all 4 usb combined from 600mA to double that, 1200mA. which is need for external hd or powering hdmi monitors. Note use a 2A power supply or greater.
hdmi_goup=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 1024 600 60 6 0 0 0
the above is deals with all the information about the monitor you have connected. So group and mode needs to be set to the spec of the monitor you have connected.
For detail of what all the combinations you can look at http://elinux.org/RPiconfig
how to create custom modes https://www.raspberrypi.org/forums/viewtopic.php?t=24679

Hello john,

the “max_usb_current=1” might be very important for some setups, but I think it does not affect mine because:
-HDMI Screen is USB powered but I am using a USB-Hub with its own power supply in order to take some load from the Pi`s power supply.
-HDMI Screen was woking while booting (and together with other OS like Raspberrian all the time)
-I was using those settings since the first try (which resulted in the screen with the bash at the top left)

The theory with I am working right now:
X has to be configured properly to run the the GUI on the HDMI-Screen.

Have you (ore anyone else) done research in this direction?

Hi @lod,

I have an official 7" touchscreen which is attached to DSI port (I think it works actually the same way as HDMI). After many tests I managed to show up the same Zynthian window you show in the pictures, so I think your display setup is correct.

I’m currently stuck in the same point you describe. Touch function is working: I can select any engine in the listbox and I can also slide (in any direction) my finger over the engine widget which cause the widget number to change. I wasn’t able (so far) to figure out how to activate “enter function” in order to move forward to the next window (midi channel selection).

Apparently @cryoshad managed to get this hardware setup to work which drives me to assume I’m having some config issues. I guess this config should be related to touch function…

I followed some guides which drives me to calibrate the touch function using xinput-calibrator. I managed to do it but nothing changed.

In other hand and trying to isolate the issue, I installed raspbian OS (which works out of the box) in order to compare configs looking for differences with Zynthian. I didn’t find any remarkable…but perhaps I’m looking in the wrong folder/subfolder (sorry, but I’m windows user and Linux it’s new for me, so I’m learning while investigating).

I’ll keep updated of any progress.

Regards, Jose.

Yes. The Zynthian GUI is an X client, so the X server must be correctly configured. Normally it works “out the box” when you are using a well configured HDMI display. If you have configured it correctly in the config.txt and you have adjusted the framebuffer to “/dev/fb0” in the different files, it should work without problems.

With this kind of displays, the “touch” interface normally works like an USB-mouse, so a simple USB connection between the display and the RBPi should do the trick.

Finally, the Gorgona image does not have touch-navigation nor touch-control support. You have to update the zynthian software BEFORE changing any file under the “/zynthian” directory. If you have changed some file under this directory, the update probably wont work. In that case, you can restore the original files using this commands:

cd /zynthian/zynthian-sys; git checkout .
cd /zynthian/zynthian-ui; git checkout .

And after, try to update again:

cd /zynthian/zynthian-sys/scripts
./update_zynthian.sh
./update_zynthian.sh
./update_data.sh

The update proccess will overwrite your changes to the files, so you have to make the changes and don’t update again.

nano /etc/systemd/system/zynthian.service

nano /zynthian/zynthian-ui/zynthian.sh
nano /zynthian/zynthian-ui/zynthian_gui_config.py

nano /zynthian/zynthian-sys/sbin/splash-screen.sh
nano /zynthian/zynthian-sys/sbin/zynthian.sh

I’m working in improving this and i hope to release a better configuring system very soon. Thanks for your patient :wink:

Kind Regards!

ok go it to work.

Step 1: Edit fb1 to fb0 in all these files:

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

Step 2: Edit boot/config.txt

nano /boot/config.txt

Edit the following lines according to your screen or set to None and it will auto detect. Try None first if that does not work then put in screen width and height.
framebuffer_width=1024
framebuffer_height=600

comment out both lines
#dtoverlay=pitft28-capacitive,rotate=90,speed=32000000,fps=20
#dtoverlay=pitft28-resistive,rotate=90,speed=32000000,fps=20

If you are running the HDMI screen from the USB port add this line to the end of the file. changes the output voltage on all 4 usb combined from 600mA to double that, 1200mA. which is need for external hd or powering hdmi monitors. Note use a 2A power supply or greater.

max_usb_current=1

Add those lines at the end of the file suggested by the manufacture if None or framebuffer settings from above did not work. For example: 7" Waveshare display - the values below should be adjusted according to your screen
hdmi_goup=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 1024 600 60 6 0 0 0

Step 3: Edit Configure X11

nano /etc/X11/xorg.conf.d/99-pitft.conf

edit the file to look like this
Section “Device”
Identifier “HDMI”
Driver “fbdev”
Option “fbdev” “/dev/fb0”
EndSection

Step 4: Reboot
shutdown -r now

It should come up to the gui if not then change the framebuffer settings in the boot/config.txt and reboot again.

the interface will look like this

Very nice!

It still wont go down the menues but I read in this topic that a sound card is needed for making the menu fully working.

So I guess for me its waiting for the HifiBerry to be delivered.

I guess one could mark tjis topic as [solved] :grinning:

don’t know about sound card issues as i am using a hifiiberry.

Hi @john!

Regarding your question about show to get the mouse pointer in the Zynthian GUI,

In the file:

/zynthian/zynthian-ui/zynthian_gui.py

comment out this 2 lines:

if hw_version!=“PROTOTYPE-EMU”:
top.config(cursor=“none”)

like that:

#if hw_version!=“PROTOTYPE-EMU”:
# top.config(cursor=“none”)

it should do the trick :wink:

Kins Regards

sorry it did not work.
will look thru the code.

Hi @john!

This is the only point in the source code where there is a reference to the cursor. There is no other places to
look. I’ve tested and it works for me, so it should work for you :wink:

Regards!