[SOLVED] Problem setting up AMD graphics on HP Envy m6-1105dx laptop
Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Problem setting up AMD graphics on HP Envy m6-1105dx laptop
I successfully built LFS/BLFS on a desktop with nvidia graphics. Rather than rebuild LFS/BLFS on my HP Envy laptop with an AMD HD 7660G graphics card, I copied the desktop image over to my laptop using Clonezilla. Then from a chroot environment (using Fedora as a host), I recompiled the kernel with support for the various laptop components. Since AMD no longer supports their proprietary driver, I compiled support for the open source AMD GPU. Based on the BLFS book, you also have to include DRI. There is also a radeon option in "make menuconfig". However, if I include the radeon module, the laptop freezes on boot. Therefore, it seems to require the AMD (not radeon) kernel module. I also recompiled all of chapter VI in BLFS, including the xf86-video-ati-7.70.tar.bz2 driver. It appears, though, that this driver is not used, since, if I delete it, the outcome is the same.
The laptop boots up. The graphical boot environment with lxdm works, and I can login to xfce4. All of the components work, including sound and wifi. It correctly detected the resolution as 1366x768. There are no pixel anomalies and font distortions.
The problem is, I cannot dim the LCD screen from the power manager applet. I included all of the back light LCD options in the kernel config.
My hunch is that Kernel Mode Setting (KMS) is not being loaded on boot. The kernel version is 4.7.4. My boot process has a vmlinuz file as well as a initramfs file made with the BLFS initramfs Bash script. The grub version is the latest in the BLFS book.
Based on past experience, setting up AMD graphics is extremely difficult. On the other hand, setting up nvidia graphics is ridiculously easy. Short of getting an nvidia laptop, I am stuck with it.
If anyone has set up LFS on a laptop with AMD graphics, I would appreciate some insight.
Last edited by plasmonics; 09-18-2016 at 06:37 PM.
AMD graphics requires firmware. Did you check dmesg for any missing firmware hints? If the driver is built into kernel, then the firmware needs to be builtin, too (see BLFS Xorg ATI Driver instructions).
If you are still unable to get it to work, post your "dmesg" output and "/var/log/Xorg.0.log" (or ~/.local/share/xorg/Xorg.0.log on systemd systems) contents, so someone could assist you further.
Krejzi put me on the right track. AMD gpu needs extra firmware. I downloaded the firmware from Gentoo. Then using the Gentoo radeon wiki as a guide, I saw that my gpu uses ARUBA and TAHITI firmware. The wiki shows how to include extra firmware inside menuconfig. Now the LCD dimming works from the power manager applet.
One problem remains. glxinfo gives the following error
Code:
name of display: :0.0
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 154 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 35
Current serial number in output stream: 36
Does this mean I have to recompile elfutils, libva, llvm, and Mesa?
Krejzi put me on the right track. AMD gpu needs extra firmware. I downloaded the firmware from Gentoo. Then using the Gentoo radeon wiki as a guide, I saw that my gpu uses ARUBA and TAHITI firmware. The wiki shows how to include extra firmware inside menuconfig. Now the LCD dimming works from the power manager applet.
One problem remains. glxinfo gives the following error
Code:
name of display: :0.0
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 154 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 35
Current serial number in output stream: 36
Does this mean I have to recompile elfutils, libva, llvm, and Mesa?
I don't know what it means, but you should report a bug upstream. You don't need llvm, your GPU should use r600, and that driver requires neither llvm nor elfutils.
I don't know what it means, but you should report a bug upstream. You don't need llvm, your GPU should use r600, and that driver requires neither llvm nor elfutils.
This is what you said: "You don't need llvm, your GPU should use r600, and that driver requires neither llvm nor elfutils." And that is not correct.
You could say: "r600 requires both llvm and elfutils by default. However you can change this by applying the following changes ..." And this would be correct.
This is what you said: "You don't need llvm, your GPU should use r600, and that driver requires neither llvm nor elfutils." And that is not correct.
You could say: "r600 requires both llvm and elfutils by default. However you can change this by applying the following changes ..." And this would be correct.
.
That's incorrect. It's required by llvmpipe, swr, radeonsi, r300 *and* r600 but *only* if --enable-r600-llvm-compiler has been passed, which no one sane should do.
See that under r600 check, llvm isn't required (no gallium_require_llvm/radeon_llvm_check calls like for r300 and radeonsi). r600 only needs llvm if you enable open source OpenCL, which blfs doesn't even support building, as it requires additional, unreleased dependencies and is disabled by default.
That's incorrect. It's required by llvmpipe, swr, radeonsi, r300 *and* r600 but *only* if --enable-r600-llvm-compiler has been passed, which no one sane should do.
See that under r600 check, llvm isn't required (no gallium_require_llvm/radeon_llvm_check calls like for r300 and radeonsi). r600 only needs llvm if you enable open source OpenCL, which blfs doesn't even support building, as it requires additional, unreleased dependencies and is disabled by default.
So you found a bug in the LFS book. Don't forget to file it !
So you found a bug in the LFS book. Don't forget to file it !
.
I used to maintain mesa and friends in the past, but people who think know better than upstream developers liked to philosophise and come up with wrong statements. Which is why you get what you get now.
I used to maintain mesa and friends in the past, but people who think know better than upstream developers liked to philosophise and come up with wrong statements. Which is why you get what you get now.
Unfortunately, it looks that I am one of the "people who think know better than upstream developers". The llvm support is enabled by default in my distro (4MLinux). Also in Debian, Slackware, Fedora, ...
Unfortunately, it looks that I am one of the "people who think know better than upstream developers". The llvm support is enabled by default in my distro (4MLinux). Also in Debian, Slackware, Fedora, ...
Yes, because distros ship all drivers, and as already stated several times, llvm is required for r300 and radeonsi.
Following up on this, I examined Fedora's kernel config file. They did not compile extra firmware for R600, Tahiti, and Aruba. Yet the same GPU I mentioned at the start of the thread works perfectly. LCD dimming works, and glxinfo and glxgears show no errors. Glxinfo shows that the driver is Gallium. Also their /etc/X11/xorg.conf.d directory is empty and /usr/share/X11/xorg.conf.d directory just has keyboard and synaptics files, no gpu files.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.