Recent

Author Topic: Common File Dialogs Have Been Broken for a Very Long Time (Ex: Ubuntu AARCH64)  (Read 34809 times)

zeljko

  • Hero Member
  • *****
  • Posts: 1792
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Ok, there is a warning about wayland.
https://wiki.freepascal.org/Qt5_Interface#Systems_using_Wayland
Although the warning mentioned another problem (not the window positions).

So wayland and Qt5/Qt6 is a no-go.

https://www.reddit.com/r/linux/comments/16vciex/lets_make_wayland_have_support_for_window/

(And wayland is becoming more and more mainstream so Qt5/Qt6 is no longer  advisable on Linux.)

Well, I've tested qt5 wayland on recent kde plasma (mint 22, mankaro etc), and it works ok (not excellent but works). Don't expect that it works fine with older distros. Qt6 plasma is even better. Personally, I'm using x11, and it will be so for at least next 3-5 years, until wayland matures.

rvk

  • Hero Member
  • *****
  • Posts: 6886
Well, I've tested qt5 wayland on recent kde plasma (mint 22, mankaro etc), and it works ok (not excellent but works).
At least with Fedora KDE Plasma Desktop 41 (latest default install), Qt5 compile will not be able to position Windows. Both Lazarus and your own application have problems positioning the windows correctly.

Even Fedora Workstation 41 (latest default install) with GNOME uses wayland (so also no correct window positions with Qt5).

zeljko

  • Hero Member
  • *****
  • Posts: 1792
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Try plasma 6. In any case it is not about lazarus, but about wayland protocols implementation

msintle

  • Sr. Member
  • ****
  • Posts: 358
Wayland sounds braindead indeed. How come Fedora uses it? I've heard Fedora being called repulsive before.

rvk

  • Hero Member
  • *****
  • Posts: 6886
Fedora, Ubuntu, Red Hat Enterprise, Debian, Slackware and Manjaro all ship wayland as default.
Although Ubuntu shorty switched back to X11 it's back on wayland as of 21.04.

(My own Ubuntu in Hyper-V does seem to have X11 default but maybe that's because of the Remote Desktop part)


https://en.wikipedia.org/wiki/Wayland_(protocol)

msintle

  • Sr. Member
  • ****
  • Posts: 358
Fedora, Ubuntu, Red Hat Enterprise, Debian, Slackware and Manjaro all ship wayland as default.
Although Ubuntu shorty switched back to X11 it's back on wayland as of 21.04.

(My own Ubuntu in Hyper-V does seem to have X11 default but maybe that's because of the Remote Desktop part)


https://en.wikipedia.org/wiki/Wayland_(protocol)

That's twice as interesting then, why does the issue (of dialogs popping up in random locations) only reproduce in my "Intel" Fedora Qt5 tests and not other OS's like "Intel" Manjaro, say?

rvk

  • Hero Member
  • *****
  • Posts: 6886
That's twice as interesting then, why does the issue (of dialogs popping up in random locations) only reproduce in my "Intel" Fedora Qt5 tests and not other OS's like "Intel" Manjaro, say?
Then check if your Menjaro runs wayland.


msintle

  • Sr. Member
  • ****
  • Posts: 358
That's twice as interesting then, why does the issue (of dialogs popping up in random locations) only reproduce in my "Intel" Fedora Qt5 tests and not other OS's like "Intel" Manjaro, say?
Then check if your Menjaro runs wayland.

How exactly?

rvk

  • Hero Member
  • *****
  • Posts: 6886
That's twice as interesting then, why does the issue (of dialogs popping up in random locations) only reproduce in my "Intel" Fedora Qt5 tests and not other OS's like "Intel" Manjaro, say?
Then check if your Menjaro runs wayland.

How exactly?
https://www.cyberciti.biz/faq/howto-check-for-wayland-or-x11-with-my-linux-desktop/

dsiders

  • Hero Member
  • *****
  • Posts: 1472
That's twice as interesting then, why does the issue (of dialogs popping up in random locations) only reproduce in my "Intel" Fedora Qt5 tests and not other OS's like "Intel" Manjaro, say?
Then check if your Menjaro runs wayland.

How exactly?

Code: Bash  [Select][+][-]
  1. echo $XDG_SESSION_TYPE
Preview the next Lazarus documentation release at: https://dsiders.gitlab.io/lazdocsnext

msintle

  • Sr. Member
  • ****
  • Posts: 358
That's twice as interesting then, why does the issue (of dialogs popping up in random locations) only reproduce in my "Intel" Fedora Qt5 tests and not other OS's like "Intel" Manjaro, say?
Then check if your Menjaro runs wayland.

How exactly?

Code: Bash  [Select][+][-]
  1. echo $XDG_SESSION_TYPE

Returns x11. So at least my Manjaro is sane, and I can consider this peta thread resolved?

msintle

  • Sr. Member
  • ****
  • Posts: 358
Any chance you might be able to upload this inside a ZIP file like last time, to prevent any script corruptions that may happen as we previously encountered?
Attached

Hi again!

Is there a way to edit/pass a command line to your script, so it installs a specific version of Lazarus, instead of the very latest trunk - which seems to have moved some functions around, or completely removed some (ex: LazGetLanguageIDs) and as such, is breaking our builds?
« Last Edit: March 02, 2025, 06:59:43 pm by msintle »

rvk

  • Hero Member
  • *****
  • Posts: 6886
Is there a way to edit/pass a command line to your script, so it installs a specific version of Lazarus, instead of the very latest trunk - which seems to have moved some functions around, and as such, is breaking our builds?
The script doesn't have a parameter, but at the top you have the lines to assign a version to fpc_version and laz_version. So uncomment those lines and fill in the version you want.

You can also leave fpc_version commented (for trunk) and only uncomment laz_version. But I'm not sure which version of fpc would best with certain versions of Lazarus.

msintle

  • Sr. Member
  • ****
  • Posts: 358
Is there a way to edit/pass a command line to your script, so it installs a specific version of Lazarus, instead of the very latest trunk - which seems to have moved some functions around, and as such, is breaking our builds?
The script doesn't have a parameter, but at the top you have the lines to assign a version to fpc_version and laz_version. So uncomment those lines and fill in the version you want.

You can also leave fpc_version commented (for trunk) and only uncomment laz_version. But I'm not sure which version of fpc would best with certain versions of Lazarus.

Wow great, thanks!

Edit:

So would:

#fpc_version="release_3_2_2"
#laz_version="lazarus_3_4"

Be valid identifiers for each of those fields, respectively? Or would we need another kind of formatting for the version numbers?
« Last Edit: March 02, 2025, 07:12:42 pm by msintle »

rvk

  • Hero Member
  • *****
  • Posts: 6886
So would:

#fpc_version="release_3_2_2"
#laz_version="lazarus_3_4"

Be valid identifiers for each of those fields, respectively? Or would we need another kind of formatting for the version numbers?
Yes, you need to use the names from the gitlab revisions and uncomment the lines.
So
Code: Bash  [Select][+][-]
  1. fpc_version="release_3_2_2"
  2. laz_version="lazarus_3_4"

https://gitlab.com/freepascal.org

Although I'm not sure if Lazarus 3.4 compiled with FPC 3.2.0 or 3.2.2
The announcement of 3.4 says FPC 3.2.2, so yes, that should be fine.
« Last Edit: March 02, 2025, 07:22:02 pm by rvk »

 

TinyPortal © 2005-2018