Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:qzhao:branches:SUSE:SLE-15-SP4:Update
plymouth
plymouth-screen-twice-scale-on-160DPI-higher.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File plymouth-screen-twice-scale-on-160DPI-higher.patch of Package plymouth
diff -Nura plymouth-0.9.5~git20210406.e554475/src/libply/ply-utils.c plymouth-0.9.5~git20210406.e554475_new/src/libply/ply-utils.c --- plymouth-0.9.5~git20210406.e554475/src/libply/ply-utils.c 2021-04-06 19:53:40.000000000 +0800 +++ plymouth-0.9.5~git20210406.e554475_new/src/libply/ply-utils.c 2022-07-28 22:03:49.043107571 +0800 @@ -852,7 +852,7 @@ } /* The minimum resolution at which we turn on a device-scale of 2 */ -#define HIDPI_LIMIT 192 +#define HIDPI_TWICE_LIMIT 160 #define HIDPI_MIN_HEIGHT 1200 int @@ -866,6 +866,19 @@ const char *force_device_scale; device_scale = 1; + #define WIDTH_INCHS (width_mm / 25.4) + #define HEIGHT_INCHS (height_mm / 25.4) + + if (width > 0 && height > 0 && width_mm > 0 && height_mm > 0) { + ply_trace("screen width is %d mm", width_mm); + ply_trace("screen height is %d mm", height_mm); + ply_trace("screen width pixels is %d.", width); + ply_trace("screen height pixels is %d.", height); + dpi_x = (double)width / WIDTH_INCHS; + ply_trace("screen width DPI is %lf", dpi_x); + dpi_y = (double)height / HEIGHT_INCHS; + ply_trace("screen height DPI is %lf", dpi_y); + } if ((force_device_scale = getenv ("PLYMOUTH_FORCE_SCALE"))) return strtoul (force_device_scale, NULL, 0); @@ -884,14 +897,10 @@ (width_mm == 16 && height_mm == 10)) return 1; - if (width_mm > 0 && height_mm > 0) { - dpi_x = (double)width / (width_mm / 25.4); - dpi_y = (double)height / (height_mm / 25.4); - /* We don't completely trust these values so both - must be high, and never pick higher ratio than - 2 automatically */ - if (dpi_x > HIDPI_LIMIT && dpi_y > HIDPI_LIMIT) - device_scale = 2; + if (dpi_x > HIDPI_TWICE_LIMIT && dpi_y > HIDPI_TWICE_LIMIT) + { + device_scale = 2; + ply_trace("When DPI > 160, screen will scale output twice as community want."); } return device_scale;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor