Opened 14 years ago
Last modified 8 years ago
#7751 assigned bug
Workspaces change resolution
Reported by: | DaaT | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Servers/app_server | Version: | R1/alpha3 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
I need for now to use VESA with my laptop. I installed Alpha 3 and when booting I set the resolution to my laptop's native 1366x768. Haiku booted fine in a nice shiny res. But it was only set for the first workspace. Any other workspace was set still to 1024x768. Then, when switching back to the first workspace, it had change the resolution by itself also to 1024x768.
I looked for the VESA config file in boot/home/config/settings/kernel/drivers/vesa but couldn't find it.
Attachments (2)
Change History (26)
comment:1 by , 13 years ago
Component: | Audio & Video → Servers/app_server |
---|---|
Owner: | changed from | to
comment:2 by , 13 years ago
Hi Axel. Sorry about that, I'll try to be more informative this time :)
- Haiku boots automatically in VESA
- The max res I can select from the Screen prefs is 1024x768, not the native 1366x768, don't know why, since it's available in the fail-safe video mode menu at boot
- I created a file named "vesa" with that single line but upon rebooting Haiku came back up still at 1024x768
- I'll get the syslog and attach it ASAP
Cheers.
comment:3 by , 13 years ago
Here's the information from the syslog, when I change from workspace 1 (native resolution) to workspace 2 (1024x768) and back to workspace 1 (now back to 1024x768):
KERN: set MTRRs to:
break
KERN: mtrr: 0: base: 0x0, size: 0x1000, type: 0
break
KERN: mtrr: 1: base: 0xdee80000, size: 0x80000, type: 0
break
KERN: mtrr: 2: base: 0xdef00000, size: 0x100000, type: 0
break
KERN: mtrr: 3: base: 0xf0000000, size: 0x10000000, type: 0
break
KERN: mtrr: 4: base: 0xe0000000, size: 0x20000000, type: 1
break
KERN: remove_memory_type_range(92368, 0x0, 0x1000, 0)
break
KERN: set MTRRs to:
break
KERN: mtrr: 0: base: 0xdee80000, size: 0x80000, type: 0
break
KERN: mtrr: 1: base: 0xdef00000, size: 0x100000, type: 0
break
KERN: mtrr: 2: base: 0xf0000000, size: 0x10000000, type: 0
break
KERN: mtrr: 3: base: 0xe0000000, size: 0x20000000, type: 1
break
KERN: add_memory_type_range(92369, 0xa0000, 0x60000, 0)
break
KERN: set MTRRs to:
break
KERN: mtrr: 0: base: 0xa0000, size: 0x20000, type: 0
break
KERN: mtrr: 1: base: 0xc0000, size: 0x40000, type: 0
break
KERN: mtrr: 2: base: 0xdee80000, size: 0x80000, type: 0
break
KERN: mtrr: 3: base: 0xdef00000, size: 0x100000, type: 0
break
KERN: mtrr: 4: base: 0xf0000000, size: 0x10000000, type: 0
break
KERN: mtrr: 5: base: 0xe0000000, size: 0x20000000, type: 1
break
KERN: remove_memory_type_range(92369, 0xa0000, 0x60000, 0)
break
KERN: set MTRRs to:
break
KERN: mtrr: 0: base: 0xdee80000, size: 0x80000, type: 0
break
KERN: mtrr: 1: base: 0xdef00000, size: 0x100000, type: 0
break
KERN: mtrr: 2: base: 0xf0000000, size: 0x10000000, type: 0
break
KERN: mtrr: 3: base: 0xe0000000, size: 0x20000000, type: 1
break
Hope this helps. By the way, when still in native resolution (in workspace 1), if I go to the screen preflet and try to set that resolution to all workspaces, I get the error "unknown mode".
comment:4 by , 13 years ago
Reminds me of another ticket -- the bootloader's Display Mode List differs from that of the Screen prefs on my setup, maybe it differs on yours too.. Usually that kind of thing would be easy to track down but here it seems to be a regression that occured between 418xx and 42211-Alpha3 despite there being no changes in the bootloader's video.cpp file (not listed in the source browser I mean), so it could be one of those "non-deterministic" gremlins..
comment:5 by , 13 years ago
Thanks, but that doesn't really help - an actual syslog would still be helpful, though, especially the beginning, where the VESA and EDID information is listed.
by , 13 years ago
Attachment: | syslog.zip added |
---|
comment:8 by , 13 years ago
I've seen it mentionned previously that a "raw" syslog is better as it can be seen inline rather than requiring a download like zipped up ones.. So I took the liberty of extracting some stuff from the .zip, hoping it helps.. Here goes -- the VESA chunk at beginning of syslog does list a lot of modes, up to 1920x1240. However things are more odd for the EDID chunk -- it looks weird compared to what I've seen on other tickets, it's 3 lines long only! :
KERN: VESA version = 3.0, capabilities 1 KERN: OEM string: ATI ATOMBIOS KERN: 0x100: 640 x 400 x 8 (a = 187, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x101: 640 x 480 x 8 (a = 187, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x103: 800 x 600 x 8 (a = 187, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x105: 1024 x 768 x 8 (a = 187, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x107: 1280 x 1024 x 8 (a = 186, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x110: 640 x 480 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 10 g: 5 5 b: 5 0 dcmi: 0 KERN: 0x111: 640 x 480 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x113: 800 x 600 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 10 g: 5 5 b: 5 0 dcmi: 0 KERN: 0x114: 800 x 600 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x116: 1024 x 768 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 10 g: 5 5 b: 5 0 dcmi: 0 KERN: 0x117: 1024 x 768 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x119: 1280 x 1024 x 16 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 10 g: 5 5 b: 5 0 dcmi: 0 KERN: 0x11a: 1280 x 1024 x 16 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x10d: 320 x 200 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 10 g: 5 5 b: 5 0 dcmi: 0 KERN: 0x10e: 320 x 200 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x120: 320 x 200 x 32 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x193: 320 x 240 x 8 (a = 187, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x195: 320 x 240 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x196: 320 x 240 x 32 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x1b3: 512 x 384 x 8 (a = 187, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x1b5: 512 x 384 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x1b6: 512 x 384 x 32 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x1c3: 640 x 350 x 8 (a = 187, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x1c5: 640 x 350 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x1c6: 640 x 350 x 32 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x133: 720 x 400 x 8 (a = 187, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x135: 720 x 400 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x136: 720 x 400 x 32 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x153: 1152 x 864 x 8 (a = 186, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x155: 1152 x 864 x 16 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x156: 1152 x 864 x 32 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x163: 1280 x 960 x 8 (a = 186, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x165: 1280 x 960 x 16 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x166: 1280 x 960 x 32 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x121: 640 x 480 x 32 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x122: 800 x 600 x 32 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x123: 1024 x 768 x 32 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x124: 1280 x 1024 x 32 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x143: 1400 x 1050 x 8 (a = 186, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x145: 1400 x 1050 x 16 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x146: 1400 x 1050 x 32 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x173: 1600 x 1200 x 8 (a = 186, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x175: 1600 x 1200 x 16 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x176: 1600 x 1200 x 32 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x183: 1792 x 1344 x 8 (a = 186, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x185: 1792 x 1344 x 16 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x186: 1792 x 1344 x 32 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x1d3: 1856 x 1392 x 8 (a = 186, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x1d5: 1856 x 1392 x 16 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x1d6: 1856 x 1392 x 32 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x1e3: 1920 x 1440 x 8 (a = 186, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x1e5: 1920 x 1440 x 16 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x1e6: 1920 x 1440 x 32 (a = 186, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: 0x1ee: 1366 x 768 x 8 (a = 187, mem = 4, phy = e0000000, p = 1, b = 1) KERN: mask: r: 0 0 g: 0 0 b: 0 0 dcmi: 0 KERN: 0x1ef: 1366 x 768 x 16 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 5 11 g: 6 5 b: 5 0 dcmi: 0 KERN: 0x1f0: 1366 x 768 x 32 (a = 187, mem = 6, phy = e0000000, p = 1, b = 1) KERN: mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0 KERN: Using mode 0x123 KERN: VESA compatible graphics! KERN: EDID1: 4f KERN: EDID2: ebx 102 KERN: EDID3: 34f KERN: Welcome to the Haiku boot loader! KERN: number of drives: 2 KERN: add_partitions_for(0x00105290, mountFS = no)
And later down the syslog..
KERN: 0x00106bf0 Partition::~Partition KERN: user_menu: enter KERN: user_menu: leave KERN: load kernel... KERN: video mode: 1366x768x32 KERN: smp: found 4 cpus KERN: smp: apic_phys = 0xfee00000
I'm helping out on this one as there's a chance that axel fixing your ticket might actually end up also fixing my ticket ;-)
comment:9 by , 13 years ago
Feel free to help :)
The last bit has the native resolution because I selected it from the safe menu at boot. And it is strange that while VESA gives out all those resolutions, when at the screen preflet that highest I can use is 1024x768.
comment:10 by , 13 years ago
Thanks for the syslog. Since hrev42421, one of your problems should be gone, namely, the 1366x768 mode should now be available from the Screen preferences. Since your monitor obviously does not deliver any EDID data, you'll have to set that mode manually, though.
I'll keep this ticket open in any case, since the second problem (ie. app_server ignoring the safe mode on Workspace switch) is still valid. Not sure how to handle this, though, and if the current practice isn't really what would be the preferred way, though (it provides a way to start the system in a preselected resolution, but let's you change it afterwards, resp. falls back to the modes you stored). Opinions welcome.
comment:11 by , 13 years ago
I downloaded the 42421 nightly and installed it, same problem still, no 1366x768 resolution available from the screen preflet and if I choose it at boot time and go to the preflet, when clicking the resolution button I get the "no mode" error (or similar, can't remember the exact msg atm, sorry).
Maybe your 42427 commit helps?
comment:12 by , 13 years ago
Hm, that's rather strange. Are you sure you actually tested hrev42421 or later? Could you run a version of the vesa.accelerant with extra debugging output, and attach a syslog from that run here? I can mail you the accelerant privately.
hrev42427 does not affect you, since your system doesn't have EDID support.
comment:13 by , 13 years ago
Yes, it was 42421 I tested, it's still the latest nightly actually. I can download the next one and try it as well.
In the meantime if you want to e-mail me that specific vesa.accelerant, send it over to daat . teixeira @ gmail . com. Anything in particular I need to do once I have it, or will all the debug info be in the syslog?
comment:14 by , 13 years ago
That 'debug' vesa accelerant might be useful for me too if it logs/TRACE()s its initialization (for my other problem with monitor turning blank when kernel loads up in 640x480x32 and staying blank/switched-off even after app_server starts). If it's not then ignore this comment.. Otherwise my provider is spamcop.net and my email login is degea.
by , 13 years ago
Attachment: | vesa_debug_syslog.zip added |
---|
comment:15 by , 13 years ago
Attached the syslog while using the debug version of the VESA accelerant.
comment:16 by , 13 years ago
Don't zip up the syslog ;-)
@devs: the mode DaaT needs is present in first two lists but not in the last one:
KERN: vesa: vesa_init() completed successfully! KERN: vesa: acc: vesa.accelerant KERN: VESA Initial modes: KERN: 640 x 350 @ 8 KERN: 640 x 350 @ 16 (..) KERN: 1366 x 768 @ 8 KERN: 1366 x 768 @ 16 KERN: 1366 x 768 @ 32 KERN: VESA Add mode: 16727 kHz, (640, 640, 704, 768), (350, 351, 354, 363) KERN: Last message repeated 2 times. KERN: VESA Add mode: 19521 kHz, (640, 648, 712, 784), (400, 401, 404, 415) (..) KERN: VESA Add mode: 85860 kHz, (1368, 1440, 1584, 1800), (768, 769, 772, 795) KERN: Last message repeated 2 times. KERN: VESA Final mode list: KERN: VESA Final mode: 16727 kHz, (640, 640, 704, 768), (350, 351, 354, 363) KERN: VESA Final mode: 25175 kHz, (640, 656, 752, 800), (350, 387, 389, 449) (..) KERN: VESA Final mode: 64108 kHz, (1024, 1080, 1184, 1344), (768, 769, 772, 795) KERN: VESA Final mode: 75000 kHz, (1024, 1048, 1184, 1328), (768, 771, 777, 806) KERN: VESA Final mode: 78750 kHz, (1024, 1040, 1136, 1312), (768, 769, 772, 800) KERN: atheroswifi: init_driver(0x81b048e0) KERN: VESA Final mode: 94500 kHz, (1024, 1072, 1168, 1376), (768, 769, 772, 808)
comment:17 by , 13 years ago
A wag (wild ass guess): maybe 1366 gets filtered out by is_mode_supported() because it differs by 2 from "1368", yet this filter requires an exact match...?
comment:18 by , 13 years ago
Good catch actually, that's indeed the problem here; the timing is different from the actual size. Not sure if that is a good idea in general, and I remember a similar issue with that resolution on some other monitor.
comment:19 by , 13 years ago
Please retry with hrev42454. This time your resolution should be finally available :-)
comment:20 by , 13 years ago
Great news! That one did the trick Axel, native resolution available and changing workspaces don't mess it up either! Thanks.
comment:22 by , 13 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Thanks, but the original problem (Workspaces change resolution) is still present, ie. the app_server does not honor the safe mode settings on workspace switch anymore.
So until we decide how this should be solved (if at all), I would like to keep the ticket open.
comment:24 by , 8 years ago
Owner: | changed from | to
---|---|
Status: | reopened → assigned |
It isn't entirely clear to me what you do:
mode 1366 768 32
in case you want to have the boot logo appear in the correct solution (if supported by the BIOS).