Closed mantarimay closed 5 months ago
Can you run contour debug all
and share the output?
may@mantari:~> contour debug all
[2024-01-01 09:13:49.170734955.170734] [config] Loading configuration from file: /home/may/.config/contour/contour.yml
[2024-01-01 09:13:49.188907585.188907] [config] Missing key .logging.enabled. Using default: false.
[2024-01-01 09:13:49.188939541.188939] [config] Missing key .logging.file. Using default: "".
[2024-01-01 09:13:49.189168383.189168] [config] Missing key background_image.path. Using default: "".
[2024-01-01 09:13:49.189254966.189254] [config] Missing key .shell. Using default: "".
[2024-01-01 09:13:49.189292461.189292] [config] Missing key .refresh_rate. Using default: 0.
[2024-01-01 09:13:49.189321365.189321] [config] Missing key .size_indicator_on_resize. Using default: true.
[2024-01-01 09:13:49.208019322.208019] [config] Defaulting TERM to contour.
[2024-01-01 09:13:49.208108153.208108] [config] Missing key .margins.horizontal. Using default: 0.
[2024-01-01 09:13:49.208131141.208131] [config] Missing key .margins.vertical. Using default: 0.
[2024-01-01 09:13:49.208291398.208291] [config] Missing key .option_as_alt. Using default: false.
[2024-01-01 09:13:49.208457989.208457] [config] Missing key .bell.sound. Using default: default.
[2024-01-01 09:13:49.208474456.208474] [config] Missing key .bell.alert. Using default: false.
[2024-01-01 09:13:49.208494906.208494] [config] Missing key .bell.volume. Using default: 0.
[2024-01-01 09:13:49.209287890.209287] [config] Superfluous config key found: profiles.main.font.dpi_scale
[2024-01-01 09:13:50.114970835.114970] [gui.display] Color theme mode at startup: Dark
Warning: QQmlApplicationEngine failed to load component ((null):0, (null))
Warning: qrc:/contour/ui/main.qml: module "org.kde.desktop" is not installed (qrc:/contour/ui/main.qml:4294967295, (null))
Warning: QQmlApplicationEngine failed to load component ((null):0, (null))
Warning: qrc:/contour/ui/main.qml: module "org.kde.desktop" is not installed (qrc:/contour/ui/main.qml:4294967295, (null))
this is the part I find interesting, or most concerning. I am not sure why it even thinks that org.kde.desktop
should be a thing for Contour. π€ None of these warnings should have been shown. π€
Hey, i'm trying to build on openSUSE Tumbleweed myself and realized that our install-deps.sh script is still only installing qt5 dependencies. How did you build it for SuSE? Using Qt5 or Qt6 dependencies? What are you dependencies that you used? (I'm trying to get it running on a local openSuSE VM myself :)
I'm having issues finding the package that provides QOpenGLFunctions_3_3_Core
for Qt 6. I'll be creating a PR ASAP to fix at least the dev install way, scripts/install-deps.sh
, to also support building using Qt 6.
Here is my OBS spec, which is not different from the Fedora spec. https://build.opensuse.org/package/view_file/home:mantarimay:branches:X11:terminals/contour-terminal/contour-terminal.spec?expand=1
#
# spec file for package contour-terminal
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: contour-terminal
Version: 0.4.1.6292
Release: 0
Summary: Modern C++ Terminal Emulator
License: Apache-2.0
URL: https://github.com/contour-terminal/contour
Source0: %{url}/archive/v%{version}/contour-%{version}.tar.gz
BuildRequires: Catch2-2-devel
BuildRequires: appstream-glib
BuildRequires: ccache
BuildRequires: extra-cmake-modules
BuildRequires: desktop-file-utils
BuildRequires: fmt-devel
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel
BuildRequires: harfbuzz-devel
BuildRequires: hicolor-icon-theme
BuildRequires: libunicode-devel
BuildRequires: libxcb-devel
BuildRequires: libxkbcommon-devel
BuildRequires: range-v3-devel
BuildRequires: utempter-devel
BuildRequires: yaml-cpp-devel
BuildRequires: cmake(boxed-cpp)
BuildRequires: cmake(Microsoft.GSL)
BuildRequires: pkgconfig(tic)
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6Core5Compat)
BuildRequires: cmake(Qt6Gui)
BuildRequires: cmake(Qt6Multimedia)
BuildRequires: cmake(Qt6Network)
BuildRequires: cmake(Qt6OpenGL)
BuildRequires: cmake(Qt6OpenGLWidgets)
BuildRequires: cmake(Qt6Qml)
BuildRequires: cmake(Qt6Quick)
BuildRequires: cmake(Qt6QuickControls2)
BuildRequires: cmake(Qt6Widgets)
Recommends: kf5-filesystem
Recommends: kservice
ExclusiveArch: x86_64 aarch64
%description
Contour is a modern and actually fast, modal, virtual terminal emulator,
for everyday use. It is aiming for power users with a modern feature mindset.
%prep
%autosetup -p1 -n contour-%{version}
%build
%cmake
%cmake_build
%install
%cmake_install
rm %{buildroot}%{_datadir}/contour/LICENSE.txt
rm %{buildroot}%{_datadir}/contour/README.md
desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
%files
%license LICENSE.txt
%doc README.md
%{_bindir}/contour
%{_datadir}/applications/*.desktop
%dir %{_datadir}/kservices5/ServiceMenus
%{_datadir}/kservices5/ServiceMenus/*.desktop
%dir %{_datadir}/contour
%dir %{_datadir}/contour/shell-integration
%{_datadir}/contour/shell-integration/shell-integration.fish
%{_datadir}/contour/shell-integration/shell-integration.tcsh
%{_datadir}/contour/shell-integration/shell-integration.zsh
%{_datadir}/terminfo/c/contour*
%{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/metainfo/org.contourterminal.Contour.metainfo.xml
%changelog
Sadly, at v0.4, OBS failed to build with qt5 and gave priority only to qt6, whereas at v0.3, both successfully built.
thx for your quick response, @mantarimay. yeah, i know about OBS having hard-moved to qt6. I'd prefer that too, but we still need to somehow support Ubuntu 18.04 and 20.04 (wich both don't come with Qt 6). We try to default and build with Qt 6 where-ever possible. Also, we have some features that only work if built with qt6 (like color schemes automatically adapting to dark/light mode switching).
BuildRequires: Catch2-2-devel
that should be at least Catch2 version 3 (3.4 or higher) with Contour >= 0.4.0 (0.4.1 as of last night)
%{_datadir}/terminfo/c/contour*
As of Contour >= 0.4.1, we've dropped contour-latest
, as we try hard to not require any changes to it at all. There's no need to provide that now anymore :)
% changelog
Not sure if this line is addressing it, but we have the changelog embedded into the metainfo.xml. If not, you could use xmllint to extract the changelog info as well. That's what we do for the release CI :)
Recommends: kf5-filesystem
I'd highly recommend to add libsixel-tools to it (is it called like this?) (https://github.com/libsixel/libsixel),
because of the CLI tool img2sixel
, which can be used to display Sixel images in Contour terminal.
%changelog
only part of *suse spec
https://en.opensuse.org/openSUSE:Creating_a_changes_file_(RPM)
@mantarimay I know this is the worst location to point out at potential bugs in the openSuSE packaging, but I think there's a problem with qt6-opengl-devel
package for ARM64 (AArch64) architectures.
Somehow somebody believed that on ARM64 one only needs OpenGL ES, and thus, the above package does not provide any other GL function headers for qt6 (qt5-opengl-devel does provide them btw). I am on an ARM64 laptop (Apple M1) on various Linux distros. So far openSuSE (Tumbleweed) is the first one that does not provide more headers, such as the one we need QOpenGLFunctions_3_3_Core
.
Can you maybe point me to the place were I could report it in a way it is heard, or you could drop that info to the relevant people? (sorry for the comms abuse :) )
I'll try to spin up a SuSE distro on my x86-64 desktop pc once i'm near it to repro your findings :)
see: aarch64 contents vs x86-64 contents
@Marenz You have Contour build from source on openSuSE Tumbleweed. Do you happen to remember what you added (dependencies installed) to get it working with Qt 6?
Hi there!
I've the same issues... I had running contour, but tried to upgrade and downloaded last deb
file.
Notice: The following will be installed to satisfy contour:
libqt6multimedia6
===============================================================================================================
Installing
===============================================================================================================
Package: Version: Size:
libqt6multimedia6 6.4.2-4 525 KB
===============================================================================================================
Upgrading
===============================================================================================================
Package: Old Version: New Version: Size:
contour 0.3.11.258 0.4.1.6292 7 KB
and after upgrading
contour debug all
:
[2024-01-02 00:33:06.336724232.336724] [config] Loading configuration from file: /home/baka/.config/contour/contour.yml
[2024-01-02 00:33:06.339004619.339004] [config] Missing key .logging.enabled. Using default: false.
[2024-01-02 00:33:06.339020640.339020] [config] Missing key .logging.file. Using default: "".
[2024-01-02 00:33:06.339121801.339121] [config] Missing key background_image.path. Using default: "".
[2024-01-02 00:33:06.339150345.339150] [config] Missing key .shell. Using default: "".
[2024-01-02 00:33:06.339194659.339194] [config] Missing key .refresh_rate. Using default: 0.
[2024-01-02 00:33:06.339205059.339205] [config] Missing key .size_indicator_on_resize. Using default: true.
[2024-01-02 00:33:06.339241738.339241] [config] Defaulting TERM to contour.
[2024-01-02 00:33:06.339250284.339250] [config] Missing key .margins.horizontal. Using default: 0.
[2024-01-02 00:33:06.339255995.339255] [config] Missing key .margins.vertical. Using default: 0.
[2024-01-02 00:33:06.339270092.339270] [config] Missing key permissions.display_host_writable_statusline. Using default: ask.
[2024-01-02 00:33:06.339309246.339309] [config] Missing key .option_as_alt. Using default: false.
[2024-01-02 00:33:06.339364180.339364] [config] Missing key status_line.position. Using default: none.
[2024-01-02 00:33:06.339371544.339371] [config] Missing key status_line.sync_to_window_title. Using default: false.
[2024-01-02 00:33:06.339377836.339377] [config] Missing key .bell.sound. Using default: default.
[2024-01-02 00:33:06.339383998.339383] [config] Missing key .bell.alert. Using default: false.
[2024-01-02 00:33:06.339389909.339389] [config] Missing key .bell.volume. Using default: 0.
[2024-01-02 00:33:06.339673045.339673] [config] Superfluous config key found: profiles.main.font.dpi_scale
Warning: QQmlApplicationEngine failed to load component ((null):0, (null))
Warning: qrc:/contour/ui/main.qml:6:1: module "Qt.labs.platform" is not installed (qrc:/contour/ui/main.qml:6, (null))
Warning: qrc:/contour/ui/main.qml:5:1: module "QtQuick.Window" is not installed (qrc:/contour/ui/main.qml:5, (null))
Warning: qrc:/contour/ui/main.qml:4:1: module "QtQuick.Layouts" is not installed (qrc:/contour/ui/main.qml:4, (null))
Warning: qrc:/contour/ui/main.qml:3:1: module "QtQuick.Controls" is not installed (qrc:/contour/ui/main.qml:3, (null))
Warning: qrc:/contour/ui/main.qml: module "QtQml.WorkerScript" is not installed (qrc:/contour/ui/main.qml:4294967295, (null))
Warning: qrc:/contour/ui/main.qml:6:1: module "Qt.labs.platform" is not installed (qrc:/contour/ui/main.qml:6, (null))
Warning: qrc:/contour/ui/main.qml:5:1: module "QtQuick.Window" is not installed (qrc:/contour/ui/main.qml:5, (null))
Warning: qrc:/contour/ui/main.qml:4:1: module "QtQuick.Layouts" is not installed (qrc:/contour/ui/main.qml:4, (null))
Warning: qrc:/contour/ui/main.qml:3:1: module "QtQuick.Controls" is not installed (qrc:/contour/ui/main.qml:3, (null))
Warning: qrc:/contour/ui/main.qml: module "QtQml.WorkerScript" is not installed (qrc:/contour/ui/main.qml:4294967295, (null))
Warning: qrc:/contour/ui/main.qml:6:1: module "Qt.labs.platform" is not installed (qrc:/contour/ui/main.qml:6, (null))
Warning: qrc:/contour/ui/main.qml:5:1: module "QtQuick.Window" is not installed (qrc:/contour/ui/main.qml:5, (null))
Warning: qrc:/contour/ui/main.qml:4:1: module "QtQuick.Layouts" is not installed (qrc:/contour/ui/main.qml:4, (null))
Warning: qrc:/contour/ui/main.qml:3:1: module "QtQuick.Controls" is not installed (qrc:/contour/ui/main.qml:3, (null))
Warning: qrc:/contour/ui/main.qml: module "QtQml.WorkerScript" is not installed (qrc:/contour/ui/main.qml:4294967295, (null))
Warning: qrc:/contour/ui/main.qml:6:1: module "Qt.labs.platform" is not installed (qrc:/contour/ui/main.qml:6, (null))
Warning: qrc:/contour/ui/main.qml:5:1: module "QtQuick.Window" is not installed (qrc:/contour/ui/main.qml:5, (null))
Warning: qrc:/contour/ui/main.qml:4:1: module "QtQuick.Layouts" is not installed (qrc:/contour/ui/main.qml:4, (null))
Warning: qrc:/contour/ui/main.qml:3:1: module "QtQuick.Controls" is not installed (qrc:/contour/ui/main.qml:3, (null))
Warning: qrc:/contour/ui/main.qml: module "QtQml.WorkerScript" is not installed (qrc:/contour/ui/main.qml:4294967295, (null))
Warning: qrc:/contour/ui/main.qml:6:1: module "Qt.labs.platform" is not installed (qrc:/contour/ui/main.qml:6, (null))
Warning: qrc:/contour/ui/main.qml:5:1: module "QtQuick.Window" is not installed (qrc:/contour/ui/main.qml:5, (null))
Warning: qrc:/contour/ui/main.qml:4:1: module "QtQuick.Layouts" is not installed (qrc:/contour/ui/main.qml:4, (null))
Warning: qrc:/contour/ui/main.qml:3:1: module "QtQuick.Controls" is not installed (qrc:/contour/ui/main.qml:3, (null))
Warning: qrc:/contour/ui/main.qml: module "QtQml.WorkerScript" is not installed (qrc:/contour/ui/main.qml:4294967295, (null))
Hey @uunnxx . I am really sorry for this experience. There seems to be dependencies missing. We are going to fix this ASAP. -- if nobody was faster, I will be trying to fix that after I am back from work, tonight . Sorry for the inconveniences .
@christianparpart after installing these dependencies, I've successfully running contour
:
qml6-module-qt-labs-platform
qml6-module-qtquick-window
qml6-module-qtquick-layouts
qml6-module-qtquick-controls
qml6-module-qtqml-workerscript
qml6-module-qtquick-templates
qml6-module-qtmultimedia
qml6-module-qt5compat-graphicaleffects
qt6-5compat-dev # not sure about this one. Maybe installing previous one e.g. `qml6-module-qt5compat-graphicaleffects` is enough.
@uunnxx what distribution are you on? I could not find a qt6-5compat-dev
on Ubuntu 22.04, but rather libqt6core5compat6-dev
. If I am not mistaken (@Yaraslaut?) we'll need qt5 compat mode for qt6 build, at least for the time being still.
@uunnxx what distribution are you on? I could not find a
qt6-5compat-dev
on Ubuntu 22.04, but ratherlibqt6core5compat6-dev
. If I am not mistaken (@Yaraslaut?) we'll need qt5 compat mode for qt6 build, at least for the time being still.
No, this module is not for qt5, this is due to lack of some features from qt5 in qt6 qml, Blur for instance
@mantarimay Hey, my linked PR #1399 seems to work for Ubuntu 22.04 packaging. Looking at the diff, maybe that helps creating a .rpm package for SuSE Tumbleweed as well?
Is there anything we can do on our end to ease packaging?
Mind, with Contour 0.4, we've transitioned from from Qt Widgets (default Qt 5) to Qt QML (default Qt 6). This is rumbling, and I hope we can ease the inconveniences to a minimum to all as much as possible.
EDIT: (I tried to add SuSE Linux Tumbleweed to our CI, but failed in finding time so far...)
@uunnxx your comment aboved helped me A LOT! Many thanks for that. :1st_place_medal:
@mantarimay ok i think i've found the last missing dependencies on SuSE Linux for Contour >= 0.4, which are:
So in total (in our install-deps.sh script, for quick building from source), we have the following section for SuSE identified systems:
Good morning. @mantarimay when you confirm, that you've got it working on the SuSE side, I think we can close this ticket. No hurries though, take your time :)
I tried installing qt6-qt5compat-imports
and qt6-multimedia-imports
but still got the same
@mantarimay I really wonder where this "org.kde.desktop"
is coming from. π€ hmmmmm
@Marenz You have Contour build from source on openSuSE Tumbleweed. Do you happen to remember what you added (dependencies installed) to get it working with Qt 6?
not specifically no, as it was a constant add this delete this etc so at the end I had no idea which part was really required. I can check what packages are installed now at least, but which ones of those are actually required I can't say. Let me know if you want that list (as it is on an other computer I have to boot then)
I think it's not a package issue per se. we should try to figure out why we see this one warning there, stating module "org.kde.desktop" is not installed
. We have no KDE specific code at all. π€ Maybe one (having that issue) could start contour with Qt logging enabled. I'll try to setup a fresh openSuSE over the weekend and try to figure out how to build the .spec file (@mantarimay would you mind pointing us to the relevant other .spec files, e.g. for libunicode, such that we can repro building the rpm's locally?)
I compiled contour on opensuse from (https://github.com/contour-terminal/contour/pull/1399) and everything works for me
I compiled contour on opensuse from (https://github.com/contour-terminal/contour/pull/1399) and everything works for me
@Yaraslaut I think we need to repro that by using @mantarimay's .spec files - and these on a fresh SuSE image :)
@mantarimay can you please help me a bit, how to test this .spec
files locally?
I ran into a similar issue on Fedora 39:
β ; contour debug all
[2024-01-17 20:16:57.686968366.686968] [config] Loading configuration from file: /home/yg/.config/contour/contour.yml
[2024-01-17 20:16:57.689668714.689668] [config] Missing key .logging.enabled. Using default: false.
[2024-01-17 20:16:57.689676344.689676] [config] Missing key .logging.file. Using default: "".
[2024-01-17 20:16:57.689755864.689755] [config] Missing key background_image.path. Using default: "".
[2024-01-17 20:16:57.689784594.689784] [config] Missing key .shell. Using default: "".
[2024-01-17 20:16:57.689816535.689816] [config] Missing key .refresh_rate. Using default: 0.
[2024-01-17 20:16:57.689850435.689850] [config] Defaulting TERM to contour.
[2024-01-17 20:16:57.698985173.698985] [gui.display] Color theme mode at startup: Light
Warning: QQmlApplicationEngine failed to load component ((null):0, (null))
Warning: qrc:/contour/ui/main.qml:30:5: Type Terminal unavailable (qrc:/contour/ui/main.qml:30, (null))
Warning: qrc:/contour/ui/Terminal.qml:8:1: module "Qt5Compat.GraphicalEffects" is not installed (qrc:/contour/ui/Terminal.qml:8, (null))
; sudo dnf5 install contour-terminal
Updating and loading repositories:
Fedora 39 - x86_64 - Updates 100% | 113.2 KiB/s | 22.0 KiB | 00m00s
Repositories loaded.
Package Arch Version Repository Size
Installing:
contour-terminal x86_64 0.4.1.6292-1.fc39 updates 3.1 MiB
Looks like fedora package is missing some dependencies, can you please check if installing qt6-qt5compat package will resolve this issue for you @kierun? So @topazus can update package to fix it
@Yaraslaut I think you don't need to build locally because it is already built on obs. You just install using yast
, opi
, or manually from my repo .
At least I put the instructions to install manually here:
zypper addrepo https://download.opensuse.org/repositories/home:mantarimay:branches:X11:terminals/openSUSE_Factory/home:mantarimay:branches:X11:terminals.repo
zypper refresh
zypper install contour-terminal
Looks like fedora package is missing some dependencies, can you please check if installing qt6-qt5compat package will resolve this issue for you @kierun? So @topazus can update package to fix it
So qt6-qt5compat is runtime dependency?
@topazus , @Yaraslaut I installed this package and contour
launched successfully. I am getting this:
Warning: Couldn't load VAAPI library ((null):0, (null))
But it does not seem to affect the terminal at all.
@kierun IIUC that message is because QT is trying to use hardware acceleration but you are probably missing a(nother) library. Apart from performance I don't think it will affect anything - I only just silenced a similar warning on my system today - yet to notice any performance improvements.
@cqexbesd Thanks for the help. Any chance you can remember which package that is?
@cqexbesd Thanks for the help. Any chance you can remember which package that is?
Everything I know is from https://wiki.archlinux.org/title/Hardware_video_acceleration so I think it depends on your hardware.
@mantarimay so few packages are missing as a dependency :( i managed to open contour after installing qt6-qt5compat-imports and qt6-multimedia-imports
@mantarimay so few packages are missing as a dependency :( i managed to open contour after installing qt6-qt5compat-imports and qt6-multimedia-imports
I just checked. We've added these already to our install-deps.sh script in 1df9f704a (Jan 4th '24).
@mantarimay: As soon as you confirm that you CAN build a package for SuSE Linux again, we'll be releasing 0.4.2. So once confirmed by you, you may want to wait a very little bit and go straight for 0.4.2 then. It will contain bug fixes only (quite important ones IMHO), if you don't mind.
Many thanks, and sorry for the inconveniences. :)
@Yaraslaut Glad if it works, missing dependency will I fix it in a new release. At least I can update on main repo even it doesn't work on my machine. Thank you for testing.
@mantarimay i'd like your machine to work though, as well...
@mantarimay any updates?
@Yaraslaut not yet. I decided to remove it from the main repo because v0.3 build failed took over 6 weeks and v0.4 did not properly work on my machine until now. I still think it's worth it if I push even though it does not work on my machine.
@Yaraslaut I am glad now that I know the problem. It's because I use QT_QPA_PLATFORMTHEME=gnome
.
@Yaraslaut I am glad now that I know the problem. It's because I use
QT_QPA_PLATFORMTHEME=gnome
.
Oh, great that everything is working now :)
@mantarimay FYI: I sadly need to release again, because last night release contains a mutex thread locking condition. So I'll release now, containing only the fix, but I sadly have to bump the numbers for this, to 0.4.3
Contour Terminal version
0.4.1.6292
Installer source
Github: source code cloned
Operating System
openSUSE Tumbleweed
Architecture
x86-64
Other Software
libunicode version : 0.4.0-21.1 boxed-cpp-devel version : 1.1.0-4.2 gnome-shell version : 45.0+172 git.1dda3393-220.1 labwc version : 0.7.0+28 git.21234a5-33.1
Steps to reproduce
Expected Behavior
Terminal appears and is functional, like version 0.3.
Actual Behavior
I tried version 0.3.12.262 and had no problem, but after upgrading to 0.4, terminal did not appear.
Additional notes
tested on wayland at gnome-shell & labwc (wlroots).
I wish I could push and update to the main repo on openSUSE, but sadly, it's not open properly.
Build info: https://build.opensuse.org/project/show/home:mantarimay:branches:X11:terminals