victronenergy / venus

Victron Energy Unix/Linux OS
https://github.com/victronenergy/venus/wiki
591 stars 75 forks source link

qt & qtquick versions #214

Open mpvader opened 7 years ago

mpvader commented 7 years ago

This discussion flares up regularly, below list is to get the facts in a row. Welcome to comment if you have more to say about it.

Currently used versions

We have some patches, patching both QtQuick (item.show) and Qt (vnc password), see commit log on github.

Note that, besides the GUI, we have various other applications that use the qt libraries. Not for display, but for string handling etcetera.

Notes about new version:

QtQuick 2.*

Qt 5.*

VNC

Why update?

Do we need to update? No we don't. These are the arguments to do so: 1) There is the advantage for Jesus, working on both VictronConnect and the CCGX 2) QtQuick 2 adds Canvas, which will be very helpful in the overviews

Last one would be the dangerous argument that newer is better.

Various notes

mansr commented 7 years ago

Yes, the canvu500 has working graphics acceleration. The ccgx screen is so small that I doubt the performance drop with the software rendering in QtQuick will be of any concern.

mpvader commented 7 years ago

In v2.12~6, a relevant change was made:

v2.12~6 - develop testing
- Qt 5.9 is now available in the SDK and on the CANvu500
  - Qt 5.9 can now use Qt Quick 2 on eglfs and linuxfb
  - Only the canvu500 has support for egl. A demo is included, to run use:
     svc -d /service/gui && Qt5_CinematicExperience
mpvader commented 6 years ago

for the record: @jhofstee has been experimenting with using vnc from X11, but then without X11.

x11vnc -noipv6 -rawfb /dev/fb0 -pipeinput UINPUT:direct_key=/dev/input/event0,nouinput -shared -forever

Possible advantages:

first trials work, to be continued.

mpvader commented 6 years ago

VNC issue: https://github.com/victronenergy/venus/issues/292

mpvader commented 5 years ago

An update after discussing with Thiemo and Jeroen today:

A month ago; Thiemo tested running VictronConnect on a CANvu 500; and using VictronConnect as a base for a new Venus GUI was discussed with Jesus, Thiemo and Reaktor. The conclusions where that (a) VictronConnect is slow; bug can probably be made faster. And (b) using all of VictronConnect is not a good idea (landscape layout vs portrait; and difference in architecture: D-Bus vs VE.Interface) ; but re-using or sharing its components and design for Device pages does make sense.

In general, moving from QtQuick 1.1 and Qt 4.8 to QtQuick 2 and Qt 5 is still wanted. The main issues are:

Steps to move forward are first to (a) study the Qt Quick 2D Renderer documentation incl. limitations, and (b) check how bad the Qt Quick 2D Renderer is, both in looks and performance. A simple way to check the looks can (probably) be done with VictronConnect: compile it for use with that rendered and see what happens.