Cannot get widescreen resolution and use multiple monitors in Trisquel 7, like I could in Trisquel 6
Hi! I've happily been using Trisquel (version 6) for about a year now. Yesterday I upgraded to Trisquel 7, and now I have a display issue.
I use a laptop computer with an ATI Mobility Radeon HD 5650 graphics card. As far as I understand, there are no free drivers for AMD cards, but it is possible to use such cards in 'unaccelerated 2D mode'.
In Trisquel 6, if I went to 'System Settings>Details>Graphics', something like this used to be displayed:
Driver: unidentified
Experience: (fallback)
That led me to believe that the graphics card wasn't used at all. That didn't bother me, though, as everything looked beautiful and I could edit text, browse the web and watch video without problems. I could connect an external 1920:1600 screen and get the correct resolution.
In Trisquel 7, 'System Settings>Details>Graphics' now says:
Driver: VESA: MADISON
Standard
I've tried to research the matter, and as far as I understand the VESA driver is a generic last-resort driver. Apparently the VESA driver should have 'bad performance' and 'bad (widesreen) screen resolution support'. I also read something about no multi-monitor support.
The above seems to be true, since in 'System Settings>Displays' there used to be two screen available; one for the laptop screen and one for the external screen. Both were able to use their optimal resolutions. Now, in Trisquel 7, there is only one screen available there, called 'Built-in Display'. There are only three different 4:3 resolutions available for it.
Here is the output of 'xrandr -q':
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 800 x 600, current 1152 x 864, maximum 1152 x 864
default connected primary 1152x864+0+0 0mm x 0mm
1152x864 0.0*
1024x768 61.0
800x600 61.0
'xrandr -q' used to output information about the laptop screen as well as for the HDMI or VGA connected screen, and all optimal screen resolutions used to be there.
So my guess is that in Trisquel 6 the built-in graphics circuits on my motherboard was used instead of the graphics card, and for me this was a better choice.
Am I right that I need to get rid of this VESA driver? If so, how do I do this? If not, have you got any suggestions on how to proceed?
Moreover, I'm interested in if this was an intended change in Trisquel 7. In my opinion, the Trisquel 6 behavior was better, but perhaps that's just for me. Does anyone know?
Thanks for a great operating system!
The ['Trisquel 7.0 does not have amd display driver'][1] thread is very similar to this one:
> > > > My graphic card is amd radeon hd 7470. [...] Trisquel 7.0 [...] has no amd radeon graphic driver.
> > > You can usually use these GPUs in unaccelerated 2-D mode, though.
> > It didn,t display proper resolution.
> If your setup is an Intel CPU with a Radeon card, you can just pull the Radeon card out and use the Intel integrated GPU; this would be the best solution.
I do have an Intel CPU, however I do not want to open up my laptop and physically remove the graphics card, but rather configure my system not to use it. How can I do this?
[1]: https://trisquel.info/en/forum/trisquel-70-does-not-have-amd-display-driver
If it's possible to do so, it would be a BIOS option, but I don't think it usually is.
Opening a laptop up can certainly be intimidating. Just don't pull on anything too forcefully, and take your time. It might also help to do some research, or ask the manufacturer for help.
I have never made any changes to the BIOS on this computer. Since I didn’t have the issue on Trisquel 6, it can’t be a BIOS option, can it?
No, I mean, there might be an option in the BIOS to disable the Radeon card so you don't have to physically remove it. But probably not.
There are near zero laptops with removable graphics cards (unless integrated graphics in the CPU count). Unless you have a 2" thick "gaming" laptop it's integrated on the motherboard and removing it isn't possible.
It's unfortunate, but it might be time for an upgrade. This time around look at systems without AMD ATI and NVIDIA. There is poor to no support in free distributions. You really need to stick to Intel CPUs without NVIDIA or ATI graphics (which then means you'll have Intel graphics essentially).
On the BIOS front I'd be highly doubtful that the BIOS has an option to disable or switch to using the CPU integrated graphics. These options are more common on desktop boards, but if you do change it the OS might not recognize that change anyway. Physical removal is probably required. A configuration change might work too. Off the top of my head I can't think of how to do this. It's not something I'd have had to deal with much at all and definitely not for 10+ years.
Try removing xserver-xorg-video-radeon
Thanks, but that appears to make no difference at all.
I also tried removing xserver-xorg-video-vesa, but then I got no graphical user interface when I rebooted the computer; instead I got straight into some command-line mode. So I re-installed that package.
Does removing xserver-xorg-video-ati work?
It was automatically removed when I removed xserver-xorg-video-radeon.
You have to have *some* driver set and if its detecting that you have a given chip and then you remove the driver for that chip it's not going to work. It's being auto-detected on the fly in modern distributions.
If there was another driver available in 6 and its been removed from the distribution then your not going to be able to go back to it. If it still exists then check the xorg config file in the prior version which did work.
But, as everything is auto-detected on the fly in modern distributions that won't quite work either. I think there is some way to have it create the xorg config file for you though and then it'll probably work. Find those directions, run them, and see what driver is being used in 6. Then do the same for 7 and change the driver to whatever it was in 6.
That said I'm pretty sure this is all going to be a wasted effort..
Thanks for explaining!
I booted Trisquel 6 in live mode from a CD, to compare things with Trisquel 7. The same xserver-xorg-video-* packages were installed (but perhaps using different versions; I didn’t check that). `/etc/modprobe.d/` includes the same files with the same contents. `/etc/X11/xorg.conf{,vesa}` seemed identical too. So none of the things to try that I’ve found when researching—removing packages, blacklisting modules and editing xorg.conf—should make any difference.
My guess is that it just _happened_ to work for me in Trisquel 6. Something probably got updated in Trisquel 7 that now detects my graphics card.
In the end I decided to go back to Trisquel 6. I’ll use that until I feel like getting a new computer.
(I actually had more problems with Trisquel 7, which contributed to this decision: gnome-panel took a long time to appear, running for example `rm somefile` or `gvim .` printed warings or errors, and while upgrading I got a message saying that 'initramfs-tools' couldn’t be installed. But this is off-topic. Just noting. After a few days of trying to fix things I got tired of it, and needed a working computer again.)
For the free software movement it would be a big win if somebody could come up with a way to ignore “bad” graphics cards in favor of better built-in graphics.
Unfortunately, I don't think it's possible to solve this in software.
So you mean that my Radeon card actually *is* used in Trisquel 6—just in a different way? If so, it should be possible to downgrade some package in Trisquel 7 to get the optimal screen resolution, again, shouldn’t it?
I ran into a very similar problem on a laptop and I found that I had to remove the radeon drivers from the kernel module blacklist. Once I did that it loaded everything up the way it used to in Toutatis.
Here's the thread I started about the issue:
https://trisquel.info/en/forum/ati-mobility-x300-trisquel-7
What alucardx said works only for older Radeon cards. For newer ones, you'll have to downgrade something (not the kernel, maybe X.org or libdrm).
Just in case it is useful to someone else:
A few days ago I felt motivated to try out Trisquel 7 again.
This time I tried to do what was suggested in http://trisquel.info/en/forum/trisquel-70-flash-disk-and-amd-raedonlimited-resolution: Commenting the line in /etc/modprobe.d/disable-radeon.conf, run 'sudo update-initramfs -u' and reboot the system. It didn't appear make any difference. But that's not very unexpected either because /etc/modprobe.d/disable-radeon.conf is present on Trisquel 6 as well, with the same contents.
So, the clear things up a bit: It seems like radeon has always been blacklisted for me, both on Trisquel 6 and 7.
In Trisquel 7, I now know for sure that xserver-xorg-video-vesa is being used. I have tried to remove other video driver packages and have not been able to see any difference. By removing xserver-xorg-video-vesa, though, I get no graphical interface after rebooting.
Trisquel 6 and 7 uses different versions of that package:
Trisquel 6: 1:2.3.0-7build2
Trisquel 7: 1:2.3.3-1build1
I tried downloading the Trisquel 6 .deb file and install, but that unsurprisingly didn't work very well. dpkg complained about unmet dependencies. After a reboot I got no graphical interface.
My current idea is to try to recompile the Trisquel 6 version for Trisquel 7.
I recently installed Trisquel 7 on an acer lappy with a radeon 4570. I know there can't be video acceleration and I don't care about it. But the resolution limited to 1024*768 is really annoying!
1366x768 is the native res . I get 1024x768. I tried to solve it. Was reading some old post here and apparently the old vesa driver in trisqul 6 displayed the native resolution. But that changed with the new versions, the point release and the 7.
The radeon driver worked in Trisquel 6, so it supported 1366x768. The
vesa driver supports only modes specified by the VGA BIOS, usually
1024x768 is the largest. (Radeon kernel mode setting works with
pre-R600 cards only, while the X driver requires it in the version used
in Trisquel 7.)
Seems like I confused things after all.
You're right, the radeon driver _is_ used in Trisquel 6. I just tried removing it in Trisquel 6. What happens then is that I get worse screen resolution, and "Details" under System Settings says "VESA MADISON" instead of "fallback".
So my idea of compiling the vesa driver from source is a red herring.
Is there any way of forcing the use of the radeon driver in Trisquel 7? If I'm lucky, it works, if I'm not it doesn't. Would be fun trying out at least. Might it be possible to compile the radeon driver used in Trisquel 6 from source to make it work on Trisquel 7?
See
e.g. https://trisquel.info/en/forum/trisquel-70-flash-disk-and-amd-raedonlimited-resolution
for how to make the radeon kernel module load.
To make it really work, this needs downgrading the driver to a version
with user space modesetting, fixing the current kernel driver to work
without firmware, or replacing that firmware.
What would be the easiest of those three, do you think?
Based on later comments in this thread I can now answer this myself: Downgrade to a version with UMS support.
Have I understood the above correctly?
The radeon driver used in Trisquel 6 supports both UMS and KMS. The version used in Trisquel 7 only supports KMS. The radeon kernel module is disabled in both Trisquel 6 and 7. In Trisquel 6, that means that UMS is used instead of KMS. In Trisquel 7, that means that the radeon driver cannot be used at all, so the VESA driver is used instead.
---
The linked thread suggests un-blacklisting the radeon kernel module. That has worked for some people, but not me. Why? Because of different cards?
What "firmware" are you talking about? Is it something non-free that has been removed from linux-libre?
Trisquel 6 and 7: it's correct. (I think maybe 4.0 had KMS enabled,
4.0.1 disabled it.)
Unblacklisting works on pre-R600 cards. (R600 was released in 2006.)
R600 and some newer cards worked with some kernel versions, but not the
current ones.
The firmware are various blobs included with Linux or linux-firmware
repo. Linux-libre removes them.
Thank you so much for explaining, I really appreciate it!
lydell - debian wheezy that is 7.8 stable with only the main repo (without the non free repositories - so no non-free drivers) works great with my "new" laptop. I see it says on boot "error - non free driver for radeon R600 not loaded" or something like that but when I enter the xfce session the resolution is the native one and it works really fine. Trisquel and ati video cards are a no go..
cheers!
According to https://tracker.debian.org/pkg/xserver-xorg-video-ati, the stable version used in Debian is 1:6.14.4-8 -- that is, basically the same version as Trisquel 6. So it seems like Debian uses older software than Trisquel 7 -- more like Trisquel 6. Then, why not just use Trisquel 6? :)
I think I can finally sum things up here.
Video drivers do something called "mode-setting". There are two ways of doing that: User-space mode-setting (UMS) and Kernel mode-setting (KMS).
KMS is apparently technically superior over UMS. UMS requires _a lot_ of code in the video driver. Therefore, it is tempting to remove UMS, because then there is no need to maintain lots of code that does things worse than things could be.
Between Trisquel 6 and Trisquel 7, UMS support was removed from the radeon driver. Unfortunately, using KMS with newer radeon cards requires proprietary firmware in the kernel (which is of course removed in Trisquel).
Between Trisquel 6 and Trisquel 7, many of the dependencies of the radeon driver were updated as well. That required code to be changed in the video driver. That was of course not done for the UMS code, because it was removed (which was the point of removing it).
Trying to recompile the Trisquel 6 version of the radeon driver (with UMS support) requires updating all that code. For me, that is to big a task. (Perhaps somebody else feels like doing it, but the best option is of course to make KMS for radeon with free software work.)
So, on this computer I'm either going to stay with Trisquel 7 and sub-optimal screen resolution, or I'll switch back to Trisquel 6. When it is not supported any longer this somewhat old laptop will be too old to be used anyway. Luckily I can afford a new computer with hardware that is more free software friendly.