I've been using the atmega1284 without issue (you like I did got the atmega1284-PU, not the atmega1284P-PU - Note that the PU specifies a DIP package and is nothing to do with the device).
All I had to do is to find the definition for ATmega1284P (just using CTRL-F), and change the signature to:
signature = 0x1e 0x97 0x06;
Then I used the IDE to burn a version of optiboot bootloader compiled for the mega1284p
Then once the bootloader was burned I changed the signature back to:
signature = 0x1e 0x97 0x05;
It works a treat for me.
If you let me know what clock frequency you plan to use, I will compile an optiboot hex file for you. Note that the version I modified uses UART1 for programming.