Bug Hunting Session
Bug 90794 - Fix the Linux HiDPI start screen
Summary: Fix the Linux HiDPI start screen
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
4.2.3.3 release
Hardware: Other All
: medium normal
Assignee: Heiko Tietze
URL:
Whiteboard: target:5.4.0 target:6.0.0
Keywords: difficultyInteresting, easyHack, skillCpp, topicUI
Depends on:
Blocks: HiDPI Splash-Screen
  Show dependency treegraph
 
Reported: 2015-04-22 22:20 UTC by Keith Curtis
Modified: 2017-11-30 14:26 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Keith Curtis 2015-04-22 22:20:59 UTC
LibreOffice looks pretty good on these screens now, but it leaves a bad first impression with the start bitmap.

Fixing this is platform specific. For Linux, the relevant file is:
http://opengrok.libreoffice.org/xref/core/desktop/unx/source/splashx.c

The first question is how to fetch the DPI. It can't use the OutputDevice::DPIScaleFactor, so it needs to do something like "xrdb -query" or borrow some of what Saldisp::Init does: http://opengrok.libreoffice.org/xref/core/vcl/unx/generic/app/saldisp.cxx#557

The next step is to get a high-res start bitmap, and display it when appropriate.

The final step is to fix the progress window which displays inside the start bitmap.

I believe this is an easy hack.
Comment 1 Mikeyy - L10n HR 2015-06-22 12:07:26 UTC
Isn't this problem on all OS?
Windows for example has very very small splash screen on my 3200x1800 resolution, win 8.1.
Tried to screencapture, but didn't manage.
Comment 2 Tomaz Vajngerl 2015-06-23 00:21:03 UTC
Maybe not a problem on OSX, but yes - it is a problem on Linux and Windows..
Comment 3 Keith Curtis 2015-07-02 21:00:09 UTC
This is also a problem on Windows, but that involves different code, and a different OS to build and test. A new person might not have all that. If someone can build on Linux and Windows, they would be a good candidate to fix both. The Windows change is probably easier.
Comment 4 Robinson Tryon (qubit) 2015-12-14 05:00:14 UTC Comment hidden (obsolete)
Comment 5 Robinson Tryon (qubit) 2016-02-18 14:52:23 UTC Comment hidden (obsolete)
Comment 6 Keith Curtis 2016-12-12 06:09:55 UTC
One suggestion. It could be possible to not bother trying to calculate resolution, and just say that for screens greater than 1600 pixels wide (or so) use a larger bitmap.
Comment 7 abhilash300singh 2016-12-13 09:58:08 UTC
Currently the splash image is loaded from /instdir/program. But it contains only a low resolution image. I'm not sure how to get a high res image in this directory. 

Once we have the high res image in this directory, we can check for screen size and pass the path of appropriately sized image to splash_load_bmp() and also fix the progress bar accordingly. So, I need help in getting a high res splash image in directory /instdir/program.

Thanks.
Comment 8 Keith Curtis 2016-12-15 00:49:20 UTC
I would talk to the designers about getting a high-res splash screen.

You could also just whip up one yourself, so you can do all your coding and testing with it you are waiting for an official one from them.
Comment 9 Commit Notification 2017-01-13 12:46:14 UTC
Abhilash Singh committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=f424c8f053797bc9d559865f52822d9cbf33ae3f

tdf#90794 Fix the Linux HiDPI start screen

It will be available in 5.4.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 10 jani 2017-01-16 07:16:01 UTC
Seems solved
Comment 11 Keith Curtis 2017-01-16 09:22:31 UTC
Did someone add a larger bitmap? All this code does is try to use it. Also, I think the progress bar has to be tweaked for the new size/position. How does that look?
Comment 12 abhilash300singh 2017-01-16 11:44:53 UTC
Yes, this is not solved yet. I was told on gerrit to wait for high res splash image.
Comment 13 Keith Curtis 2017-01-16 22:39:09 UTC
Alright, let's keep open.
Comment 14 jani 2017-05-14 07:42:35 UTC Comment hidden (obsolete)
Comment 15 Xisco Faulí 2017-06-14 02:22:49 UTC Comment hidden (obsolete)
Comment 16 Xisco Faulí 2017-07-15 02:31:43 UTC Comment hidden (obsolete)
Comment 17 Xisco Faulí 2017-08-15 02:23:32 UTC Comment hidden (obsolete)
Comment 18 Heiko Tietze 2017-08-28 10:00:38 UTC
Ideally we use the SVG for the splash screen. 

(removing ux-advice from cc)
Comment 19 Michael Meeks 2017-08-28 10:27:09 UTC
Hmm; splash-screen code has the job of getting the screen up and shown as soon as humanly possible with an utter minimum of dependencies; as such we shouldn't be linking lot of code (eg. needed to render SVG) into this, and/or spending lots of CPU cycles rendering big complex gradients or whatever =) We still get bug reports of users launching lots of LibreOffice-s on older machines since they don't see the splash fast enough. If we need a higher-res version - we should bundle it as a PNG/BMP onto the disk.

Thanks.
Comment 20 Heiko Tietze 2017-08-28 10:55:26 UTC
(In reply to Michael Meeks from comment #19)
> Hmm; splash-screen code has the job of getting the screen up and shown as
> soon as humanly possible...

Guess the progress bar takes most of the startup time on modern systems and a few milliseconds more for svg wouldn't be a big issue. But anyway, having two images is also okay for me. What size should it be?
Comment 21 Heiko Tietze 2017-11-22 18:09:54 UTC
Patch for the progress bar and 1.5x larger image submitted. Should be available in beta, if accepted. https://gerrit.libreoffice.org/#/c/45105/
Comment 22 Commit Notification 2017-11-23 15:10:03 UTC
heiko tietze committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=e27e6720ac1f7bb1e44872a7fd3cca5f3340b16a

tdf#90794 Position of progress bar on high res screens

It will be available in 6.0.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 23 Heiko Tietze 2017-11-23 15:12:37 UTC
Keith, please test the high-res screen on you display with the beta release which should be ready tomorrow. The image size and position of the progressbar is of interest (had to simulate high-res).
Comment 24 Heiko Tietze 2017-11-30 14:26:21 UTC
/done