Any PDF I open has the page set to landscape orientation regardless of the orientation set in the document. All the text is subsequently stretched to fit landscape mode, making reading difficult. Other PDF viewers (xpdf, gpdfview) don't show this issue. As xpdf is fine, I suspect it isn't an issue with poppler. There doesn't appear to be any option to force page orientation. View->Page Size is greyed out. Reproducible: Always Steps to Reproduce: 1. Open any pdf document in Okular 2. 3. Actual Results: PDF is rendered with pages in landscape orientation and text stretched to fit Expected Results: Render the page in the orientation specified in the document
I have some further analysis to add. I have a 3 screen setup with differing aspect ratios (a 1080p laptop and two regular 1600x1200 external monitors). When I open the file from a window on the laptop (from konsole, Dolphin etc.), the PDF is rendered correctly. When I open from something in the external monitors, the PDF is incorrectly rendered, making the page look landscape. Perhaps Okular is using a system-wide parameter for aspect ratio and using this to render?
I knew i should not accept the patch to use the DPI of the screen ^_^
Eugene this looks like it may be related to your patch. Can you have a look?
May we get outputs from xrandr and "kscreen-console bug", please? Could you, please, check that commands xrandr and "kscreen-console" show identical and correct DPI information about your screens? I.e. screens sizes in mm and pixels.
No, our patch is the best one! ;) > I knew i should not accept the patch to use the DPI of the screen ^_^
(In reply to comment #1) > Perhaps Okular is using a system-wide parameter for aspect ratio and using > this to render? Yes, it does use DPI of the current screen when renders PDF. Could you please make the following test: open Okular window on one screen, move completely to others and refresh it (File/Reload or F5 in default configuration). Does the window become distorted?
(In reply to comment #6) > (In reply to comment #1) > > Perhaps Okular is using a system-wide parameter for aspect ratio and using > > this to render? > Yes, it does use DPI of the current screen when renders PDF. Could you > please make the following test: open Okular window on one screen, move > completely to others and refresh it (File/Reload or F5 in default > configuration). Does the window become distorted? Yes, it becomes distorted after reloading.
(In reply to comment #4) > May we get outputs from xrandr and "kscreen-console bug", please? Could you, > please, check that commands xrandr and "kscreen-console" show identical and > correct DPI information about your screens? I.e. screens sizes in mm and > pixels. xrandr and kscreen-console appear to be correct. Note, both external monitors are acting as one large monitor, as you can see from the output below. Perhaps this is confusing something? xrandr output: Screen 0: minimum 320 x 200, current 5120 x 1989, maximum 32767 x 32767 eDP1 connected 1920x1080+3200+909 (normal left inverted right x axis y axis) 309mm x 173mm 1920x1080 60.0*+ 59.9 1680x1050 60.0 59.9 1600x1024 60.2 1400x1050 60.0 1280x1024 60.0 1440x900 59.9 1280x960 60.0 1360x768 59.8 60.0 1152x864 60.0 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 HDMI1 disconnected (normal left inverted right x axis y axis) DP1 connected primary 3200x1200+0+0 (normal left inverted right x axis y axis) 367mm x 275mm 1600x1200 60.0 + 3200x1200 60.0* 2560x1024 60.0 1280x1024 75.0 60.0 1152x864 75.0 1024x768 75.1 60.0 800x600 75.0 60.3 640x480 75.0 60.0 720x400 70.1 HDMI2 disconnected (normal left inverted right x axis y axis) VIRTUAL1 disconnected (normal left inverted right x axis y axis) kscreen-console output: START Config::current() took 58 milliseconds KScreen version: 1.0.2.1 Screen: maxSize: QSize(32767, 32767) minSize: QSize(320, 200) currentSize: QSize(5120, 1989) ----------------------------------------------------- Id: 68 Name: "HDMI1" Type: "Unknown" Connected: false ----------------------------------------------------- Id: 69 Name: "DP1" Type: "Unknown" Connected: true Enabled: true Primary: false Rotation: 1 Pos: QPoint(0,0) MMSize: QSize(367, 275) Size: QSize(3200, 1200) Clones: 1 Mode: "193" Preferred Mode: "74" Preferred modes: ("74") Modes: "201" "720x400" QSize(720, 400) 70.0817 "190" "800x600" QSize(800, 600) 60.3165 "193" "3200x1200" QSize(3200, 1200) 59.9986 "183" "1280x1024" QSize(1280, 1024) 60.0197 "194" "2560x1024" QSize(2560, 1024) 59.999 "195" "1280x1024" QSize(1280, 1024) 75.0247 "196" "1152x864" QSize(1152, 864) 75 "197" "1024x768" QSize(1024, 768) 75.0762 "74" "1600x1200" QSize(1600, 1200) 60 "198" "800x600" QSize(800, 600) 75 "199" "640x480" QSize(640, 480) 75 "189" "1024x768" QSize(1024, 768) 60.0038 "200" "640x480" QSize(640, 480) 60 EDID Info: Device ID: "xrandr-Dell Inc.-DELL 2001FP-810561612" Name: "DELL 2001FP" Vendor: "Dell Inc." Serial: "810561612" EISA ID: "" Hash: "5cffc9a8fdc663d65e366ca109bce539" Width: 41 Height: 31 Gamma: 2 Red: QQuaternion(scalar:1, vector:(0.637695, 0.339844, 0)) Green: QQuaternion(scalar:1, vector:(0.292969, 0.608398, 0)) Blue: QQuaternion(scalar:1, vector:(0.146484, 0.0673828, 0)) White: QQuaternion(scalar:1, vector:(0.3125, 0.328125, 0)) ----------------------------------------------------- Id: 70 Name: "HDMI2" Type: "Unknown" Connected: false ----------------------------------------------------- Id: 71 Name: "VIRTUAL1" Type: "Unknown" Connected: false ----------------------------------------------------- Id: 67 Name: "eDP1" Type: "Panel (Laptop)" Connected: true Enabled: true Primary: false Rotation: 1 Pos: QPoint(3200,909) MMSize: QSize(309, 173) Size: QSize(1920, 1080) Clones: None Mode: "73" Preferred Mode: "73" Preferred modes: ("73") Modes: "179" "1680x1050" QSize(1680, 1050) 59.9543 "190" "800x600" QSize(800, 600) 60.3165 "180" "1680x1050" QSize(1680, 1050) 59.8833 "191" "800x600" QSize(800, 600) 56.25 "181" "1600x1024" QSize(1600, 1024) 60.1691 "192" "640x480" QSize(640, 480) 59.9405 "182" "1400x1050" QSize(1400, 1050) 59.9756 "183" "1280x1024" QSize(1280, 1024) 60.0197 "184" "1440x900" QSize(1440, 900) 59.8874 "185" "1280x960" QSize(1280, 960) 60 "73" "1920x1080" QSize(1920, 1080) 60.0495 "186" "1360x768" QSize(1360, 768) 59.799 "187" "1360x768" QSize(1360, 768) 59.96 "188" "1152x864" QSize(1152, 864) 59.9971 "178" "1920x1080" QSize(1920, 1080) 59.9339 "189" "1024x768" QSize(1024, 768) 60.0038 EDID Info: Device ID: "xrandr-AU Optronics" Name: "" Vendor: "AU Optronics" Serial: "" EISA ID: "XTRY9�B140HA" Hash: "cc43fc659b4d57e88e2b0b678cf58347" Width: 31 Height: 17 Gamma: 2 Red: QQuaternion(scalar:1, vector:(0.642578, 0.335938, 0)) Green: QQuaternion(scalar:1, vector:(0.313477, 0.620117, 0)) Blue: QQuaternion(scalar:1, vector:(0.151367, 0.0527344, 0)) White: QQuaternion(scalar:1, vector:(0.313477, 0.329102, 0))
Hmmm, i'm not so sure about the kscreen values being correct Two screens MMSize: QSize(367, 275) Size: QSize(3200, 1200) laptop screen MMSize: QSize(309, 173) Size: QSize(1920, 1080) This would mean that each of your 1600x1200 screen is only 183mmx275mm which would mean they are taller than higher, no?
taller than wider i mean
(In reply to comment #9) > Hmmm, i'm not so sure about the kscreen values being correct > > Two screens > MMSize: QSize(367, 275) > Size: QSize(3200, 1200) > > laptop screen > MMSize: QSize(309, 173) > Size: QSize(1920, 1080) > > This would mean that each of your 1600x1200 screen is only 183mmx275mm which > would mean they are taller than higher, no? Ah yes, I see what you mean. It looks like the dimensions are for each individual screen, not the combined. Interestingly, I've just measured the monitors are they are more like 405x305 MM. The laptop size is correct though.
Or yes, I was to post the same question: (In reply to comment #8) > xrandr and kscreen-console appear to be correct. Note, both external > monitors are acting as one large monitor, as you can see from the output > below. Perhaps this is confusing something? No, not everything is correct. Dell 2001FP is 20'' 1600x1200 screen. In your xrandr (and therefore kscreen) output the physical size of your combined external screen is 367mm x 275mm, that results in 458.6 mm (18'') diagonal. I.e. this is the size of one screen, perhaps? So, then the question is: how did you setup this external screen that resulted in its incorrect size?
(In reply to comment #12) I think we cross-posted there :) 405x305 MM gives about 507MM diagonal, so the kscreen output looks plain wrong. The EDID Info does give approx. correct dimensions. if it is in CMs: Width: 41 Height: 31 > So, then the question is: how did you setup this external screen that > resulted in its incorrect size? Some background: I'm using a laptop with a Haswell processor (Dell Latitude E7440), which now supports 3 monitors. The ability to drive the external monitors in dualhead mode has been lost - this is a known issue using laptops with Haswell graphics & docking stations with two external monitors (https://bugs.freedesktop.org/show_bug.cgi?id=72795). Do you think this is a bug with libkscreen, rather than Okular?
kscreen simply gets the size from xrandr, and xrandr in your example also shows the same wrong size: DP1 connected primary 3200x1200+0+0 (normal left inverted right x axis y axis) 367mm x 275mm Maybe you can override this size in your X config so we can understand is this indeed the source of the problem? Those values fom EDID must be bytes 21--22 (sizes in cm). We prefer sizes in mm for DPI calculations. These numbers come to xrandr, as I understand, from EDID Detailed Timing Descriptor.
(In reply to comment #14) > Maybe you can override this size in your X config so we can understand is > this indeed the source of the problem? Ups, sorry. This will not help. I wrote the code to ignore X DPI values by myself :)
But you can use --fbmm or --dpi switches of xrandr to set the correct size
(In reply to comment #16) > But you can use --fbmm or --dpi switches of xrandr to set the correct size Tried: xrandr --output DP1 --fbmm 405x305 The screen flashes briefly, but xrandr -q shows that the dimensions haven't changed. Either I'm being a noob driving xrandr, or it is ignoring whatever I enter for the dimensions.
OK. It seems like either EDID needs to be fixed, or we need a workaround... I will investigate solution with EDID. For a workaround we can try to compare sizes from EDID (cm) and extended EDID (mm). How to decide which ones are wrong? Maybe it is simplier to get users with buggy EDIDs an option to ignore them, to overwrite scren size? Perhaps this even can be done in kscreen? Albert?
Is kscreen providing to us both the size in cm and in mm? I couldn't see it. If so if size cm and size mm do not return the same values (or comparable), we should just bail out and use the old code. Also it would be good if kscreen added some kind of "isGood" bool that did this check but if we can just do it ourselves that'd be just "extra".
KScreen provides decoded EDID via output->edid(), with width and height (in cm). I support the proposed solution for Okualr, but do not think that isGood() or something makes sence for KSCreen since there might be any errors in EDIDs (not only size related, I mean) and it is not clear how to check and thud such function can not be considered reliable.
Ok, where's the patch? ;-)
I've made these trivial changes, but during the testing I found that my external screen is also suffering from this problem (xrandr reports incorrect size in mm, but correct in cm). I'm pretty sure that it was not the case before. On Tuesday I will have an access to my office screen and will check with it. Therefore for me the situatuin seems to be a bit more complicated than just an incorrect EDID problem
Created attachment 86170 [details] trivial check for not self-consistant EDIDs So, here is the patch
checked my EDIDs: xrandr is right, monitor is wrong. Strange, I thought it had to be correct
so you basically say the patch in comment #23 will make it stop working for you? Also why + if (!selectedOutput->isHorizontal()) + { + res.transpose(); + } ?
Yes, I have several external screens (one of them at home, rest at office). Some of them have invalid EDIDs. I thought that my home one is correct, but it turned out that it is not. if (!selectedOutput->isHorizontal()) checks for vertical screen. I have not found where Okular accounts for vertical orientation.
(In reply to comment #26) > Yes, I have several external screens (one of them at home, rest at office). > Some of them have invalid EDIDs. I thought that my home one is correct, but > it turned out that it is not. So the question is, do we still want to check for invalid EDIDs? There's another way we can let the user fix his stuff? > if (!selectedOutput->isHorizontal()) checks for vertical screen. I have not > found where Okular accounts for vertical orientation. And what does this have to do with this bug?
Alex, Dan, I'd appreciate your input here in what to do in cases where kscreen is reporting the wrong size for a screen.
Created attachment 86211 [details] trivial check for not self-consistant EDIDs v2 Got hands on a screen with correct EDID and fixed the patch (signed/unsgined arithmetic). Now it works as it has to. However, now I think that it maybe would be better to use screen size in cm rather then ignore it completetly. Maybe we can use an environemnt variable or settings option to disable DPI detection? Or option to set it (autodetection/user specified value)? BTW, Adobe Reader has it.
I still don't understand the isHorizontal part, either leave it out, or explain why it is there better. And you should really be using reviewboard for patches, makes all this much easier.
Eugene?
Albeert, I'm very busy these days, hope to finish my buisness this week. In the meantime, please, answer my question below. "isHorizontal part" checks for screen, rotated into portrait orientation. I currently see two possible solutions: 1. Assume some level of precision in DPI determination, check sizes in mm and cm, if they match or size in cm gives DPI with required presicion use it, ignore xrandr results otherwise. This level could be, say, 10%, then screen of 50 cm or larger gives this precision when we know rounded to cm size only. 2. Additionally add UI option to override results of DPI detection, as Adobe sofwre does. There we can show results of detection (and screen sizes to make it easier for user to understand where does the number comes from). Which one would you choose?
Pardon, in the example with precision 50 cm results in 1%, of course
Ok, now i understand the patch. I'm going to commit it and close the bug. If you want to work in a way for people to be able to override the dpi in the config dialog as advanced option i think we could also take that, i guess it depends on the number of broken edids/dpi configs around.
Git commit 88725241b89bfb0707407303f4e19296e5bace43 by Albert Astals Cid, on behalf of Eugene Shalygin. Committed on 01/05/2014 at 22:41. Pushed by aacid into branch 'KDE/4.13'. Make sure edid and xrand sizes match before using them to calculate DPI M +17 -2 core/utils.cpp http://commits.kde.org/okular/88725241b89bfb0707407303f4e19296e5bace43
(In reply to comment #34) Perfect, thanks!
*** Bug 334226 has been marked as a duplicate of this bug. ***
Hi there! Just tried your patched utils.cpp with Okular 4.13 (both with -DWITH_LibKScreen=OFF and ON) and it does not make any difference. I also have a dual monitor setup on Nvidia, is there any data I can provide?
-DWITH_LibKScreen=OFF should totally work I'm going to guess that you're not compiling it correctly. Can you describe what you are doing?
After some testing I guess this is a slightly different problem (although probably related) Without the patch I was running cmake --no-warn-unused-cli -C /var/tmp/portage/kde-base/okular-4.13.0/work/okular-4.13.0_build/gentoo_common_config.cmake -G Unix Makefiles -DCMAKE_INSTALL_PREFIX=/usr -DKDE4_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DWITH_chm=ON -DWITH_CHM=ON -DWITH_Chm=ON -DWITH_QCA2=ON -DWITH_DjVuLibre=ON -DWITH_LibKScreen=OFF -DWITH_EPub=ON -DWITH_jpeg=ON -DWITH_JPEG=ON -DWITH_Jpeg=ON -DWITH_QMobiPocket=OFF -DWITH_LibSpectre=ON -DWITH_PopplerQt4=ON -DWITH_Poppler=ON -DWITH_tiff=ON -DWITH_TIFF=ON -DWITH_Tiff=ON -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_INSTALL_DO_STRIP=OFF -DCMAKE_USER_MAKE_RULES_OVERRIDE=/var/tmp/portage/kde-base/okular-4.13.0/work/okular-4.13.0_build/gentoo_rules.cmake /var/tmp/portage/kde-base/okular-4.13.0/work/okular-4.13.0 and got optional LibKScreen (1.0.2 or higher) <https://projects.kde.org/projects/kdereview/libkscreen> reported as not installed because - well - it was not installed ;) So I installed libkscreen and compiled again: same result as expected. Then I tried again with -DWITH_LibKScreen=ON and it works as expected (still without the patch!). I might have to add this this problem occurred after the update from 4.12 to 4.13.
persists in 4.13.1 and 0.19.1, two nvidia cards, 3 monitors, 2 landscape, proprietary driver
Do you mean the Okular part of the bug, i.e. that it does not detect incorrect EDIDs? Anyway, could you provide outpur of "kscreen-console bug" command, please?
START Can't get XRandR version kscreen-console: Fatal IO error: client killed
with root: kscreen-console(5041)/kdeui (kdelibs): Session bus not found To circumvent this problem try the following command (with Linux and bash) export $(dbus-launch) KCrash: Application 'kscreen-console' crashing... KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit sock_file=/root/.kde4/socket-entanglement/kdeinit4__0 Warning: connect() failed: : No such file or directory KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi directly drkonqi(5042)/kdeui (kdelibs): Session bus not found To circumvent this problem try the following command (with Linux and bash) export $(dbus-launch)
using xinerama by the way
And what is the version of libkscreen?
libkscreen is 1.0.4-1.1
I am confused, is it crashing or you get wide pages?
(In reply to comment #48) > I am confused, is it crashing or you get wide pages? stretched pages in landscape mode display
What do you mean with "landscape mode display"? Can you please run kdebugdialog, enable all the output the bug for okular, then run okular and attach the output you get in this bug?
I mean rotating two of my separate x-screens in 'nvidia-settings' I got the message when opening a pdf: okular(19916)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/var/tmp/kdecache-cz12g09mUL024/ksycoca4" okular(19916)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig: okular(19916)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig: okular(19916)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig: okular(19916)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig: okular(19916)/kparts KParts::ReadWritePart::setModified: setModified( false ) okular(19916)/kparts KParts::ReadWritePart::setModified: setModified( false ) okular(19916)/kdecore (trader) KMimeTypeTrader::query: query for mimeType "application/pdf" , "okular/Generator" : returning 1 offers okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1274x2278@6 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1274x2278@7 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1274x2278@5 okular(19916)/okular (app) Okular::DocumentPrivate::sendGeneratorPixmapRequest: sending request observer=0x146be08 1274x2278@6 async == true isTile == false okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1274x2278@6 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1274x2278@7 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1274x2278@5 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@6 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@7 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@5 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@6 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@7 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@5 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x16f65c8 53x95@0 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x16f65c8 53x95@1 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x16f65c8 53x95@2 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x16f65c8 53x95@3 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x16f65c8 53x95@4 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x16f65c8 53x95@5 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x16f65c8 53x95@6 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@6 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@7 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@5 okular(19916)/okular (app) Okular::DocumentPrivate::sendGeneratorPixmapRequest: sending request observer=0x146be08 1257x2248@6 async == true isTile == false okular(19916)/okular (app) Okular::DocumentPrivate::sendGeneratorPixmapRequest: sending request observer=0x16f65c8 53x95@0 async == true isTile == false okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@7 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@5 okular(19916)/okular (app) Okular::DocumentPrivate::sendGeneratorPixmapRequest: sending request observer=0x16f65c8 53x95@1 async == true isTile == false okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@7 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@5 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@7 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@5 okular(19916)/okular (app) Okular::DocumentPrivate::sendGeneratorPixmapRequest: sending request observer=0x16f65c8 53x95@2 async == true isTile == false okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@7 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@5 okular(19916)/okular (app) Okular::DocumentPrivate::sendGeneratorPixmapRequest: sending request observer=0x16f65c8 53x95@3 async == true isTile == false okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@7 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@5 okular(19916)/okular (app) Okular::DocumentPrivate::sendGeneratorPixmapRequest: sending request observer=0x16f65c8 53x95@4 async == true isTile == false okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@7 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@5 okular(19916)/okular (app) Okular::DocumentPrivate::sendGeneratorPixmapRequest: sending request observer=0x16f65c8 53x95@5 async == true isTile == false okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@7 okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@5 okular(19916)/okular (app) Okular::DocumentPrivate::sendGeneratorPixmapRequest: sending request observer=0x16f65c8 53x95@6 async == true isTile == false okular(19916)/okular (app) Okular::DocumentPrivate::sendGeneratorPixmapRequest: sending request observer=0x146be08 1257x2248@7 async == true isTile == false okular(19916)/okular (app) Okular::Document::requestPixmaps: request observer=0x146be08 1257x2248@5 okular(19916)/okular (app) Okular::DocumentPrivate::sendGeneratorPixmapRequest: sending request observer=0x146be08 1257x2248@5 async == true isTile == false
Hmmm, ok, this is a bit harder than i thought to debug, would you be able to try a custom .deb built with some more debug information?
sure but I am using opensuse so a .rpm package would be easier
Sorry i can't provide an opensuse package, i didn't realize you were not the original reporter of the bug. So we'll either have to wait for 4.13.2 to include the new debug output I need and then land the fix in 4.13.3 or you'll have to compile okular yourself. Do you see yourself able to follow the instructions at the "Okular" section of http://okular.kde.org/download.php ?
I will wait for 4.13.2 then, thanks
seems xinerama-related, I turned off xinerama and it works fine.
any patch to deal with xinerama?
Well, you said you can't test a patch, and now you're asking for one? I'm confused.
Relax, I am just pointing out the bug could be related to xinerama support. I take my time to report bugs, that's what users do, isnt it? :) Besides, you never offered any patches earlier... (In reply to comment #58) > Well, you said you can't test a patch, and now you're asking for one? I'm > confused.
Well, i asked if you could build okular yourself. I obviously did ask that because i wanted you to try a patch, why otherwise would i interested in you building okular by yourself?
Well you could recreate the environment with nvidia and xinerama to see if the bug recurs if you are really keen on the project. I am just a user who uses okular occasionally, nobody pays me to do a bunch of builds to test the bug, besides, it's a company computer and I couldn't mess with it too much.
Yes, I could buy a new computer with nvidia so i could do a test, but since nobody pays me to do any of the development you're enjoying for free, no i'm not going to do it.
yes do say that to the linux community and they will love it :) (In reply to comment #62) > Yes, I could buy a new computer with nvidia so i could do a test, but since > nobody pays me to do any of the development you're enjoying for free, no i'm > not going to do it.
(In reply to comment #63) > yes do say that to the linux community and they will love it :) > Or someone else could just test it. Okular is volunteer work for the developers, sometimes a bit of collaboration from the users is quite needed for testing patches for environments which developers have no access to.
Hi, As a follow up, I've just tested Okular 0.19.2 from KDE 4.13.2 and can confirm that the original issue I reported has been fixed. I'm happy to close this bug. Thanks very much guys for fixing the issue.
Not to be a pain, but I'm still encountering this bug in the following configuration: Late 2013 MBP NVIDIA GeForce GT 750M 2048 MB Kubuntu 14.04 VM KDE 4.13.3 Okular 0.19.3 Parallels Build 9.0.2425 2 external monitors (1920x1200 each) Parallels provides a single 3840x1200 display to Kubuntu libkscreen1:amd64/trusty-updates 1.0.5-0ubuntu1~ubuntu14.04 Here is the output of 'kscreen-console debug': >>>>> START Config::current() took 4 milliseconds ========================xrandr --verbose========================== xrandr: Failed to get size of gamma for output default Screen 0: minimum 640 x 400, current 3840 x 1200, maximum 3840 x 1600 default connected primary 3840x1200+0+0 (0x91) normal (normal) 0mm x 0mm Identifier: 0x59 Timestamp: 232386 Subpixel: no subpixels Clones: CRTC: 0 CRTCs: 0 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: 1920x1200 (0x64) 138.2MHz h: width 1920 start 0 end 0 total 1920 skew 0 clock 72.0KHz v: height 1200 start 0 end 0 total 1200 clock 60.0Hz 1920x1080 (0x65) 124.4MHz h: width 1920 start 0 end 0 total 1920 skew 0 clock 64.8KHz v: height 1080 start 0 end 0 total 1080 clock 60.0Hz 1600x1200 (0x66) 115.2MHz h: width 1600 start 0 end 0 total 1600 skew 0 clock 72.0KHz v: height 1200 start 0 end 0 total 1200 clock 60.0Hz 1680x1050 (0x67) 105.8MHz h: width 1680 start 0 end 0 total 1680 skew 0 clock 63.0KHz v: height 1050 start 0 end 0 total 1050 clock 60.0Hz 1600x1000 (0x68) 96.0MHz h: width 1600 start 0 end 0 total 1600 skew 0 clock 60.0KHz v: height 1000 start 0 end 0 total 1000 clock 60.0Hz 1400x1050 (0x69) 88.2MHz h: width 1400 start 0 end 0 total 1400 skew 0 clock 63.0KHz v: height 1050 start 0 end 0 total 1050 clock 60.0Hz 1344x1008 (0x6a) 81.3MHz h: width 1344 start 0 end 0 total 1344 skew 0 clock 60.5KHz v: height 1008 start 0 end 0 total 1008 clock 60.0Hz 1280x1024 (0x6b) 78.6MHz h: width 1280 start 0 end 0 total 1280 skew 0 clock 61.4KHz v: height 1024 start 0 end 0 total 1024 clock 60.0Hz 1440x900 (0x6c) 77.8MHz h: width 1440 start 0 end 0 total 1440 skew 0 clock 54.0KHz v: height 900 start 0 end 0 total 900 clock 60.0Hz 1280x960 (0x6d) 73.7MHz h: width 1280 start 0 end 0 total 1280 skew 0 clock 57.6KHz v: height 960 start 0 end 0 total 960 clock 60.0Hz 1344x840 (0x6e) 67.7MHz h: width 1344 start 0 end 0 total 1344 skew 0 clock 50.4KHz v: height 840 start 0 end 0 total 840 clock 60.0Hz 1360x768 (0x6f) 62.7MHz h: width 1360 start 0 end 0 total 1360 skew 0 clock 46.1KHz v: height 768 start 0 end 0 total 768 clock 60.0Hz 1280x800 (0x70) 61.4MHz h: width 1280 start 0 end 0 total 1280 skew 0 clock 48.0KHz v: height 800 start 0 end 0 total 800 clock 60.0Hz 1024x768 (0x5a) 47.2MHz h: width 1024 start 0 end 0 total 1024 skew 0 clock 46.1KHz v: height 768 start 0 end 0 total 768 clock 60.0Hz 800x600 (0x5b) 28.8MHz h: width 800 start 0 end 0 total 800 skew 0 clock 36.0KHz v: height 600 start 0 end 0 total 600 clock 60.0Hz 640x480 (0x5c) 18.4MHz h: width 640 start 0 end 0 total 640 skew 0 clock 28.8KHz v: height 480 start 0 end 0 total 480 clock 60.0Hz 1024x640 (0x5d) 39.3MHz h: width 1024 start 0 end 0 total 1024 skew 0 clock 38.4KHz v: height 640 start 0 end 0 total 640 clock 60.0Hz 960x600 (0x5e) 34.6MHz h: width 960 start 0 end 0 total 960 skew 0 clock 36.0KHz v: height 600 start 0 end 0 total 600 clock 60.0Hz 848x480 (0x5f) 24.4MHz h: width 848 start 0 end 0 total 848 skew 0 clock 28.8KHz v: height 480 start 0 end 0 total 480 clock 60.0Hz 800x500 (0x60) 24.0MHz h: width 800 start 0 end 0 total 800 skew 0 clock 30.0KHz v: height 500 start 0 end 0 total 500 clock 60.0Hz 640x400 (0x61) 15.4MHz h: width 640 start 0 end 0 total 640 skew 0 clock 24.0KHz v: height 400 start 0 end 0 total 400 clock 60.0Hz 3840x1200 (0x91) 276.5MHz *current h: width 3840 start 0 end 0 total 3840 skew 0 clock 72.0KHz v: height 1200 start 0 end 0 total 1200 clock 60.0Hz 2560x1600 (0x62) 245.8MHz h: width 2560 start 0 end 0 total 2560 skew 0 clock 96.0KHz v: height 1600 start 0 end 0 total 1600 clock 60.0Hz 2048x1536 (0x63) 188.7MHz h: width 2048 start 0 end 0 total 2048 skew 0 clock 92.2KHz v: height 1536 start 0 end 0 total 1536 clock 60.0Hz ========================Outputs=================================== KScreen version: 1.0.2.1 Screen: maxSize: QSize(3840, 1600) minSize: QSize(640, 400) currentSize: QSize(3840, 1200) ----------------------------------------------------- Id: 89 Name: "default" Type: "Unknown" Connected: true Enabled: true Primary: true Rotation: 1 Pos: QPoint(0,0) MMSize: QSize(0, 0) Size: QSize(3840, 1200) Clones: None Mode: "145" Preferred Mode: "145" Preferred modes: () Modes: "92" "640x480" QSize(640, 480) 60 "93" "1024x640" QSize(1024, 640) 60 "94" "960x600" QSize(960, 600) 60 "95" "848x480" QSize(848, 480) 60 "100" "1920x1200" QSize(1920, 1200) 60 "96" "800x500" QSize(800, 500) 60 "101" "1920x1080" QSize(1920, 1080) 60 "102" "1600x1200" QSize(1600, 1200) 60 "97" "640x400" QSize(640, 400) 60 "103" "1680x1050" QSize(1680, 1050) 60 "98" "2560x1600" QSize(2560, 1600) 60 "99" "2048x1536" QSize(2048, 1536) 60 "104" "1600x1000" QSize(1600, 1000) 60 "105" "1400x1050" QSize(1400, 1050) 60 "106" "1344x1008" QSize(1344, 1008) 60 "107" "1280x1024" QSize(1280, 1024) 60 "108" "1440x900" QSize(1440, 900) 60 "109" "1280x960" QSize(1280, 960) 60 "110" "1344x840" QSize(1344, 840) 60 "111" "1360x768" QSize(1360, 768) 60 "112" "1280x800" QSize(1280, 800) 60 "90" "1024x768" QSize(1024, 768) 60 "145" "3840x1200" QSize(3840, 1200) 60 "91" "800x600" QSize(800, 600) 60 EDID Info: Unavailable ========================Configurations============================ Configs in: "/home/jtiller/.kde/share/apps/kscreen/" Number of files: 4 "9818de64370f5ade70de0b1d5ae2f7a6" "[ { "enabled" : true, "id" : "23fa303221f6fd5b2b9a2120d43d6126", "metadata" : { "fullname" : "xrandr-VBOX monitor-50332672", "name" : "VBOX0" }, "mode" : { "refresh" : 59.9997, "size" : { "height" : 768, "width" : 1024 } }, "pos" : { "x" : 0, "y" : 0 }, "primary" : true, "rotation" : 1 }, { "enabled" : true, "id" : "23fa303221f6fd5b2b9a2120d43d6126", "metadata" : { "fullname" : "xrandr-VBOX monitor-50332672", "name" : "VBOX1" }, "mode" : { "refresh" : 59.9997, "size" : { "height" : 768, "width" : 1024 } }, "pos" : { "x" : 1024, "y" : 0 }, "primary" : false, "rotation" : 1 } ]" "bec01ce334f997d58a626d2bff9857b3" "[ { "enabled" : true, "id" : "86f2adaee1b59ea4715262a79bb0b2c8", "metadata" : { "fullname" : "xrandr-VBOX monitor-78645120", "name" : "VBOX0" }, "mode" : { "refresh" : 59.9998, "size" : { "height" : 1200, "width" : 1920 } }, "pos" : { "x" : 1920, "y" : 0 }, "primary" : false, "rotation" : 1 }, { "enabled" : true, "id" : "86f2adaee1b59ea4715262a79bb0b2c8", "metadata" : { "fullname" : "xrandr-VBOX monitor-78645120", "name" : "VBOX1" }, "mode" : { "refresh" : 59.9998, "size" : { "height" : 1200, "width" : 1920 } }, "pos" : { "x" : 0, "y" : 0 }, "primary" : false, "rotation" : 1 } ]" "c21f969b5f03d33d43e04f8f136e7682" "[ { "enabled" : true, "id" : "default", "metadata" : { "name" : "default" }, "mode" : { "refresh" : 60.0, "size" : { "height" : 1200, "width" : 1920 } }, "pos" : { "x" : 0, "y" : 0 }, "primary" : true, "rotation" : 1 } ]" "e6ceccfe81a71612052c8fb53ef86222" "[ { "enabled" : true, "id" : "66bb4463cdb3c04be1cdbfde6831f368", "metadata" : { "fullname" : "xrandr-VBOX monitor-50333014", "name" : "VBOX0" }, "mode" : { "refresh" : 59.9994, "size" : { "height" : 768, "width" : 1366 } }, "pos" : { "x" : 0, "y" : 0 }, "primary" : true, "rotation" : 1 }, { "enabled" : true, "id" : "66bb4463cdb3c04be1cdbfde6831f368", "metadata" : { "fullname" : "xrandr-VBOX monitor-50333014", "name" : "VBOX1" }, "mode" : { "refresh" : 59.9994, "size" : { "height" : 768, "width" : 1366 } }, "pos" : { "x" : 1366, "y" : 0 }, "primary" : false, "rotation" : 1 } ]" <<<<< xrandr output: >>>>> xrandr: Failed to get size of gamma for output default Screen 0: minimum 640 x 400, current 3840 x 1200, maximum 3840 x 1600 default connected primary 3840x1200+0+0 0mm x 0mm 1920x1200 60.0 1920x1080 60.0 1600x1200 60.0 1680x1050 60.0 1600x1000 60.0 1400x1050 60.0 1344x1008 60.0 1280x1024 60.0 1440x900 60.0 1280x960 60.0 1344x840 60.0 1360x768 60.0 1280x800 60.0 1024x768 60.0 800x600 60.0 640x480 60.0 1024x640 60.0 960x600 60.0 848x480 60.0 800x500 60.0 640x400 60.0 3840x1200 60.0* 2560x1600 60.0 2048x1536 60.0 <<<<< Anything else I can do to help debug this?
I'm not quite sure whether this bug is "solved" now or not, but I have similar issues with my setup here. I'm running Ubuntu 14.04. Okular 0.19.3. When I changed from a single Monitor to 2 monitors (2 24" Dell) I started to experience the "Landscape" behavior (I.e. the physical width seems to be calculated in the wrong way). kscreen-console lists a single monitor as physical size for both monitors: Id: 100 Name: "DP1" Type: "Unknown" Connected: true Enabled: true Primary: true Rotation: 1 Pos: QPoint(0,0) MMSize: QSize(527, 297) Size: QSize(3840, 1080) Clones: 1 Mode: "221" Preferred Mode: "106" Preferred modes: ("106") Modes: "223" "1600x900" QSize(1600, 900) 59.9825 "224" "1280x1024" QSize(1280, 1024) 75.0247 "225" "1280x1024" QSize(1280, 1024) 60.0197 "226" "1152x864" QSize(1152, 864) 75 "106" "1920x1080" QSize(1920, 1080) 60 "227" "1024x768" QSize(1024, 768) 75.0762 "217" "1024x768" QSize(1024, 768) 60.0038 "228" "800x600" QSize(800, 600) 75 "218" "800x600" QSize(800, 600) 60.3165 "229" "640x480" QSize(640, 480) 75 "230" "640x480" QSize(640, 480) 60 "231" "720x400" QSize(720, 400) 70.0817 "221" "3840x1080" QSize(3840, 1080) 60 "222" "2560x1024" QSize(2560, 1024) 59.999 EDID Info: Device ID: "xrandr-Dell Inc.-DELL P2414H-826953292" Name: "DELL P2414H" Vendor: "Dell Inc." Serial: "826953292" EISA ID: "" Hash: "05197fbc0063ca0ca4905ed3753a82b4" Width: 53 Height: 30 Gamma: 2 Red: QQuaternion(scalar:1, vector:(0.650391, 0.335938, 0)) Green: QQuaternion(scalar:1, vector:(0.320312, 0.613281, 0)) Blue: QQuaternion(scalar:1, vector:(0.154297, 0.0605469, 0)) White: QQuaternion(scalar:1, vector:(0.313477, 0.329102, 0)) While xdpyinfo lists the correct sizes: screen #0: dimensions: 3840x1080 pixels (1016x286 millimeters) resolution: 96x96 dots per inch depths (7): 24, 1, 4, 8, 15, 16, 32 root window id: 0xbe depth of root window: 24 planes number of colormaps: minimum 1, maximum 1 default colormap: 0x42 default number of colormap cells: 256 preallocated pixels: black 0, white 16777215 options: backing-store WHEN MAPPED, save-unders NO largest cursor: 64x64 current input event mask: 0x7ac03f KeyPressMask KeyReleaseMask ButtonPressMask ButtonReleaseMask EnterWindowMask LeaveWindowMask KeymapStateMask ExposureMask StructureNotifyMask SubstructureNotifyMask SubstructureRedirectMask FocusChangeMask PropertyChangeMask number of visuals: 20 default visual id: 0x40 Do I get it right, that the patch provided here is not yet incorporated into the packages available by ubuntu? And would that in consequence mean, that I would have to compile okular locally to use that patch (if it is applicable to my setup)?
I apologize for not updating my results. I found that upgrading to KDE 4.14.0 (via Kubuntu backports) definitively solved this problem for me. Thanks for the suggestion!
Hi, I did that upgrade (using the same way). The problem persists however. Any ideas what I could try?
Another information that might be important (I'm not sure): xrandr --fbmm and --dpi don't do anything. Even running verbose I don't get any information so I assume that nothing is done. Furthermore: it seems like there is only one Monitor detected by my system but the information is spread over both. I'm running this setup on a docking station with the monitors connected to the docking station. but I don't see a second monitor showing up anywhere in my system. Maybe this can explain the issue and maybe anyone got an idea how I can fix this.
Thomas, you mean you have two monitors but kscreen-console outputs only shows one? If so please open a new bug as it has nothing to do with this one.
Yes, I have 2 monitors and yes I notice that none of the display tools shows this. However, xdpyinfo does get the combined width while kscreen/xrandr do not and (until now) it is only okular that shows this issue. I opened a new bug as recommended.