Opened 12 years ago

Closed 12 years ago

#1394 closed bug (fixed)

[radeon] VGA/DVI detection/routing problem (DVI port doesn't work correctly)

Reported by: ul1984 Owned by: euan
Priority: normal Milestone: R1
Component: Drivers/Graphics/radeon Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: x86

Description

PROBLEM: If I'm starting my computer with a monitor connected to the DVI port, at first the black haiku boot up screen will show up correctly, for about 3 seconds, but then the radeon driver will turn off the output on the DVI port, and the monitor goes into sleep(blinking yellow light). If I then connect a monitor to the VGA port, i will get a working haiku system on that monitor.

However if I repeat the boot up, but with a monitor connected to the VGA port, everything will work fine, except that after the haiku boot up screen, it will switch resolution to 800x600, but I can easily go into the Screen settings and change it to the correct 1280x1024.

So in essence the DVI port isn't usable.

However, the curious thing is looking at the syslog in both cases, it looks as if when booting while connected to the DVI port, the radeon driver will correctly read EDID data from the monitor (starting at line 1291, syslogDVI.txt), which it wont do booting connected to the VGA port.

NOTES: Haiku hrev21911, built from svn and installed from Ubuntu using dd/makebootable

nForce3 250Gb motherboard 1.6GHz Athlon64 Sempron graphics card: Radeon 9600

vendor 1002: ATI Technologies Inc device 4150: RV350 AP [Radeon 9600]

I have attached syslogs and listdev output.

Attachments (4)

listdev.txt (2.7 KB ) - added by ul1984 12 years ago.
listdev output
syslogDVI.txt (74.5 KB ) - added by ul1984 12 years ago.
syslog output, while starting Haiku connected to a DVI monitor
syslogVGA.txt (74.4 KB ) - added by ul1984 12 years ago.
syslog output, while starting Haiku connected to a VGA monitor
syslogDVI_afterpatch.txt (74.6 KB ) - added by ul1984 12 years ago.
syslog, from the first boot after installation, while connected to DVI

Download all attachments as: .zip

Change History (12)

by ul1984, 12 years ago

Attachment: listdev.txt added

listdev output

by ul1984, 12 years ago

Attachment: syslogDVI.txt added

syslog output, while starting Haiku connected to a DVI monitor

by ul1984, 12 years ago

Attachment: syslogVGA.txt added

syslog output, while starting Haiku connected to a VGA monitor

comment:1 by ul1984, 12 years ago

Platform: Allx86

comment:2 by euan, 12 years ago

Status: newassigned

Can you apply the patch from http://dev.haiku-os.org/ticket/1293 and see if it makes any difference. Thanks

comment:3 by ul1984, 12 years ago

Sure, I have applied the patch, and I'm happy to say DVI now works!

However, just as it did before when I tested it on the VGA port, it will switch to 800x600 after the black Haiku boot up screen. The actual boot screen is in the correct resolution 1280x1024, even on the very first boot. (But i think this is a very small problem, since after setting the correct resolution in Screen settings, it will work correctly on subsequent boots.)

(I can also verify that VGA still works just the same as before, after the patch, and dual screen mode works as well)

by ul1984, 12 years ago

Attachment: syslogDVI_afterpatch.txt added

syslog, from the first boot after installation, while connected to DVI

comment:4 by euan, 12 years ago

Thanks!

Please post a syslog of the DVI connected so I can check it's working as expected, then be merrily on your way. :)

I also have the screen default to 800x600 at start up. I believe this to be an app_server bug, however haven't investigated. Perhaps another ticket should be created for this?

The reason why the boot screen resolution is correct, is that it uses VESA mode, and checks the monitor's EDID (DDC) data for the best resolution. Then the app_server comes along at does a "PROPOSE_MODE" for 800x600. Perhaps the app_server doesn't save it's settings? It could also be the radeon driver, but I wouldn't think so.

I still have some work to do on the patch for the other ticket so leave I'll leave this bug open until the changes are complete and the patch committed.

comment:5 by euan, 12 years ago

Thanks for the after patch syslog!

comment:6 by stippi, 12 years ago

The issue with the app_server is known, though you can of course open a ticket if you like. The reason for switching to 800x600 is that app_server does not have a settings file yet on a fresh image and will switch to the built-in "default" resolution. Some way of communicating the edid resolution to the app_server should be invented. I'm thinking maybe putting the mode first in the list returned by the accelerant should be enough, but maybe it is not that simple.

I'm happy to hear your patch is working nicely, btw!

comment:7 by ul1984, 12 years ago

Ah, very interesting. I'm glad you already knew about it. Sorry i created a separate ticket for this, should have found the other ticket.

Thanks a lot for the quick bug fix and response!

Let me know if you need more information/testing, would be happy to help. Joel

comment:8 by axeld, 12 years ago

Resolution: fixed
Status: assignedclosed

Fixed with hrev21930.

Note: See TracTickets for help on using tickets.